/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/web/src/components/share/content-bash.tsx
67 строк
2 KB
Aiden Cline
refactor(core): remove shell description input (#32823)
23 июн 2026, 05:18
Не верифицирован
23 июн 2026, 05:18
d29f5eb
Код
Авторство
О чём код?
import style from "./content-bash.module.css" import { createResource, createSignal } from "solid-js" import { createOverflow, useShareMessages } from "./common" import { codeToHtml } from "shiki" interface Props { command: string output: string expand?: boolean } export function ContentBash(props: Props) { const messages = useShareMessages() const [commandHtml] = createResource( () => props.command, async (command) => { return codeToHtml(command || "", { lang: "bash", themes: { light: "github-light", dark: "github-dark", }, }) }, ) const [outputHtml] = createResource( () => props.output, async (output) => { return codeToHtml(output || "", { lang: "console", themes: { light: "github-light", dark: "github-dark", }, }) }, ) const [expanded, setExpanded] = createSignal(false) const overflow = createOverflow() return ( <div class={style.root} data-expanded={expanded() || props.expand === true ? true : undefined}> <div data-slot="body"> <div data-slot="header"> <span>Shell</span> </div> <div data-slot="content"> <div innerHTML={commandHtml()} /> <div data-slot="output" ref={overflow.ref} innerHTML={outputHtml()} /> </div> </div> {!props.expand && overflow.status && ( <button type="button" data-component="text-button" data-slot="expand-button" onClick={() => setExpanded((e) => !e)} > {expanded() ? messages.show_less : messages.show_more} </button> )} </div> ) }