| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
| |
- 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]>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
| |
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]>
|
| | |
|
| | |
|
| | |
|
| |
|