diff --git a/package-lock.json b/package-lock.json index 6e2a244..2f5db60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@tauri-apps/plugin-fs": "^2.5.1", "@tauri-apps/plugin-opener": "^2", "@uiw/react-codemirror": "^4.25.10", + "lucide-react": "^1.21.0", "react": "^19.1.0", "react-dom": "^19.1.0", "react-markdown": "^10.1.0", @@ -4390,6 +4391,15 @@ "yallist": "^3.0.2" } }, + "node_modules/lucide-react": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.21.0.tgz", + "integrity": "sha512-reEZMXq8Qdd5jg5XYkQ5TR1fB/GiQ7ih4vcrthYDtgjSDwh0i6/YLiGjsWsIwgN49gpAnd4J2elSNzncMEEUUQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", diff --git a/package.json b/package.json index aa13365..e912b55 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@tauri-apps/plugin-fs": "^2.5.1", "@tauri-apps/plugin-opener": "^2", "@uiw/react-codemirror": "^4.25.10", + "lucide-react": "^1.21.0", "react": "^19.1.0", "react-dom": "^19.1.0", "react-markdown": "^10.1.0", diff --git a/src/App.css b/src/App.css index 8678916..2f5285b 100644 --- a/src/App.css +++ b/src/App.css @@ -261,6 +261,9 @@ body, } .toolbar-btn { + display: inline-flex; + align-items: center; + gap: 6px; font: inherit; font-size: 0.7rem; letter-spacing: 0.04em; @@ -270,6 +273,14 @@ body, border-radius: 4px; padding: 2px 8px; cursor: pointer; + transition: background 0.12s ease, color 0.12s ease; +} + +/* Icon-only buttons: square them off so they don't inherit text padding */ +.toolbar-btn--icon { + justify-content: center; + gap: 0; + padding: 4px; } .toolbar-btn:hover:not(:disabled) { @@ -277,6 +288,10 @@ body, color: var(--toolbar-btn-hover-fg); } +.toolbar-btn:active:not(:disabled) { + transform: translateY(0.5px); +} + .toolbar-btn:disabled { opacity: 0.4; cursor: default; diff --git a/src/App.tsx b/src/App.tsx index 83cfa15..78990e4 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,6 +8,7 @@ import { invoke } from "@tauri-apps/api/core"; import { getCurrentWindow } from "@tauri-apps/api/window"; import { listen } from "@tauri-apps/api/event"; import { gutters } from "@codemirror/view"; +import { PanelLeftClose, PanelLeftOpen, PanelRightClose, PanelRightOpen, Search, Folder, Info, Settings, ClipboardCopy, Check } from "lucide-react"; import { MilkdownEditor } from "./MilkdownEditor"; import { FileTree, type FileNode } from "./FileTree"; import { CommandPalette, FindOverlay } from "./SearchOverlays"; @@ -591,23 +592,30 @@ function App() { )}