From 275442e9e28f4f31b38e8b11e4048bb9c533d829 Mon Sep 17 00:00:00 2001 From: Sandro Date: Sun, 25 Oct 2026 01:19:16 +0200 Subject: [PATCH] feat(ui): add circled question mark help button in top header rechtsbuendig --- frontend/src/App.tsx | 27 ++++++++++++++----- .../src/features/workspace/WorkspaceView.tsx | 14 ---------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index e0f7913..4559960 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -101,6 +101,7 @@ export const App: React.FC = () => { const [deck, setDeck] = useState([]); const [lists, setLists] = useState([]); const [activeTab, setActiveTab] = useState('triage'); + const [previousTab, setPreviousTab] = useState('triage'); const [selectedDocId, setSelectedDocId] = useState(null); const [captureFocusCount, setCaptureFocusCount] = useState(0); const [refreshRevision, setRefreshRevision] = useState(0); @@ -109,6 +110,13 @@ export const App: React.FC = () => { const [showProfileMenu, setShowProfileMenu] = useState(false); const dropdownRef = useRef(null); + const handleOpenHelp = () => { + triggerHaptic(10); + setPreviousTab((prev) => (activeTab === 'help' ? prev : activeTab)); + setActiveTab('help'); + setShowProfileMenu(false); + }; + const handleChangeTheme = (themeId: ThemeId) => { triggerHaptic(10); applyTheme(themeId); @@ -379,11 +387,7 @@ export const App: React.FC = () => { {/* Navigation tabs attached to header */} @@ -533,12 +547,11 @@ export const App: React.FC = () => { setActiveTab('help')} /> )} {activeTab === 'help' && ( - setActiveTab('workspace')} /> + setActiveTab(previousTab || 'triage')} /> )} {activeTab === 'lists' && ( diff --git a/frontend/src/features/workspace/WorkspaceView.tsx b/frontend/src/features/workspace/WorkspaceView.tsx index 2cf88b3..23e7cb4 100644 --- a/frontend/src/features/workspace/WorkspaceView.tsx +++ b/frontend/src/features/workspace/WorkspaceView.tsx @@ -46,7 +46,6 @@ import { api, triggerHaptic } from '../../lib/api'; interface WorkspaceViewProps { initialDocId?: string | null; onStatsChange: () => void; - onOpenHelp?: () => void; } const ICONS = ['๐Ÿ“„', '๐Ÿ“', '๐Ÿ’ก', '๐Ÿš€', '๐Ÿก', 'โšก', '๐ŸŽฏ', '๐Ÿ•', '๐Ÿ› ๏ธ', '๐Ÿง ', '๐Ÿ”ฅ', '๐Ÿ”๏ธ', '๐Ÿ“ฆ', '๐Ÿ“‘', 'โš™๏ธ', '๐Ÿ“Š']; @@ -82,7 +81,6 @@ const SLASH_COMMANDS: SlashCommandItem[] = [ export const WorkspaceView: React.FC = ({ initialDocId, onStatsChange, - onOpenHelp, }) => { // Top Workspace Tab Mode: 'editor' vs 'todos' (Global To-Do Rollup Dashboard) const [workspaceMode, setWorkspaceMode] = useState<'editor' | 'todos'>('editor'); @@ -1066,18 +1064,6 @@ export const WorkspaceView: React.FC = ({ )} - - {onOpenHelp && ( - - )}