Dev #2

Merged
sandrodach merged 37 commits from dev into main 2026-10-25 12:14:23 +01:00
2 changed files with 20 additions and 21 deletions
Showing only changes of commit 275442e9e2 - Show all commits

No files matched your search

+20 -7
View File
@@ -101,6 +101,7 @@ export const App: React.FC = () => {
const [deck, setDeck] = useState<Thought[]>([]); const [deck, setDeck] = useState<Thought[]>([]);
const [lists, setLists] = useState<SharedList[]>([]); const [lists, setLists] = useState<SharedList[]>([]);
const [activeTab, setActiveTab] = useState<ActiveTab>('triage'); const [activeTab, setActiveTab] = useState<ActiveTab>('triage');
const [previousTab, setPreviousTab] = useState<ActiveTab>('triage');
const [selectedDocId, setSelectedDocId] = useState<string | null>(null); const [selectedDocId, setSelectedDocId] = useState<string | null>(null);
const [captureFocusCount, setCaptureFocusCount] = useState(0); const [captureFocusCount, setCaptureFocusCount] = useState(0);
const [refreshRevision, setRefreshRevision] = useState(0); const [refreshRevision, setRefreshRevision] = useState(0);
@@ -109,6 +110,13 @@ export const App: React.FC = () => {
const [showProfileMenu, setShowProfileMenu] = useState(false); const [showProfileMenu, setShowProfileMenu] = useState(false);
const dropdownRef = useRef<HTMLDivElement | null>(null); const dropdownRef = useRef<HTMLDivElement | null>(null);
const handleOpenHelp = () => {
triggerHaptic(10);
setPreviousTab((prev) => (activeTab === 'help' ? prev : activeTab));
setActiveTab('help');
setShowProfileMenu(false);
};
const handleChangeTheme = (themeId: ThemeId) => { const handleChangeTheme = (themeId: ThemeId) => {
triggerHaptic(10); triggerHaptic(10);
applyTheme(themeId); applyTheme(themeId);
@@ -379,11 +387,7 @@ export const App: React.FC = () => {
</button> </button>
<button <button
onClick={() => { onClick={handleOpenHelp}
triggerHaptic(10);
setShowProfileMenu(false);
setActiveTab('help');
}}
className={`w-full px-3.5 py-2.5 text-left flex items-center gap-2.5 hover:bg-panel-elevated transition-colors ${ className={`w-full px-3.5 py-2.5 text-left flex items-center gap-2.5 hover:bg-panel-elevated transition-colors ${
activeTab === 'help' ? 'text-accent font-semibold' : 'text-main' activeTab === 'help' ? 'text-accent font-semibold' : 'text-main'
}`} }`}
@@ -424,6 +428,16 @@ export const App: React.FC = () => {
</div> </div>
)} )}
</div> </div>
{/* Circled Question Mark Help Button (Rechtsbündig) */}
<button
type="button"
onClick={handleOpenHelp}
className="w-7 h-7 rounded-full border border-border hover:border-strong bg-panel hover:bg-panel-elevated text-muted hover:text-main flex items-center justify-center transition-colors flex-shrink-0"
title="Hilfe & Dokumentation"
>
<HelpCircle className="w-4 h-4 text-muted hover:text-main" />
</button>
</div> </div>
{/* Navigation tabs attached to header */} {/* Navigation tabs attached to header */}
@@ -533,12 +547,11 @@ export const App: React.FC = () => {
<WorkspaceView <WorkspaceView
initialDocId={selectedDocId} initialDocId={selectedDocId}
onStatsChange={refreshAll} onStatsChange={refreshAll}
onOpenHelp={() => setActiveTab('help')}
/> />
)} )}
{activeTab === 'help' && ( {activeTab === 'help' && (
<HelpView onBack={() => setActiveTab('workspace')} /> <HelpView onBack={() => setActiveTab(previousTab || 'triage')} />
)} )}
{activeTab === 'lists' && ( {activeTab === 'lists' && (
@@ -46,7 +46,6 @@ import { api, triggerHaptic } from '../../lib/api';
interface WorkspaceViewProps { interface WorkspaceViewProps {
initialDocId?: string | null; initialDocId?: string | null;
onStatsChange: () => void; onStatsChange: () => void;
onOpenHelp?: () => void;
} }
const ICONS = ['📄', '📝', '💡', '🚀', '🏡', '⚡', '🎯', '🍕', '🛠️', '🧠', '🔥', '🏔️', '📦', '📑', '⚙️', '📊']; const ICONS = ['📄', '📝', '💡', '🚀', '🏡', '⚡', '🎯', '🍕', '🛠️', '🧠', '🔥', '🏔️', '📦', '📑', '⚙️', '📊'];
@@ -82,7 +81,6 @@ const SLASH_COMMANDS: SlashCommandItem[] = [
export const WorkspaceView: React.FC<WorkspaceViewProps> = ({ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
initialDocId, initialDocId,
onStatsChange, onStatsChange,
onOpenHelp,
}) => { }) => {
// Top Workspace Tab Mode: 'editor' vs 'todos' (Global To-Do Rollup Dashboard) // Top Workspace Tab Mode: 'editor' vs 'todos' (Global To-Do Rollup Dashboard)
const [workspaceMode, setWorkspaceMode] = useState<'editor' | 'todos'>('editor'); const [workspaceMode, setWorkspaceMode] = useState<'editor' | 'todos'>('editor');
@@ -1066,18 +1064,6 @@ export const WorkspaceView: React.FC<WorkspaceViewProps> = ({
</button> </button>
</> </>
)} )}
{onOpenHelp && (
<button
type="button"
onClick={onOpenHelp}
className="btn-action h-8 px-2.5 text-xs flex items-center gap-1.5"
title="Hilfe & Dokumentation öffnen"
>
<HelpCircle className="w-3.5 h-3.5 text-accent" />
<span>Hilfe</span>
</button>
)}
</div> </div>
</div> </div>