{toasts.map((toast) => (
-
dismissToast(toast.id)}
+ aria-label={`Dismiss notification: ${toast.message}`}
+ title="Dismiss"
style={{
- pointerEvents: 'auto',
- backgroundColor: 'var(--bg-elevated)',
- color: 'var(--text-primary)',
- border: '1px solid var(--border-default)',
- borderRadius: '6px',
- padding: 'var(--space-2) var(--space-3)',
- fontSize: '13px',
- boxShadow: '0 4px 12px rgba(0, 0, 0, 0.3)',
- maxWidth: '320px',
+ appearance: "none",
+ pointerEvents: "auto",
+ cursor: "pointer",
+ backgroundColor: "var(--bg-elevated)",
+ color: "var(--text-primary)",
+ border: "1px solid var(--border-default)",
+ borderRadius: "6px",
+ padding: "var(--space-2) var(--space-3)",
+ fontSize: "13px",
+ font: "inherit",
+ textAlign: "left",
+ boxShadow: "0 4px 12px rgba(0, 0, 0, 0.3)",
+ maxWidth: "320px",
}}
>
{toast.message}
-
+
))}
);
diff --git a/src/features/workspace/store.ts b/src/features/workspace/store.ts
index 091641b..1687562 100644
--- a/src/features/workspace/store.ts
+++ b/src/features/workspace/store.ts
@@ -3,6 +3,7 @@ import { commands } from '../../generated/bindings';
import type { WorkspaceInfo, Note } from '../../generated/bindings';
import { useSearchStore } from '../search/store';
import { useTabStore } from '../tabs/store';
+import { withTimeout } from '../../lib/withTimeout';
/** Workspace state for tracking the active workspace context. */
interface WorkspaceState {
@@ -91,13 +92,21 @@ export const useWorkspaceStore = create