diff --git a/packages/terminal/app/page.tsx b/packages/terminal/app/page.tsx index 83143d0..846b76f 100644 --- a/packages/terminal/app/page.tsx +++ b/packages/terminal/app/page.tsx @@ -27,6 +27,7 @@ const Page = () => { const [tabId, setTabId] = useState(0); const [userTabs, setUserTabs] = useState([]); + const [tabTitles, setTabTitles] = useState<{ [key: number]: string }>({}); const createTab = useCallback(() => { let newTabId = (_.max(userTabs.map((t) => t.tabId)) || 0) + 1; @@ -46,6 +47,10 @@ const Page = () => { }, ].sort((a, b) => a.tabId - b.tabId), ); + setTabTitles((prevTabTitles) => ({ + ...prevTabTitles, + [newTabId]: `Tab ${newTabId}`, + })); setTabId(newTabId); }, [userTabs, config]); @@ -58,6 +63,11 @@ const Page = () => { setUserTabs(newTabs); setTabId(_.max(newTabs.map((t) => t.tabId)) || 0); } + setTabTitles((prevTabTitles) => { + const newTabTitles = { ...prevTabTitles }; + delete newTabTitles[targetTabId]; + return newTabTitles; + }); }, [userTabs], ); @@ -189,6 +199,7 @@ const Page = () => { tabId: 1, }, ]); + setTabTitles({ 1: 'Tab 1' }); } }, [loading, config, userTabs]); @@ -234,7 +245,7 @@ const Page = () => { setTabId(userTab.tabId); }} > - {userTab.tabId} + {tabTitles[userTab.tabId] || userTab.tabId} {userTab.tabId === tabId && (