Commit graph

324 commits

Author SHA1 Message Date
b0ecd54243 Enhance photos page with multiple view modes
- Add support for masonry, single, two-column, and horizontal view modes
- Implement wide width mode (1100px) for more columns
- Add padding adjustments for horizontal scroll mode
- Load all photos automatically in horizontal mode
- Preserve scroll position on navigation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 01:55:32 +01:00
26ef48fa95 Update ViewModeSelector with new view modes
- Add two-column view mode option
- Import new view mode icons
- Hide selector on mobile devices
- Update ViewMode type to include all options

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 01:55:18 +01:00
049b6be57f Add new photo grid view components
- SingleColumnPhotoGrid: Displays photos in a single centered column
- TwoColumnPhotoGrid: Splits photos evenly between two columns
- HorizontalScrollPhotoGrid: Shows photos in a horizontal scrolling view

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 01:55:04 +01:00
ba37e9829e Add and update view mode icons
- Update view-single icon with text representation
- Add view-horizontal icon with side scroll indicator
- Add view-two-column icon for two-column layout
- Simplify width-normal and width-wide icons

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 01:54:50 +01:00
b2488bd301 Add ViewModeSelector component with width controls
- Create ViewModeSelector component with masonry view mode button
- Add width toggle controls (normal 700px / wide 900px)
- Create width-normal and width-wide SVG icons
- Integrate component into photos route with smooth transitions
- Use SCSS variables throughout for consistent styling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18 10:26:14 +01:00
a69f1098de Revert masonry thumbnail change 2025-06-18 04:36:47 +01:00
d73619aa24 Serve thumbnails in grid instead of full images 2025-06-17 12:49:05 +01:00
1867187635 Fix broken reference deletion 2025-06-17 08:45:09 +01:00
090e29f9d9 Fix Cloudinary max selection and row selection 2025-06-17 08:25:49 +01:00
5da6f4c736 Fix Cloudinary media audit 2025-06-17 08:13:43 +01:00
fdf1ce5e21 Update README and add titles to admin routes 2025-06-17 07:41:29 +01:00
ac0ecf2a92 Add broken reference cleanup functionality to Cloudinary audit
- Add cleanupBrokenReferences function to remove missing Cloudinary URLs from database
- Add PATCH endpoint to API for cleaning broken references
- Add UI section to show broken references with cleanup button
- Add confirmation modal for cleanup action
- Add console logging to debug delete button issue

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 18:57:57 +01:00
4aaf33f19e Ran linter 2025-06-16 17:05:43 +01:00
723f7acbc1 feat: enhance Media Library filtering and sorting
- Add sort functionality (newest, oldest, name A-Z/Z-A, size)
- Update media type filters: Images (JPG/PNG), Videos (MP4/MOV/GIF), Audio, Vectors (SVG)
- Replace photography filter with 'Published in' filter (Photos/Universe/Unpublished)
- Fix API to properly handle JSON array queries with array_contains
- Add comprehensive WHERE clause building for multiple filters

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 17:05:02 +01:00
c6fd8cf292 refactor: convert Media Library actions to dropdown menu
- Replace individual buttons with dropdown menu for secondary actions
- Add 'Audit Storage' and 'Select Files' options to dropdown
- Keep Upload as primary action button
- Add chevron-down icon with proper stroke styling
- Implement click-outside handler for dropdown

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 17:04:32 +01:00
655a8a05a5 feat: add Cloudinary audit admin UI
- Create audit page at /admin/media/audit with 2x2 summary grid
- Add interactive table with file selection and batch operations
- Implement delete functionality with confirmation modal
- Add chevron-left icon for navigation
- Style with consistent admin UI patterns
- Include loading states and error handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 16:56:39 +01:00
1f04a96dad feat: add Cloudinary audit functionality
- Add comprehensive audit system to identify orphaned Cloudinary files
- Create audit script with dry-run and execute modes
- Add formatBytes utility for human-readable file sizes
- Implement comparison logic between Cloudinary and database references
- Add API endpoint for programmatic access to audit functionality
- Include documentation for Cloudinary management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 16:56:05 +01:00
5bd4c40342 Fix masonry gap 2025-06-16 13:32:16 +01:00
f540aed895 Add new layout to album pages and remove tests and PhotoGrid 2025-06-16 10:10:59 +01:00
6132c17a9b Add better masonry and infinite scrolling 2025-06-16 09:58:07 +01:00
47e9e300db Update Universe character count and Photos og:desc 2025-06-16 01:38:15 +01:00
4ffcb25a67 Updates for now playing 2025-06-14 18:52:13 -04:00
090b2b95bd Stream new albums over SSE 2025-06-14 14:42:08 -04:00
1bbc4260de Update album component motion and interaction 2025-06-14 14:33:29 -04:00
188e95f597 Update Album to use new Svelte 5 motion 2025-06-14 14:17:59 -04:00
4a99aca101 Use new Avatar component 2025-06-14 14:09:08 -04:00
b7e9deb087 Fix visual bug with Albums 2025-06-14 11:42:41 -04:00
a9ec023bae
Merge pull request #8 from jedmund/refine/apple-music
Apple Music support
2025-06-14 07:49:42 -07:00
dd8f97979c Now playing refinements 2025-06-14 10:42:26 -04:00
f41df1d5e8 Avatar now playing reactivity 2025-06-14 00:45:03 -04:00
6a0f1d7d3f Realtime now playing 2025-06-13 22:18:05 -04:00
199abb294f Now playing 2025-06-13 21:50:13 -04:00
cc6eba7df1 Linter 2025-06-13 21:22:49 -04:00
b3979008ae Apple Music API 2025-06-13 21:22:39 -04:00
f3119885bc
Merge pull request #7 from jedmund/universe/embed-cards
Add link cards for URLs and Youtube
2025-06-13 15:37:35 -07:00
a468668858 Fix styling of embeds in public site 2025-06-13 18:34:59 -04:00
fe30f9e9b2 Youtube embeds too 2025-06-13 18:13:43 -04:00
1f7b388a6c Clean up URL cards 2025-06-13 17:40:55 -04:00
b1ddedd586 Embed URL cards 2025-06-13 17:29:29 -04:00
0a12fe0d39
Merge pull request #6 from jedmund/refine/admin
Refine admin interface
2025-06-13 12:16:14 -07:00
bcbf7e3121 Fix component deprecated errors 2025-06-13 15:12:46 -04:00
57ec5ca9aa Fix unused CSS selector warnings 2025-06-13 15:05:18 -04:00
a75c8323ee Fix button font 2025-06-13 15:02:19 -04:00
81af86ae7f Add sorts in admin interface 2025-06-13 14:50:22 -04:00
f753d5fb8b Unify fullscreen editors 2025-06-13 14:17:26 -04:00
f1ab953b89 Style changes 2025-06-13 13:03:24 -04:00
3096c0ff51 Updates to MediaUploadModal 2025-06-13 12:43:56 -04:00
824e44a1ef Track while scrolling 2025-06-13 07:53:22 -04:00
fcf5f87177 Buttons stay under your mouse on navigation 2025-06-13 07:42:30 -04:00
d1c7a777ed Phot next/prev buttons follow you 2025-06-13 07:39:24 -04:00