import { For } from 'solid-js' import { useSelector } from '@tanstack/solid-store' import clsx from 'clsx' import { useStyles } from '../styles/use-styles' import { UTIL_GROUPS } from './util-groups' import type { StateKey } from './util-groups' type UtilListProps = { selectedKey: () => string | null setSelectedKey: (key: string | null) => void utilState: () => Record> } export function UtilList(props: UtilListProps) { const styles = useStyles() return (
{(group) => ( <> {props.utilState()[group.key].length > 0 && (
{group.label}
{(instance) => { const status = (() => { try { const statusAccessor = useSelector( instance.store, (s: any) => s.status, ) return () => statusAccessor() ?? 'unknown' } catch { return () => 'unknown' } })() return (
props.setSelectedKey(instance.key ?? null) } >
{instance.key}
{status()}
) }}
)} )}
) }