summaryrefslogtreecommitdiff
path: root/frontend/components/drive/DriveDirectoryClient.tsx
Commit message (Collapse)AuthorAgeFilesLines
* feat: add authentication checks for upload and create folder buttonsdiogo4642025-08-241-3/+31
| | | | | | | | | | - 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-141-53/+35
|
* 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: 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]>
* refactor: move auth components to server-side renderingdiogo4642025-08-131-35/+5
| | | | | | | | | | | | | | - 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
|
* Update components to use shared StorageData typediogo4642025-08-131-6/+1
| | | | | | | | | | | - 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-131-19/+11
| | | | | | | | | | | | | - 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-121-0/+591
- 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]>