diff --git a/src/components/instance-tabs.tsx b/src/components/instance-tabs.tsx index 4fe8c7a1..68fcf18c 100644 --- a/src/components/instance-tabs.tsx +++ b/src/components/instance-tabs.tsx @@ -18,15 +18,18 @@ const InstanceTabs: Component = (props) => {
- - {([id, instance]) => ( - props.onSelect(id)} - onClose={() => props.onClose(id)} - /> - )} + + {(id) => { + const instance = props.instances.get(id) + return ( + props.onSelect(id)} + onClose={() => props.onClose(id)} + /> + ) + }}
- 1}> + 1}>
= (props) => { }) const sessionSections = createMemo(() => { - const parentItems: SessionListItem[] = [] - const childItems: SessionListItem[] = [] + const parentIds: string[] = [] + const childIds: string[] = [] for (const [id, session] of props.sessions.entries()) { - const item: SessionListItem = { - id, - title: session.title || "Untitled", - isActive: id === props.activeSessionId, - isParent: session.parentId === null, - onSelect: () => props.onSelect(id), - onClose: session.parentId === null ? () => props.onClose(id) : undefined, - } - if (session.parentId === null) { - parentItems.push(item) + parentIds.push(id) } else { - childItems.push(item) + childIds.push(id) } } - childItems.sort((a, b) => { - const sessionA = props.sessions.get(a.id) - const sessionB = props.sessions.get(b.id) + childIds.sort((a, b) => { + const sessionA = props.sessions.get(a) + const sessionB = props.sessions.get(b) if (!sessionA || !sessionB) return 0 return sessionB.time.updated - sessionA.time.updated }) - parentItems.push({ - id: "info", - title: "Info", - isSpecial: true, - isActive: props.activeSessionId === "info", - onSelect: () => props.onSelect("info"), - }) - - return { parentItems, childItems } + parentIds.push("info") + return { parentIds, childIds } }) return ( @@ -221,30 +205,48 @@ const SessionList: Component = (props) => {
User Session & Info
- - {(item) => ( -
- +
+ ) + } - {item.title} + const session = props.sessions.get(id) + if (!session) return null - + return ( +
+ -
- )} + +
+ ) + }}
- 0}> + 0}>
Agent Sessions
- - {(item) => ( -
- -
- )} + return ( +
+ +
+ ) + }}