From 635112b499fc1e771db76244c1929ce977643e85 Mon Sep 17 00:00:00 2001 From: lucaronin Date: Tue, 24 Feb 2026 00:09:19 +0100 Subject: [PATCH] fix: remove broken Create New Vault button + update tests --- src/App.tsx | 23 ++--------------------- src/components/StatusBar.test.tsx | 22 +--------------------- src/components/StatusBar.tsx | 26 ++++---------------------- 3 files changed, 7 insertions(+), 64 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 5f7554ff..d075df13 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -18,13 +18,9 @@ import { useCommitFlow } from './hooks/useCommitFlow' import { useAppKeyboard } from './hooks/useAppKeyboard' import { useViewMode } from './hooks/useViewMode' import { useEntryActions } from './hooks/useEntryActions' -import { invoke } from '@tauri-apps/api/core' -import { isTauri, mockInvoke } from './mock-tauri' +import { isTauri } from './mock-tauri' import { pickFolder } from './utils/vault-dialog' -function tauriCall(command: string, args: Record): Promise { - return isTauri() ? invoke(command, args) : mockInvoke(command, args) -} import { useKeyboardNavigation } from './hooks/useKeyboardNavigation' import { useUpdater } from './hooks/useUpdater' import { UpdateBanner } from './components/UpdateBanner' @@ -153,21 +149,6 @@ function App() { } }, [addAndSwitchVault]) - const handleCreateNewVault = useCallback(async () => { - try { - const name = prompt('New vault name:') - if (!name) return - const parentDir = await pickFolder('Choose location for new vault') - if (!parentDir) return - const fullPath = `${parentDir}/${name}` - await tauriCall('create_vault_dir', { path: fullPath }) - addAndSwitchVault(fullPath, name) - setToastMessage(`Vault "${name}" created`) - } catch (err) { - console.error('Failed to create vault:', err) - setToastMessage(`Failed to create vault: ${err}`) - } - }, [addAndSwitchVault]) useEffect(() => { if (!notes.activeTabPath) { setGitHistory([]); return } @@ -267,7 +248,7 @@ function App() { /> - setShowSettings(true)} onOpenLocalFolder={handleOpenLocalFolder} onCreateNewVault={handleCreateNewVault} onConnectGitHub={() => setShowGitHubVault(true)} hasGitHub={!!settings.github_token} /> + setShowSettings(true)} onOpenLocalFolder={handleOpenLocalFolder} onConnectGitHub={() => setShowGitHubVault(true)} hasGitHub={!!settings.github_token} /> setToastMessage(null)} /> setShowQuickOpen(false)} /> setShowCreateTypeDialog(false)} onCreate={handleCreateType} /> diff --git a/src/components/StatusBar.test.tsx b/src/components/StatusBar.test.tsx index 06664716..b19faedc 100644 --- a/src/components/StatusBar.test.tsx +++ b/src/components/StatusBar.test.tsx @@ -92,25 +92,7 @@ describe('StatusBar', () => { expect(onOpenLocalFolder).toHaveBeenCalledOnce() }) - it('shows "Create new vault" option in vault menu', () => { - render( - - ) - fireEvent.click(screen.getByTitle('Switch vault')) - expect(screen.getByText('Create new vault')).toBeInTheDocument() - }) - - it('calls onCreateNewVault when clicking "Create new vault"', () => { - const onCreateNewVault = vi.fn() - render( - - ) - fireEvent.click(screen.getByTitle('Switch vault')) - fireEvent.click(screen.getByText('Create new vault')) - expect(onCreateNewVault).toHaveBeenCalledOnce() - }) - - it('shows all three add-vault options together', () => { + it('shows add-vault options in vault menu', () => { render( { vaults={vaults} onSwitchVault={vi.fn()} onOpenLocalFolder={vi.fn()} - onCreateNewVault={vi.fn()} onConnectGitHub={vi.fn()} /> ) fireEvent.click(screen.getByTitle('Switch vault')) expect(screen.getByText('Open local folder')).toBeInTheDocument() - expect(screen.getByText('Create new vault')).toBeInTheDocument() expect(screen.getByText('Connect GitHub repo')).toBeInTheDocument() }) diff --git a/src/components/StatusBar.tsx b/src/components/StatusBar.tsx index c64aaffd..b2e5faae 100644 --- a/src/components/StatusBar.tsx +++ b/src/components/StatusBar.tsx @@ -1,5 +1,5 @@ import { useState, useRef, useEffect } from 'react' -import { Package, GitBranch, RefreshCw, Sparkles, FileText, Bell, Settings, FolderOpen, Check, Github, FolderPlus, CircleDot } from 'lucide-react' +import { Package, GitBranch, RefreshCw, Sparkles, FileText, Bell, Settings, FolderOpen, Check, Github, CircleDot } from 'lucide-react' export interface VaultOption { label: string @@ -14,7 +14,6 @@ interface StatusBarProps { onSwitchVault: (path: string) => void onOpenSettings?: () => void onOpenLocalFolder?: () => void - onCreateNewVault?: () => void onConnectGitHub?: () => void hasGitHub?: boolean } @@ -37,7 +36,7 @@ function VaultMenuItem({ vault, isActive, onSelect }: { vault: VaultOption; isAc ) } -function VaultMenu({ vaults, vaultPath, onSwitchVault, onOpenLocalFolder, onCreateNewVault, onConnectGitHub, hasGitHub }: { vaults: VaultOption[]; vaultPath: string; onSwitchVault: (path: string) => void; onOpenLocalFolder?: () => void; onCreateNewVault?: () => void; onConnectGitHub?: () => void; hasGitHub?: boolean }) { +function VaultMenu({ vaults, vaultPath, onSwitchVault, onOpenLocalFolder, onConnectGitHub, hasGitHub }: { vaults: VaultOption[]; vaultPath: string; onSwitchVault: (path: string) => void; onOpenLocalFolder?: () => void; onConnectGitHub?: () => void; hasGitHub?: boolean }) { const [open, setOpen] = useState(false) const menuRef = useRef(null) const activeVault = vaults.find((v) => v.path === vaultPath) @@ -78,23 +77,6 @@ function VaultMenu({ vaults, vaultPath, onSwitchVault, onOpenLocalFolder, onCrea Open local folder )} - {onCreateNewVault && ( -
{ onCreateNewVault(); setOpen(false) }} - style={{ - display: 'flex', alignItems: 'center', gap: 6, padding: '4px 8px', borderRadius: 4, - cursor: 'pointer', background: 'transparent', - color: 'var(--muted-foreground)', fontSize: 12, - }} - onMouseEnter={e => { e.currentTarget.style.background = 'var(--hover)' }} - onMouseLeave={e => { e.currentTarget.style.background = 'transparent' }} - data-testid="vault-menu-create-new" - > - - Create new vault -
- )} {onConnectGitHub && (
- + | v0.4.2 |