22 Commits

Author SHA1 Message Date
Hiro
dde7afdc19 fix mobile responsiveness issues
Some checks failed
Proyectos/simplenote-web/pipeline/head There was a failure building this commit
- Fixed malformed .mobile-nav-btn CSS syntax
- Added global overflow-x: hidden to prevent horizontal scroll
- Made projects.js use consistent sidebar overlay approach
- Removed hardcoded min-width: 450px from all modals
- Added safe area insets for notched mobile devices
- Hamburger menu now appears on ALL views on mobile
- Sidebar slides in as overlay on mobile
- All touch targets are at least 44px
- Font sizes are at least 16px to prevent iOS zoom
- Modals are full-width on mobile
2026-03-28 17:42:47 +00:00
Hiro
2d91e17c3e fix: resolve API inconsistencies found by Mokoto
- Bug 1: No fix needed - frontend already uses PUT for document updates
- Bug 2: Changed folders API to use 'project' param (matches documents)
- Bug 3: GET /folders now works without project filter (lists all folders)

Changes:
- folders.js: Accept 'project' instead of 'projectId', make it optional
- folderService.js: Support listing all folders when projectId is null
- api.js: Updated getFolders() to use 'project' param consistently
2026-03-28 17:36:58 +00:00
Hiro
007c51a98f fix(api): align frontend API client with backend endpoints
- Fix addDocumentTags to use POST /documents/:id/tags (was using PUT)
- Add getDocumentsByTag(tag) -> GET /tags/:tag
- Add getLibraryTree(id) -> GET /libraries/:id/tree
- Add getLibraryDocuments(id) -> GET /libraries/:id/documents
- Add getProjectDocuments(id) -> GET /projects/:id/documents
- Add getFolder(id) -> GET /folders/:id
- Add getFolderDocuments(id) -> GET /folders/:id/documents
- Add getFolderTree(id) -> GET /folders/:id/tree
- Add api-endpoints.md with full API documentation
- Remove duplicate/unused dead code blocks
2026-03-28 17:12:38 +00:00
Hiro
5b234cb819 fix: use correct folders endpoint /folders?projectId=X instead of /projects/:id/folders 2026-03-28 17:04:38 +00:00
Hiro
06a58a330f fix: backToProject function not accessible from onclick handler 2026-03-28 16:50:44 +00:00
Hiro
98b38ad78a Fix navigation: add header to all views, fix back button navigation, add mobile menu to document and editor views
- Document view: Added hamburger menu button and breadcrumb navigation
- Editor view: Added hamburger menu, breadcrumb nav, fixed handleCancel/handleSave
- Editor now navigates to correct parent (project) instead of dashboard
- Mobile menu works on all views (projects, projectView, document, editor)
- Document view back button goes to project (not dashboard)
- Editor cancel/save buttons now go to project or projects list
2026-03-28 15:47:09 +00:00
Hiro
5c54f30b57 fix: make hamburger always visible and use window prefix for onclick handlers
Some checks failed
Proyectos/simplenote-web/pipeline/head There was a failure building this commit
2026-03-28 14:27:05 +00:00
Hiro
4d7dfb8984 fix: document view navigates back to project, not dashboard 2026-03-28 14:21:06 +00:00
Hiro
fffb3c1b29 fix: add mobile menu to projects view and CSS 2026-03-28 14:20:07 +00:00
Hiro
789e17ffac fix: remove duplicate showNewFolderModal that overwrote parent folder support 2026-03-28 14:07:41 +00:00
Hiro
8f7ad3f673 feat: improve mobile responsiveness
- Add mobile navigation drawer with hamburger menu
- Sidebar slides in as overlay on mobile (<768px)
- Close button inside sidebar for mobile
- Ensure touch targets are at least 44px on mobile
- Make modals full-screen on mobile
- Editor toolbar scrolls horizontally on mobile
- Improve spacing and typography for small screens
- Keep dark theme consistent across breakpoints
- Projects page cards stack vertically on mobile
- Document cards full-width on mobile
2026-03-28 14:00:05 +00:00
Hiro
c090cd3a71 fix: add showNewDocModal and showNewFolderModal to projectView 2026-03-28 13:52:35 +00:00
Hiro
906b01248c fix: use 'project' instead of 'projectId' in getDocuments query param 2026-03-28 13:46:24 +00:00
Hiro
9496fc8e36 feat: Add Projects and Folders UI (SimpleNote v2)
- New Projects view (projects.js): Lists all projects with cards
- New ProjectView (projectView.js): Project dashboard with folder tree
- Updated API client: Projects and Folders CRUD methods
- New modals: NewProjectModal, NewFolderModal, MoveToFolderModal
- Edit/Delete project functionality
- Updated navigation: ProjectList -> ProjectView -> FolderView
- Consistent dark theme styling

