import { For, Show, createMemo } from "solid-js" import { createStore } from "solid-js/store" import { Button } from "@opencode-ai/ui/button" import { DockTray } from "@opencode-ai/ui/dock-surface" import { IconButton } from "@opencode-ai/ui/icon-button" import { useLanguage } from "@/context/language" export function SessionRevertDock(props: { items: { id: string; text: string }[] restoring?: string onRestore: (id: string) => void }) { const language = useLanguage() const [store, setStore] = createStore({ collapsed: false, }) const toggle = () => setStore("collapsed", (value) => !value) const total = createMemo(() => props.items.length) const label = createMemo(() => language.t(total() === 1 ? "session.revertDock.summary.one" : "session.revertDock.summary.other", { count: total(), }), ) const preview = createMemo(() => props.items[0]?.text ?? "") return (
{ if (event.key !== "Enter" && event.key !== " ") return event.preventDefault() toggle() }} > {label()} {preview()}
{ event.preventDefault() event.stopPropagation() }} onClick={(event) => { event.stopPropagation() toggle() }} aria-label={ store.collapsed ? language.t("session.revertDock.expand") : language.t("session.revertDock.collapse") } />