| 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]>
|
| |
|
|
|
|
|
|
|
| |
- Change df command to target FCTDRIVE_PATH/blobs for more accurate disk usage
- This provides better storage metrics for the actual blob storage location
🤖 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Replace default Next.js favicon with FCT university favicon
- Downloaded from https://www.fct.unl.pt/sites/default/files/favicon_3.ico
- 64x64 PNG format with transparent background
- Improves branding consistency with FCT Drive purpose
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
- Document `just deploy-frontend` command for production deployment
- Update available commands list with deployment workflow
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
- Change searchParams from object to Promise<object> in HistoryPageProps
- Await searchParams resolution in HistoryPage component
- Fixes TypeScript compilation error during build process
🤖 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]>
|
| |
|
|
|
|
|
|
|
|
| |
Removed Drive_tree function from drive_server.ts as it was not being
used anywhere in the codebase. Also cleaned up the import statement
to remove unused DriveTreeNode and DriveTreeResponse types.
🤖 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]>
|
| |
|
|
|
|
|
|
|
|
| |
- .containerignore: exclude unnecessary files from container builds
- CONTAINER.md: documentation for container deployment
- Containerfile: multi-stage build configuration for production
🤖 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]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Add container image configuration variables
- Refactor deploy-tinyauth to use Podman with proper environment variables
- Update deploy-frontend to use containerized deployment
- Add build-container and push-container targets
🤖 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]>
|
| |
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
|
| |
Replaced dynamic import with proper static import at the top
🤖 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]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Replace HTTP fetch with direct function import
- Remove environment-dependent URL construction
- Fix 'Failed to parse URL from /api/storage' error in production
- Import fetchStorageData directly from lib/storage
- Enable static rendering for /drive page
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
- Import fetchStorageData from lib/storage instead of duplicating logic
- Simplify API route by removing duplicate implementation
- Maintain same API response format
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
| |
- Extract storage data fetching logic into reusable lib/storage.ts
- Export StorageData interface and fetchStorageData function
- Maintain 10-second caching behavior
- Enable direct function calls instead of HTTP requests during SSR
🤖 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]>
|