summaryrefslogtreecommitdiff
path: root/frontend/components
Commit message (Collapse)AuthorAgeFilesLines
* feat: add footer with contact informationHEADmaindiogo4642025-08-241-0/+14
| | | | | | | | | | - Add Footer component with [email protected] contact email - Update main layout to include footer at bottom of all pages - Use flexbox layout to ensure footer stays at bottom 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: add authentication checks for upload and create folder buttonsdiogo4642025-08-242-3/+34
| | | | | | | | | | - Check user authentication before opening file picker or create folder dialog - Display error toast message when user is not authenticated - Maintain existing functionality for authenticated users 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* frontend: improvementsdiogo4642025-08-144-74/+39
|
* feat: add hover tooltips to History Path columndiogo4642025-08-141-2/+5
| | | | | | | | | | | | | | Add title attributes to show full path information when hovering over entries in the History page Path column. This helps users see truncated paths in full. - Add title tooltip for file creation entries showing full file path - Add title tooltip for rename entries showing "old_path → new_path" format - Add title tooltip for other entries showing the path - Maintains existing truncation styling with max-w-md class 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: implement file/directory move functionalitydiogo4642025-08-141-12/+80
| | | | | | | | | | | | | | | Replace fake move implementation with actual functionality using the existing rename API. The move feature now properly moves selected files/directories to chosen destinations. - Use existing /api/rename endpoint to move files by renaming paths - Handle multiple file selection with sequential move operations - Add comprehensive error handling for partial failures - Show detailed success/failure toast notifications - Refresh page after successful moves to display changes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: make auth buttons full-width on mobilediogo4642025-08-141-8/+8
| | | | | | | | | | | - History, Login, and Logout buttons now take full width on mobile screens - Maintain auto width on desktop screens (sm breakpoint and up) - Improve mobile touch targets and visual consistency - Stack buttons vertically on mobile for better accessibility 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: improve DriveLogEntry types with discriminated unionsdiogo4642025-08-141-5/+9
| | | | | | | | | | | | | | - Replace generic DriveLogEntry with action-specific discriminated unions - Add DriveLogEntryCreateFile, CreateDir, Remove, Rename types - Update Drive_log parsing to create correct union types based on action - Add type guards (isCreateFileEntry, isRenameEntry, etc.) for safe access - Enhance History UI to properly display rename operations (old → new) - Change log_id to revision to match Rust OperationHeader structure - Improve type safety and maintainability 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: optimize mobile navigation and storage displaydiogo4642025-08-141-25/+25
| | | | | | | | | | | | - Stack breadcrumbs above action buttons on mobile screens - Move storage usage component above navigation for better hierarchy - Make Create Folder and Upload buttons full-width on mobile with proper spacing - Maintain desktop horizontal layout for larger screens - Improve information architecture and mobile usability 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: enhance auth buttons mobile layout and make History publicdiogo4642025-08-141-19/+29
| | | | | | | | | | | - Stack user email above History/Logout buttons on mobile - Show History button for all users (authenticated and non-authenticated) - Maintain horizontal layout on desktop screens - Improve mobile user experience with better button spacing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: improve mobile responsiveness of drive headerdiogo4642025-08-141-3/+4
| | | | | | | | | | - Stack FCT Drive title and auth buttons vertically on mobile - Add clickable link to /drive on FCT Drive title with hover effect - Maintain horizontal layout on desktop screens 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: move History button next to user email in headerdiogo4642025-08-142-13/+10
| | | | | | | | | | | - Relocate History button from DriveHeader to AuthButtons component - Position History button between user email and logout button - Only show History button when user is logged in - Improves UI organization and user experience 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: make file paths clickable for create_file actions in historydiogo4642025-08-141-1/+10
| | | | | | | | | | | - Add clickable download links for create_file entries in history table - Use blob endpoint with proper filename parameter for downloads - Apply blue link styling with hover effects for better UX - Only make paths clickable when blob_id is available and valid 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: add paginated history page with activity logdiogo4642025-08-142-2/+150
| | | | | | | | | | | | | - Create /history page showing drive activity with server-side rendering - Display timestamp, action, user, path, and file size in table format - Add pagination (50 entries per page) using URL query parameters - Sort entries by timestamp descending (most recent first) - Add History button to drive header for easy navigation - Use existing UI components and styling patterns 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* fix: simplify storage UI to show only disk usagediogo4642025-08-141-25/+13
| | | | | | | | | | Remove confusing drive usage display due to deduplication causing drive size to be larger than actual disk usage, which resulted in NaN calculations. Now shows clean disk usage with proper formatting. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* feat: display user email next to logout buttondiogo4642025-08-141-7/+10
| | | | | | | | | When a user is logged in, their email address now appears to the left of the logout button with proper spacing and styling. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* fix: update logout form action to use /logout endpointdiogo4642025-08-131-5/+5
| | | | | | | | Change logout form action from /api/logout to /logout and clean up formatting. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* refactor: move auth components to server-side renderingdiogo4642025-08-134-42/+64
| | | | | | | | | | | | | | - Create server-side AuthButtons component that renders login/logout based on auth state - Add DriveHeader component for title and auth buttons (server-side) - Restructure DriveDirectoryClient to focus on breadcrumbs/actions/files only - Remove client-side auth state management from DriveDirectoryClient - Add /api/logout route handler for server-side logout flow - Update DriveDirectoryView to compose header and directory components - Preserve existing TinyAuth integration and dev mode bypass 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* refactor: split auth module into separate files and fix importsdiogo4642025-08-131-1/+1
| | | | | | | | | | | | - Created auth_types.ts for type definitions - Created auth_shared.ts for utility functions and endpoints - Updated auth.ts to focus on session management - Fixed all auth import statements throughout codebase - Updated login redirect to use Auth_tinyauth_public_endpoint properly 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* frontend: fixed login button redirect uridiogo4642025-08-131-2/+3
|
* Fix checkbox TypeScript error for production builddiogo4642025-08-131-2/+3
| | | | | | | | | | | - Update checkbox ref type to use Radix primitive type - Remove invalid indeterminate property assignment - Fix TypeScript compilation error preventing production builds - Let Radix UI handle indeterminate state internally 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Update components to use shared StorageData typediogo4642025-08-133-19/+3
| | | | | | | | | | | - Import StorageData type from lib/storage in all components - Remove duplicate interface definitions - Ensure type consistency across components - Clean up redundant type declarations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Update page title from "Drive" to "FCT Drive"diogo4642025-08-131-1/+1
| | | | | | 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Implement real-time storage usage UI with two-color progress bardiogo4642025-08-133-20/+99
| | | | | | | | | | | | | - Add /api/storage endpoint that fetches live data from fctdrive drive-size and df commands - Implement 10-second caching to avoid excessive system calls - Create StorageUsage component with two-color bar showing active drive usage vs total disk usage - Update drive pages to fetch and pass storage data server-side - Replace hardcoded storage values with real system data - Display active drive usage (blue), other disk usage (gray), and available space 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Implement path-based downloads with blob redirect systemdiogo4642025-08-131-4/+14
| | | | | | | | | | | | | - Add fctdrive stat command to get blob IDs from paths - Add Drive_stat function to drive_server.ts for backend integration - Create /download/[...path] endpoint that redirects to /blob/{blobId} - Update UI file links to use /download/ paths instead of direct blob links - Update permalinks to use immutable /blob/{blobId} URLs - Fix host preservation in redirects for remote access 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Implement rename functionality using fctdrive CLIdiogo4642025-08-131-10/+41
| | | | | | | | | | | | - Add Drive_rename function to drive_server.ts for backend integration - Create /api/rename endpoint with proper authentication and error handling - Update handleRename function to call API instead of placeholder TODO - Test rename functionality for both files and directories - Update CLAUDE.md to note fctdrive is available in PATH 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Add filename truncation to prevent table overflowdiogo4642025-08-131-21/+27
| | | | | | | | | | | - Truncate long file/directory names with ellipsis at 60% viewport width - Add tooltips showing full names on hover - Prevent icons from shrinking with flex-shrink-0 - Maintain responsive design across all screen sizes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Add Create Folder functionality with dialog interfacediogo4642025-08-131-0/+83
| | | | | | | | | | | | - New /api/mkdir endpoint for authenticated folder creation - Create Folder button positioned left of Upload Files button - Modal dialog with input validation and keyboard shortcuts - Proper error handling and success notifications - Uses existing CLI Drive_mkdir function for backend operations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Implement authenticated file/directory deletiondiogo4642025-08-121-10/+31
| | | | | | | | | | | - Add /api/delete endpoint with authentication checks - Update DriveDirectoryClient to use actual delete API - Replace placeholder TODO with working delete functionality - Include proper error handling and user feedback 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Replace complex /api/fs with simple /api/upload endpointdiogo4642025-08-121-10/+3
| | | | | | | | | | | | | | | | | | | - Create new /api/upload endpoint for file uploads with path query parameter - Simplify DriveDirectoryClient upload logic to use POST instead of PUT - Remove complex path encoding and AUTH header handling from client - Remove unused /api/fs endpoint entirely - no longer needed - Maintain all existing upload functionality (file size limits, auth, etc.) - Test uploads to root directory and subdirectories - both working perfectly Benefits: - Cleaner API surface with single-purpose endpoints - Simpler client code with less complexity - Better separation of concerns - Maintained backward compatibility for user experience 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Clean up old UI code and rename V2 to Drivediogo4642025-08-123-15/+15
| | | | | | | | | | | | | | | - Remove old UI components: file-drive.tsx, history-view.tsx - Remove unused API endpoints: /api/tree, /api/log, /api/fs/route.ts - Rename /v2 routes to /drive routes for cleaner URLs - Rename V2* components to Drive* components (V2DirectoryView -> DriveDirectoryView, etc.) - Update all breadcrumb and navigation references from /v2 to /drive - Redirect root path to /drive instead of old UI - Keep /api/fs/[...path] and /api/directories for uploads and move functionality - Preserve Drive_* server functions for potential future use 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Convert V2 UI to server-side data loadingdiogo4642025-08-122-681/+633
| | | | | | | | | | | | - Convert page components to async server components using Drive_ls() - Split V2DirectoryView into server component (data processing) and V2DirectoryClient (interactivity) - Remove client-side useEffect + fetch API calls for directory listing - Data now loaded server-side and passed as props for better static rendering - Mutations still use page refresh to show updated data 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* Implement /v2 prototype UI with page-based navigationdiogo4642025-08-123-0/+911
| | | | | | | | | | | | | | | | | - Add /v2 route structure with dynamic nested directory pages - Create V2DirectoryView component with breadcrumb navigation - Add V2MoveDialog with directory search and flat list display - Implement single upload button for current directory context - Add /api/directories endpoint for move dialog directory picker - Fix breadcrumb decoding to show readable names instead of URL encoding - Add file sorting: directories first, then files, all alphabetically - Improve performance by loading only current directory contents - Add ScrollArea component and @radix-ui/react-scroll-area dependency - Ensure proper URL encoding/decoding flow to prevent malformed paths 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
* basic v0 ui workingdiogo4642025-08-1114-472/+908
|
* snapshotdiogo4642025-08-111-0/+179
|
* basic file uploaddiogo4642025-08-111-0/+262
|
* snapshotdiogo4642025-08-111-0/+31