92 Commits

Author SHA1 Message Date
309f945751 feat: add CodeMirror-based file editor with modal interface and syntax highlighting
- Import CodeMirror 6 modules via ESM with importmap for @codemirror/state
- Add editor modal UI with header, cancel/save buttons, and editor body container
- Implement openEditor function to load file content and initialize CodeMirror with language-specific syntax highlighting
- Support 20+ file extensions including markdown, python, javascript, html, css, json, xml, sql, php, cpp, java, rust, and shell scripts
2026-03-31 11:48:14 -04:00
f2de0d9456 feat: redesign dashboard card icons with outlined style and larger size
- Increase icon container size from 28px to 40px
- Change from solid accent background to transparent with 2px accent border
- Update border-radius from 6px to 8px
- Change icon color from white to accent color
- Increase SVG icon size from 20px to 24px
- Add flexbox centering for better icon alignment
2026-03-31 07:38:13 -04:00
1c2e867585 fix: rename icon variable to iconContainer to avoid shadowing Lucide icon function 2026-03-30 23:14:42 -04:00
f539d02bcd fix: add error handling for dashboard card icon creation with fallback to default file icon 2026-03-30 23:10:52 -04:00
01841b8abe feat: expand file extension icon mappings and use dynamic icons in dashboard cards
- Add comprehensive file extension mappings organized by category (text, web, programming, data, config, shell, documents, images, audio, video, archives, fonts)
- Add support for 100+ file extensions including modern languages (Rust, Go, Swift, Kotlin, Zig, etc.)
- Add media file support (images, audio, video) with appropriate icons
- Add archive and font file type mappings
- Replace hardcoded SVG in dashboard cards with dynamic icon
2026-03-30 23:00:35 -04:00
4ede1a4fb1 feat: update tree item and action button icons to use accent color instead of secondary/muted colors 2026-03-30 22:44:22 -04:00
10a312ae89 feat: wrap tree item text in span elements and improve text overflow handling with flexbox
- Wrap vault, directory, and file names in span.tree-item-text elements
- Add flex: 1 to tree-item-text to enable proper text truncation
- Set min-width: 0 on tree-item and tree-item-text to allow flex shrinking
- Move overflow and text-overflow styles from tree-item to tree-item-text
- Update icon colors: use text-secondary for default, accent for active/vault items
2026-03-30 21:50:29 -04:00
f51c4e848d feat: update action button icon from ellipsis to more-vertical and fix icon rendering scope
- Change action button icon from 'ellipsis' to 'more-vertical' for better visual consistency
- Update safeCreateIcons call to render all icons globally instead of scoping to button element
2026-03-30 21:19:06 -04:00
1a575020e6 feat: improve action button visibility with explicit styling and icon rendering
- Add explicit border and background colors to action buttons for better visibility
- Ensure Lucide icons are properly rendered in action buttons with deferred safeCreateIcons call
- Adjust badge margin to prevent overlap with action buttons
- Add z-index to action buttons to ensure proper layering
2026-03-30 21:12:22 -04:00
9a812eb34a feat: make action buttons always visible on all tree items
- Remove hover-based opacity transitions for action buttons
- Set action buttons to always visible (opacity: 1, pointer-events: auto)
- Remove desktop hover states and mobile/touch device media queries
- Simplify CSS by eliminating conditional visibility logic
2026-03-30 21:08:18 -04:00
db812a6176 feat: add action buttons and long-press support for vault tree items with mobile-friendly context menus
- Add action buttons (ellipsis icon) to vault, directory, and file tree items
- Implement long-press gesture detection for mobile devices with 550ms delay and 10px movement threshold
- Show action buttons on hover for desktop and always visible on mobile/touch devices
- Position context menus near action buttons to prevent off-screen rendering
- Prevent click events from firing after long-press ges
2026-03-30 20:56:34 -04:00
628a664c59 feat: implement inline rename for files and directories with state preservation
- Replace placeholder inline rename with full implementation
- Add input validation for file/directory names with character restrictions
- Handle file extensions separately during rename operations
- Update current path when renaming open files or parent directories
- Replace refreshVaultTree calls with refreshSidebarTreePreservingState to maintain tree expansion state
- Add keyboard shortcuts (Enter to submit, Escape to cancel)
2026-03-30 15:53:42 -04:00
32c1bad1a1 feat: add context menu support for vault items with create file/directory operations 2026-03-30 15:44:16 -04:00
d3b9298dfa feat: add file and directory management endpoints with context menu support
- Add POST/PATCH/DELETE endpoints for directory operations (create, rename, delete)
- Add POST/PATCH endpoints for file operations (create, rename)
- Implement writable vault check to prevent modifications on read-only vaults
- Update file delete endpoint to broadcast SSE events and update index
- Add Pydantic models for all new request/response schemas
- Integrate context menu support in frontend for files and directories
- Broadcast real
2026-03-30 15:26:44 -04:00
d26a40a99d feat: initialize frontend structure with login screen, search interface, and CodeMirror integration 2026-03-27 23:13:59 -04:00
6fc1c59664 feat: initialize ObsiGate frontend with SPA structure, search history, and autocomplete functionality 2026-03-27 23:09:47 -04:00
4e8c36cc61 feat: initialize frontend application structure and search functionality with autocomplete support 2026-03-27 23:04:42 -04:00
9e1b4f4105 feat: add initial frontend SPA for vault browsing, advanced search, and markdown rendering. 2026-03-27 21:29:22 -04:00
e91cc1c52c feat: implement the initial ObsiGate frontend application with search, history, and autocomplete functionality. 2026-03-27 14:45:07 -04:00
960a06f189 feat: Initialize ObsiGate application with core frontend and backend components. 2026-03-27 14:37:23 -04:00
c72f3369dd feat: implement initial vanilla JS frontend application for ObsiGate. 2026-03-27 14:23:06 -04:00
fff0e94470 feat: add initial implementation of the ObsiGate frontend SPA. 2026-03-27 14:11:07 -04:00
f71d97e06c feat: Implement core application structure with frontend styling, JavaScript, and Python backend services. 2026-03-27 13:54:08 -04:00
4afa0ab5f9 feat: add "Derniers fichiers ouverts" widget to main dashboard
- Replace welcome message with a professional dashboard widget displaying the last opened files.
- Implement configurable file limit via existing settings.
- Design includes responsive grid layout and various UI states (loading, empty, error).
- Introduce new JavaScript module `DashboardRecentWidget` for handling file loading and rendering.
- Ensure accessibility compliance and responsive design breakpoints.
2026-03-27 11:25:08 -04:00
3506d6c45e feat: Implement initial application styling including dark/light theme support and base layout for core components. 2026-03-27 09:55:46 -04:00
a093cf420b feat: Implement new popout window for content viewing with outline, scroll spy, reading progress, and theme support. 2026-03-26 22:18:49 -04:00
e291a164f5 feat: Add initial global styling for the frontend, including dark/light themes, layout, and core UI components. 2026-03-26 21:45:03 -04:00
413524c3bf feat: introduce initial ObsiGate Single Page Application with Python backend for vault browsing and search. 2026-03-26 21:02:58 -04:00
ec97d75e59 feat: Implement the initial ObsiGate vanilla JavaScript single-page application frontend. 2026-03-26 20:32:28 -04:00
3ae430aaa6 feat: implement core backend API with data models, SSE, index management, and initial admin bootstrap. 2026-03-26 20:18:56 -04:00
2b69c49ed1 refactor: remove hidden files indexing configuration and convert to UI-only display preference, eliminating includeHidden and hiddenWhitelist from vault config and indexing logic while adding hideHiddenFiles client-side filtering 2026-03-26 19:53:40 -04:00
34f4e41419 feat: add comprehensive error handling and logging for vault settings save operations with permission error detection and detailed error messages in UI toast notifications 2026-03-26 16:00:27 -04:00
2686cc5d11 feat: add dynamic button state updates for hidden files config with modified vault count display and visual highlights to indicate unsaved changes 2026-03-26 15:17:55 -04:00
ac962bd416 feat: add per-vault reindexing with selective reload based on modified vaults, simplify hidden files whitelist logic to include all sub-hidden files when parent is whitelisted, and auto-uncheck includeHidden when adding whitelist items 2026-03-26 15:08:01 -04:00
80e2a7fc53 feat: fix hidden files whitelist logic to require ALL hidden path components be whitelisted, add vault config to single file indexing, and improve reindex button feedback with save phase indication 2026-03-26 14:14:04 -04:00
08e4d732f5 feat: merge UI vault settings with environment config, improve French UI text clarity, and enhance hidden files whitelist styling with hover effects and empty state 2026-03-26 09:24:56 -04:00
9e42fb072b feat: add hidden files configuration with per-vault settings for includeHidden and hiddenWhitelist, supporting environment variables and UI controls for selective indexing of dot-prefixed files and folders 2026-03-25 09:54:34 -04:00
8c30b0d238 feat: add explicit toast type parameters to all showToast calls for consistent error and success notifications 2026-03-25 08:15:27 -04:00
6108cfd486 feat: change default toast type from "error" to "info" and add debug logging 2026-03-25 07:58:41 -04:00
98481b074a feat: add error handling and toast type indicators to backend config save operation 2026-03-25 07:53:07 -04:00
f22a2abae8 feat: add Progressive Web App (PWA) support with service worker registration, manifest, update notifications, and install prompts 2026-03-24 23:55:15 -04:00
611cd3ca02 feat: add theme synchronization to popout windows with localStorage and cross-window storage events 2026-03-24 22:00:59 -04:00
b1cee1a0ec feat: fix find-in-page highlighting to handle multiple matches per text node and prevent DOM corruption 2026-03-24 21:38:30 -04:00
7ccad9c589 feat: add find-in-page functionality with keyboard shortcuts, regex support, and match navigation 2026-03-24 21:29:05 -04:00
94deb08e16 feat: change "Nouvelle fenêtre" button label to "pop-out" for consistency 2026-03-24 20:59:42 -04:00
da9b1f136f feat: add TOC toggle button to file header with dynamic title and icon updates 2026-03-24 20:55:03 -04:00
e06ae556ba feat: add right sidebar with table of contents, scroll spy, and reading progress tracking 2026-03-24 20:40:04 -04:00
dc2fdbe109 feat: replace basic frontmatter display with structured accent card UI featuring badges, tags, and boolean flags 2026-03-24 19:29:09 -04:00
c5e395005f feat: implement initial ObsiGate application with backend API, indexing, search, and basic frontend. 2026-03-24 12:56:00 -04:00
d76ad89f09 feat: Introduce initial web frontend and backend services, and generalize directory configuration in docker-compose. 2026-03-24 12:24:43 -04:00