import { Dialog } from "@kobalte/core/dialog" import { For, Show, createEffect, createMemo, type Component } from "solid-js" import { Globe, Square } from "lucide-solid" import { useI18n } from "../lib/i18n" import { ensureSidecarsLoaded, sidecars, sidecarsLoading } from "../stores/sidecars" interface SideCarPickerDialogProps { open: boolean onClose: () => void onOpenSidecar: (sidecarId: string) => void | Promise } export const SideCarPickerDialog: Component = (props) => { const { t } = useI18n() const orderedSidecars = createMemo(() => Array.from(sidecars().values()).sort((a, b) => a.name.localeCompare(b.name))) createEffect(() => { if (props.open) { void ensureSidecarsLoaded() } }) return ( !open && props.onClose()}>
{t("sidecars.picker.title")} {t("sidecars.picker.subtitle")}
{t("sidecars.picker.loading")}
}> 0} fallback={
{t("sidecars.picker.empty")}
}> {(sidecar) => ( )}
) }