Changes:
- public/js/views/projects.js (NEW)
- public/js/views/projectView.js (NEW)
- public/js/api.js (added Projects/Folders API methods)
- public/js/app.js (added navigation routes)
- public/js/components/sidebar.js (added Projects link)
- public/css/style.css (added project/folder styles)
2026-03-28 13:03:23 +00:00
Hiro
d7bb018c83 fix: prevent event propagation issues in sidebar and editor
- Add type=button to Cancel/Save buttons in editor to prevent form submission
- Add href=# and return false to quick-links to prevent default anchor behavior
- StopPropagation was already present in sidebar handlers (verified)
- Document view buttons already had type=button (verified)

These fixes ensure:
- Library/tag clicks don't bubble up and trigger wrong handlers
- Quick-link buttons don't cause unexpected navigation
- Editor buttons don't accidentally submit forms
2026-03-28 12:45:22 +00:00
Hiro
929c658e45 UX: Clarify document/library creation flow
- Replace direct 'New Document' with modal wizard that asks for library first
- Separate 'New Document' (📄) and 'New Library' (📁) buttons in header
- Update sidebar quick links to show both options with clear icons
- Add modal for library creation with name input
- Add CSS for form-control and modal-close button styling
- Minor improvements to document.js (type=button, event.stopPropagation)
- Keyboard shortcut Ctrl+N now opens document creation modal
2026-03-28 12:41:21 +00:00
Hiro
47e4394433 fix: extract libraries array from API response in editor
Some checks failed
Proyectos/simplenote-web/pipeline/head There was a failure building this commit
2026-03-28 12:30:55 +00:00
Hiro
76d19d3bc7 fix: extract arrays from API response objects 2026-03-28 12:27:15 +00:00
Hiro
98e9eb3fb4 fix: set token before making auth verify request 2026-03-28 12:22:37 +00:00
Hiro
461a17bc45 fix: multiple critical bugs in frontend
- sidebar: fix library/tag selection event handlers not firing (callbacks never invoked)
- sidebar: fix handleSelectLibrary always passing empty string instead of library id
- dashboard: fix tag filter not persisting when navigating from document view
- app: fix XSS vulnerability in showToast (API error messages not escaped)
- app: fix XSS vulnerability in confirmDelete modal message
- document: fix path traversal risk in export filename
2026-03-28 12:06:16 +00:00
Hiro
af7f639c20 fix: login form handlers not executing on innerHTML injection 2026-03-28 11:56:21 +00:00
Hiro
c4921c8e73 feat: add frontend UI for SimpleNote Web
- Vanilla JS frontend with dark theme
- Dashboard with sidebar (libraries tree, tags), document grid, search
- Document viewer with markdown rendering and metadata panel
- Document editor with split write/preview and formatting toolbar
- Login screen with token authentication
- All styled according to UI/UX specs (dark theme, accent #00d4aa)
- API client for all endpoints
- Responsive design
2026-03-28 11:44:42 +00:00