diff options
Diffstat (limited to 'packages/desktop/src/components/session-list.tsx')
| -rw-r--r-- | packages/desktop/src/components/session-list.tsx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/desktop/src/components/session-list.tsx b/packages/desktop/src/components/session-list.tsx new file mode 100644 index 000000000..e0819780d --- /dev/null +++ b/packages/desktop/src/components/session-list.tsx @@ -0,0 +1,28 @@ +import { useSync, useLocal } from "@/context" +import { Button, Tooltip } from "@/ui" +import { VList } from "virtua/solid" + +export default function SessionList() { + const sync = useSync() + const local = useLocal() + + return ( + <VList data={sync.data.session} class="p-2"> + {(session) => ( + <Tooltip placement="right" value={session.title} class="w-full min-w-0"> + <Button + size="sm" + variant="ghost" + classList={{ + "w-full min-w-0 py-1 text-left truncate justify-start text-text-muted text-xs": true, + "text-text!": local.session.active()?.id === session.id, + }} + onClick={() => local.session.setActive(session.id)} + > + <span class="truncate">{session.title}</span> + </Button> + </Tooltip> + )} + </VList> + ) +} |
