Compare commits

82 Commits

Author SHA1 Message Date
lashman 7075f90d15 tidy up README formatting 2026-02-19 20:23:01 +02:00
lashman a8f9e0ae25 bump to v1.1.0: accessibility, filter bar fix, updated README 2026-02-19 20:15:01 +02:00
lashman ae9bc20093 add aria-labels to TopBar buttons and CalendarPopover 2026-02-19 19:56:47 +02:00
lashman 964284295d add ARIA labels and pressed states to board list and remaining components 2026-02-19 19:55:30 +02:00
lashman 8e3e644127 add ARIA labels, pressed states, and fix keyboard visibility across card detail components 2026-02-19 19:54:22 +02:00
lashman c089247fa0 add labels and ARIA attributes to filter bar inputs 2026-02-19 19:51:56 +02:00
lashman f48847b2c0 add ARIA tab roles, pressed states, and labels to settings dialog 2026-02-19 19:50:54 +02:00
lashman 3bcf2e458e add dialog semantics, focus trap, and ARIA labels to card detail modal 2026-02-19 19:49:25 +02:00
lashman 13422ff781 improve card thumbnail accessibility: aging opacity, ARIA labels 2026-02-19 19:48:08 +02:00
lashman 63f30bef95 fix column header keyboard visibility and ARIA labels 2026-02-19 19:46:58 +02:00
lashman 5fecd62951 add skip navigation, page title, and global ARIA live region 2026-02-19 19:45:51 +02:00
lashman d3c680b213 make toasts accessible: ARIA live region, dismiss button, pause on hover 2026-02-19 19:44:06 +02:00
lashman efb631d212 fix focus ring contrast across UI primitives 2026-02-19 19:43:00 +02:00
lashman 60d4bee373 fix contrast tokens, focus rings, and scrollbar visibility for WCAG AAA 2026-02-19 19:42:04 +02:00
lashman 04e4dc6d00 remove unused files 2026-02-19 19:15:55 +02:00
lashman 10176f8968 fix card click delay when reduced motion is active 2026-02-16 18:51:35 +02:00
lashman f80a3d5d0e fix layout animation blocking card clicks when reduce motion is on 2026-02-16 18:38:04 +02:00
lashman 2f3060738e add reduce motion toggle and bump to v1.0.1 2026-02-16 17:51:23 +02:00
lashman d33c348260 add custom app icon - teal squircle with lighthouse 2026-02-16 16:07:20 +02:00
lashman f2d283631c bump version to 1.0.0 2026-02-16 15:51:57 +02:00
lashman ff9da98923 clean up README punctuation 2026-02-16 15:49:53 +02:00
lashman 0025a1c214 fix README: Windows-only portable exe, remove default icon 2026-02-16 15:45:00 +02:00
lashman ad8d9fc879 add README, CC0 license, and button icon alignment fix 2026-02-16 15:40:28 +02:00
lashman 98226775ed typography overhaul, custom scrollbars, import/export, settings UI 2026-02-16 14:56:36 +02:00
lashman 8d26af0b0e add 15-improvements design doc and implementation plan 2026-02-16 14:56:22 +02:00
lashman 338a5ff3ea Phase 4 - board templates, auto-backup, version history 2026-02-16 14:55:58 +02:00
lashman 9f60fa233e Phase 3 - filter bar, keyboard navigation, notifications, comments 2026-02-16 14:52:08 +02:00
lashman 80365af272 Phase 2 card interactions - priority picker, context menu, WIP limits, column collapse, checklist reorder 2026-02-16 14:46:20 +02:00
lashman 282043336a Phase 1 quick wins - defaultColumnWidth, due date colors, card aging, open attachments 2026-02-16 14:33:48 +02:00
lashman 51eac5354b Phase 0 data model - add Comment, Priority, collapsed, wipLimit fields 2026-02-16 14:31:56 +02:00
lashman 545ac3b637 custom scrollbars, portable storage, window state persistence 2026-02-15 22:18:50 +02:00
lashman f4c4fdee81 custom calendar date picker replacing native input 2026-02-15 22:04:31 +02:00
lashman e99609e256 replace onCloseRequested with beforeunload to fix window close 2026-02-15 21:46:44 +02:00
lashman d672610b46 redesign card detail modal as 2-column dashboard grid 2026-02-15 21:41:16 +02:00
lashman f9e5c05be1 window controls, dragging, and text selection 2026-02-15 21:19:24 +02:00
lashman e911f0598b add micro-animations to TopBar, toasts, settings, and shortcut help 2026-02-15 21:01:10 +02:00
lashman 316f3d252b gesture-reactive drag overlay with tilt based on pointer velocity 2026-02-15 21:01:06 +02:00
lashman 497a137550 shared layout animation - card expands into detail modal 2026-02-15 21:00:29 +02:00
lashman 57e006d87e add column stagger + card stagger + card hover/tap animations 2026-02-15 20:58:53 +02:00
lashman d832f00874 add stagger animations to board list and board cards 2026-02-15 20:58:03 +02:00
lashman 32ac91afaa add AnimatePresence page transitions between views 2026-02-15 20:58:01 +02:00
lashman 18d0a965de custom window titlebar - remove native decorations, add WindowControls to TopBar 2026-02-15 20:56:55 +02:00
lashman 24412e5afe lighten dark mode for HDR monitors - bump pylon + shadcn values 2026-02-15 20:56:35 +02:00
lashman cea3a7b861 add shared motion config with spring presets and variants 2026-02-15 20:56:29 +02:00
lashman 51bc198510 add themed scrollbar styling for light and dark modes 2026-02-15 20:34:04 +02:00
lashman cf75de862f upgrade empty states with welcome message and column placeholders 2026-02-15 20:33:16 +02:00
lashman 2c7fc5eee7 add board background patterns (dots, grid, gradient) with settings dropdown 2026-02-15 20:32:43 +02:00
lashman d363b4fd25 add keyboard shortcut help modal triggered by ? key 2026-02-15 20:32:32 +02:00
lashman 02524805bd add undo/redo buttons to TopBar with tooltips 2026-02-15 20:31:35 +02:00
lashman 31dc4f0ad6 add toast notification system with success, error, and info variants 2026-02-15 20:30:17 +02:00
lashman 067e4e3bf6 add card cover color with picker in card detail and bar in thumbnail 2026-02-15 20:29:29 +02:00
lashman fdfdb0804f add column color picker submenu with 10 preset colors 2026-02-15 20:29:18 +02:00
lashman a39b8aef6d add column color, card coverColor, and board background to data model 2026-02-15 20:28:16 +02:00
lashman 9f9bf3d72d apply board color to TopBar border and column header accents 2026-02-15 20:26:51 +02:00
lashman ba7191b27a rewrite settings dialog with tabbed panel - appearance, boards, shortcuts, about 2026-02-15 20:25:58 +02:00
lashman 9d6ba16548 apply density factor to card, column, and board spacing 2026-02-15 20:25:34 +02:00
lashman b21d05020f add density CSS variable with default value 2026-02-15 20:24:19 +02:00
lashman e8dbd7111c wire app store with appearance actions and CSS variable application 2026-02-15 20:24:09 +02:00
lashman 4c622d10b2 expand AppSettings with appearance and board default fields 2026-02-15 20:23:47 +02:00
lashman f567cc7245 use Tauri v2 named fs permissions for appdata access 2026-02-15 20:22:54 +02:00
lashman 93d8a9efd2 broaden filesystem scope to include $APPDATA root directory 2026-02-15 19:44:56 +02:00
lashman b48c207dec correct lib crate name in main.rs (temptauri_lib -> openpylon_lib) 2026-02-15 19:38:50 +02:00
lashman 3369c34675 address code review findings - data loss, race condition, broken features 2026-02-15 19:33:25 +02:00
lashman 0b70ee656f move hooks before early return in BoardView, remove unused attachmentMode prop 2026-02-15 19:30:58 +02:00
lashman 443588d4cb add window close handler, configure minimum window size 2026-02-15 19:24:00 +02:00
lashman 8a2138832d accessibility pass - semantic HTML, ARIA, focus indicators, high contrast 2026-02-15 19:19:34 +02:00
lashman 1b0bcfb505 add Framer Motion animations with spring physics and reduced-motion support 2026-02-15 19:17:52 +02:00
lashman 37627688b8 add import/export for JSON, CSV, and Trello formats 2026-02-15 19:14:06 +02:00
lashman 940a020d72 add global keyboard shortcuts for undo/redo and command palette 2026-02-15 19:13:36 +02:00
lashman d1cf4559ce add settings dialog with theme selection 2026-02-15 19:13:13 +02:00
lashman 3b80814330 add command palette with cross-board search and actions 2026-02-15 19:12:49 +02:00
lashman 7e6b8ed43c add two-panel card detail modal with markdown, checklist, labels, dates, attachments 2026-02-15 19:05:02 +02:00
lashman f225ef1ace add drag-and-drop for cards and columns with keyboard support 2026-02-15 18:55:35 +02:00
lashman cc2a72b999 add card thumbnails with label dots, due dates, and checklist progress bar 2026-02-15 18:49:20 +02:00
lashman cdc1b7e2c1 add board view with columns, headers, and inline card creation 2026-02-15 18:49:10 +02:00
lashman 3f58896cc5 add board list home screen with new board dialog and context menu 2026-02-15 18:48:59 +02:00
lashman f4ab1565f5 add app shell with top bar, view routing, and board factory 2026-02-15 18:44:19 +02:00
lashman b07df5cf7b configure custom OKLCH theme, fonts, and dark mode tokens 2026-02-15 18:43:23 +02:00
lashman 653bcc834f add Zustand stores with undo/redo and debounced persistence 2026-02-15 18:41:27 +02:00
lashman e599093b2a add filesystem persistence layer for boards and settings 2026-02-15 18:39:24 +02:00
lashman 0441217c4e add board/settings type definitions and Zod validation schemas 2026-02-15 18:38:20 +02:00
lashman 71ef8f77d1 scaffold Tauri v2 + React + TS with all dependencies 2026-02-15 18:31:54 +02:00
7 changed files with 5 additions and 10 deletions
-3
View File
@@ -1,3 +0,0 @@
{
"recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"]
}
-2
View File
@@ -398,7 +398,5 @@ See [LICENSE](LICENSE) or https://creativecommons.org/publicdomain/zero/1.0/ for
Made with care. Shared without conditions. Made with care. Shared without conditions.
<br /> <br />
Your tools should serve you - not the other way around. Your tools should serve you - not the other way around.
<br />
This project is developed with the help of a locally-run LLM via opencode for scaffolding, planning, and routine code tasks. Architecture and design decisions are my own.
</sub> </sub>
</p> </p>
@@ -47,7 +47,7 @@ export function ImportButton() {
addToast("Board imported successfully", "success"); addToast("Board imported successfully", "success");
} catch (err) { } catch (err) {
console.error("Import failed:", err); console.error("Import failed:", err);
addToast("Import failed check file format", "error"); addToast("Import failed - check file format", "error");
} }
// Reset the input so the same file can be re-imported // Reset the input so the same file can be re-imported
+1 -1
View File
@@ -148,7 +148,7 @@ export function SettingsDialog({ open, onOpenChange }: SettingsDialogProps) {
))} ))}
</div> </div>
{/* Tab content entire dialog height animates between tabs */} {/* Tab content - entire dialog height animates between tabs */}
<AnimatePresence mode="popLayout" initial={false}> <AnimatePresence mode="popLayout" initial={false}>
<motion.div <motion.div
key={tab} key={tab}
+1 -1
View File
@@ -150,7 +150,7 @@
scrollbar-color: oklch(80% 0 0 / 15%) transparent; scrollbar-color: oklch(80% 0 0 / 15%) transparent;
} }
/* Hide native scrollbars OverlayScrollbars renders custom ones */ /* Hide native scrollbars - OverlayScrollbars renders custom ones */
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 0; width: 0;
height: 0; height: 0;
+1 -1
View File
@@ -15,7 +15,7 @@ import type { AppSettings } from "@/types/settings";
import type { BoardTemplate } from "@/types/template"; import type { BoardTemplate } from "@/types/template";
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Path helpers portable: all data lives next to the exe // Path helpers - portable: all data lives next to the exe
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
async function getBaseDir(): Promise<string> { async function getBaseDir(): Promise<string> {
+1 -1
View File
@@ -212,7 +212,7 @@ export const useAppStore = create<AppState>((set, get) => ({
if (order === "created") { if (order === "created") {
return [...boards].sort((a, b) => b.createdAt.localeCompare(a.createdAt)); return [...boards].sort((a, b) => b.createdAt.localeCompare(a.createdAt));
} }
// "updated" default, already sorted from listBoards // "updated" - default, already sorted from listBoards
return boards; return boards;
}, },
})); }));