Commit graph

334 commits

Author SHA1 Message Date
d4490fd70c fix: add missing error and successMessage state variables in ProjectForm
Fixes ReferenceError where template was using undefined variables.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 22:07:28 -04:00
cf35980104 fix: resolve build errors from variable refactoring
- Add missing variables: $unit-22x, $gray-5, $salmon-pink
- Fix AvatarSVG.svelte to use actual color values instead of SCSS variables
- SVG fill attributes cannot use SCSS variables directly

This resolves all preprocessing errors after the color system refactor.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 22:04:36 -04:00
513b40bbc4 fix: update remaining $grey- variables in SCSS files
- Fix themes.scss to use $gray- variables
- Fix tooltip.scss to use $gray- variables
- Resolves build error with undefined variables

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 22:03:19 -04:00
599797f727 refactor: standardize spacing with unit variables
Replace hardcoded pixel values with unit variables in key components:
- GalleryExtended, MediaDetailsModal, UrlEmbedExtended
- EnhancedComposer, UniverseCard, NavDropdown, Button

Key replacements:
- Spacing: 1px→$unit-1px, 8px→$unit, 16px→$unit-2x, etc.
- Font sizes: Use semantic $font-size-* variables
- Border radius: Use $corner-radius-* variables

Added missing common pixel value variables for consistency.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:50:43 -04:00
a31291d69f refactor: replace deprecated $grey- variables with $gray-
- Replace 802 instances of $grey- variables with $gray- across 106 files
- Remove legacy color aliases from variables.scss
- Maintain consistent naming convention throughout codebase

This completes the migration to the new color scale system.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:41:50 -04:00
9d201a7583 refactor: implement comprehensive color scale system
Major improvements to the color system:

1. Create proper color scales (00-100) for:
   - Gray: 14 shades from darkest to lightest
   - Red: 12 shades with brand colors
   - Blue: 12 shades for primary colors
   - Yellow: 12 shades for warnings
   - Green: 12 shades for success states
   - Orange: 12 shades for secondary accents

2. Semantic color assignments:
   - Map all semantic colors to scale values
   - Background colors use gray scale
   - Text colors use appropriate gray shades
   - Status colors (success, error, warning, info)
   - Component-specific colors reference scales

3. Backward compatibility:
   - Maintain $grey-* aliases for existing code
   - Map old variables to new scale system
   - TODO comments for future migration

This provides a more maintainable and scalable color system.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:28:37 -04:00
bd91642244 feat: add comprehensive CSS variables for colors, spacing, and animations
- Add frequently used color variables:
  - Dark colors: $black, $dark-blue, $orange-red
  - Status colors: $green-success, $red-error
  - Gray variations for backgrounds and borders

- Add shadow and overlay utilities:
  - Shadow levels: subtle, light, medium, dark, heavy
  - Overlay variations for modals and overlays
  - Border utilities for consistent borders

- Expand spacing units:
  - Add missing multipliers ($unit-7x through $unit-19x)
  - Add common pixel values for precise spacing

- Add animation/transition durations:
  - Transition speeds: instant, fast, normal, medium, slow
  - Animation speeds: fast, normal, slow, very-slow

These variables provide a foundation for replacing hardcoded values.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:20:19 -04:00
5875a52b47 refactor: standardize z-index values with CSS variables
- Create _z-index.scss with systematic z-index constants
- Replace 60+ hardcoded z-index values across 19 components
- Establish consistent layering hierarchy:
  - Base layers (1-3)
  - Interactive elements (10-200)
  - Overlays and modals (1000-1100)
  - Top-level elements (1200-10000)

This improves maintainability and prevents z-index conflicts.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:18:20 -04:00
95ab6d6f84 refactor: clean up dead code
- Remove commented getWeeklyAlbumChart line in lastfm server
- Remove commented console.log statement
- Note: TODO for authentication in api-utils.ts will be addressed in a separate security-focused task

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:03:07 -04:00
c20b9a1f85 refactor: remove 13 unused SVG files
Remove unused icons:
- dashboard.svg
- metadata.svg

Remove unused illustrations:
- jedmund-blink.svg
- jedmund-headphones.svg
- jedmund-listening-downbeat.svg
- jedmund-listening.svg
- jedmund-open.svg
- jedmund-signing-downbeat.svg
- jedmund-singing.svg
- logo-figma.svg
- logo-maitsu.svg
- logo-pinterest.svg
- logo-slack.svg

These files were identified as unused in the SVG analysis.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:02:13 -04:00
ddfe1cac8f refactor: remove 5 unused components
- Remove Squiggly.svelte
- Remove PhotoLightbox.svelte
- Remove Pill.svelte
- Remove SVGHoverEffect.svelte
- Remove MusicPreview.svelte

These components were identified as unused in the codebase analysis.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 21:00:49 -04:00
a04d48e549 feat: enhance editor with drag handle and UI improvements
- Add drag handle functionality to editor blocks
- Improve dropdown menu component with better state management
- Enhance composer with AI-powered features
- Update form components to use toast notifications
- Add chevron-right and drag-handle SVG icons
- Various bug fixes and UI refinements

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 01:06:46 +01:00
fb01527469 feat: add tooltips to link bubble menu buttons
- Create reusable tooltip action using Tippy.js
- Add tooltips to link menu buttons (copy, edit, open, remove)
- Implement visual feedback with green flash animation on URL copy
- Configure bubble menu scale animation for smooth appearance
- Add scoped tooltip styles with dark theme

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-25 01:06:17 +01:00
ae15e7978c fix: reorder universe card content and update truncation logic
- Move embeds to display before text content in UniversePostCard
- Show full content for non-essay posts (no truncation)
- Increase essay truncation limit from 150 to 300 characters
- Add styles to hide duplicate embeds in rendered content

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 18:07:51 +01:00
2bbc306762 refactor: restructure routing - albums at /albums/[slug], photos at /photos/[id]
- Move album routes from /photos/[slug] to /albums/[slug]
- Simplify photo permalinks from /photos/p/[id] to /photos/[id]
- Remove album-scoped photo route /photos/[albumSlug]/[photoId]
- Update all component references to use new routes
- Simplify content.ts to always use direct photo permalinks
- Update PhotoItem, MasonryPhotoGrid, ThreeColumnPhotoGrid components
- Update UniverseAlbumCard and admin AlbumForm view links
- Remove album context from photo navigation

Breaking change: URLs have changed
- Albums: /photos/[slug] → /albums/[slug]
- Photos: /photos/p/[id] → /photos/[id]

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 10:35:21 +01:00
3654a18cbe refactor: update album page layout to match project case study design
- Wrap album and photo content in Page component
- Use consistent white rounded rectangle container
- Update styles to work with Page component structure
- Improve visual hierarchy and spacing
- Match the design pattern used in project pages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 02:05:36 +01:00
a9cbdbf280 fix: remove invalid isPhotography check for albums
- Remove check for non-existent isPhotography field on Album model
- Albums now display correctly when published
- Fixes "Content not found" error for published albums

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 02:01:28 +01:00
7a3cde0575 fix: resolve CSS global selector placement errors
- Fix :global() selector placement in nested SCSS
- Move nested selectors out to comply with Svelte CSS rules
- :global() can only be at start or end of selector, not middle

Fixes compilation error when viewing albums on public site

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:59:05 +01:00
e305bf15ef refactor: replace button text changes with toast notifications
- Update all admin forms to use toast messages
- Remove temporary "Saving..." button text changes
- Remove inline error/success message displays
- Keep buttons disabled during operations
- Show loading, success, and error toasts appropriately

Updated components:
- AlbumForm: Save operations with descriptive messages
- StatusDropdown: Remove loading text from buttons
- MediaDetailsModal: Save, delete, and copy operations
- ProjectForm: Create and update operations
- EssayForm: Publish and save draft operations
- SimplePostForm: Create and update posts
- PhotoPostForm: Publish photo posts

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:56:26 +01:00
1a155e5657 feat: implement toast notification system
- Create toast store wrapping svelte-sonner
- Add Toaster component to root layout
- Configure admin-aware positioning
- Style toasts to match design system
- Add helper functions for common toast types

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:47:35 +01:00
ce13e5225d feat(ui): update components and stores for album support
- Update NavDropdown with album navigation support
- Enhance UniverseAlbumCard with better styling
- Update album-stream store for new album structure
- Improve now-playing-stream with better error handling
- Add TypeScript improvements throughout
- Better component prop validation

Enhances UI components for the new album system.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:15:12 +01:00
274f1447a2 refactor(server): improve utilities and admin endpoints
- Enhance Apple Music client error handling
- Improve Cloudinary audit functionality
- Update Cloudinary utilities for better performance
- Enhance logger with better formatting
- Add media statistics endpoint
- Improve thumbnail regeneration process
- Update Last.fm stream with better error handling
- Add better TypeScript types throughout

Improves server-side reliability and performance.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:14:57 +01:00
b8d965370b feat(admin): update admin pages with new editor and workflows
- Update media management page with album associations
- Enhance media audit page with better reporting
- Improve regenerate thumbnails page
- Update post pages to use EnhancedComposer
- Update universe compose page with new editor
- Update ProjectForm to use EnhancedComposer
- Add better error handling and loading states
- Improve form validation across admin pages

Modernizes admin workflows with unified components.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:14:41 +01:00
52df43b667 feat(editor): improve gallery and image components
- Enhance GalleryExtended with better layout options
- Update GalleryPlaceholder with improved media selection
- Improve ImagePlaceholder with better preview handling
- Add support for multiple gallery layouts
- Improve component styling and interactions
- Better integration with UnifiedMediaModal

Enhances content editing with improved media components.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:14:23 +01:00
0d4bf6d53f feat(admin): update admin components with improved UI and icons
- Add album and media icons for better navigation
- Update AdminNavBar with new routes and improved styling
- Enhance GalleryUploader with better drag-and-drop support
- Improve ImagePicker and ImageUploader components
- Remove unused ImageUploadPlaceholder component
- Update MediaDetailsModal with album association features
- Improve Modal component styling and animations
- Add PostDropdown for post management actions

Modernizes the admin interface with better usability.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:14:08 +01:00
78663151a8 feat(api): improve photo and media APIs with album support
- Update photo APIs to handle album associations via MediaAlbum
- Add support for album-based photo URLs
- Improve media metadata endpoint with better error handling
- Update universe API to include album relations
- Add filtering and pagination to media endpoints
- Support bulk operations for media-album associations
- Improve query performance with better includes

Enhances API flexibility for the new album system.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:13:49 +01:00
02e41ed3d6 feat(photos): enhance photo viewing with improved grids and metadata
- Add PhotoGrid component as base for photo grid layouts
- Update PhotoItem with color placeholder loading states
- Enhance PhotoMetadata display with better formatting
- Improve PhotoViewEnhanced with smoother transitions
- Update single and two-column grid layouts
- Fix photo routing for album-based photo URLs
- Add support for direct photo ID routes
- Improve photo page performance and loading states

Creates a more polished photo viewing experience.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:13:31 +01:00
cfde42c336 feat(colors): improve color analysis with better algorithms and scripts
- Add comprehensive color analysis scripts for batch processing
- Improve color extraction algorithms in color-utils.ts
- Add endpoints for reanalyzing colors on existing photos
- Add cloudinary color extraction endpoint
- Create detailed README for color analysis scripts
- Support both single and batch color reanalysis
- Improve color palette generation accuracy

Enhances photo color analysis for better visual presentation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:13:12 +01:00
e488107544 feat(admin): update album management UI for content support
- Update AlbumForm to use EnhancedComposer for content editing
- Add AlbumSelector component for album selection workflows
- Update AlbumListItem with improved styling and metadata display
- Enhance album edit/create pages with new content capabilities
- Add support for geolocation data in album forms
- Improve form validation and error handling

Modernizes the album management interface with rich content editing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:12:54 +01:00
8627b1d574 feat(editor): add geolocation support for content editing
- Add geolocation Tiptap extension for embedding maps
- Create GeolocationExtended component for rendering map embeds
- Create GeolocationPlaceholder for editor insertion
- Add GeoCard component for displaying location data
- Support latitude, longitude, zoom level, and optional labels
- Enable location-based content in albums and posts

Allows editors to embed interactive maps with specific locations.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:12:34 +01:00
b548807d88 refactor(admin): consolidate media modals into UnifiedMediaModal
- Create UnifiedMediaModal to replace MediaLibraryModal and bulk album functionality
- Remove redundant MediaLibraryModal and MediaSelector components
- Add media-selection store for better state management
- Add AlbumSelectorModal for album selection workflows
- Add InlineComposerModal for inline content editing
- Improve modal reusability and reduce code duplication

Streamlines media selection with a single, flexible modal component.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:12:13 +01:00
6604032643 refactor(editor): consolidate editors into unified EnhancedComposer
- Create EnhancedComposer as the single unified editor component
- Remove redundant editor components (Editor, EditorWithUpload, CaseStudyEditor, UniverseComposer)
- Add editor-extensions.ts for centralized extension configuration
- Enhance image placeholder with better UI and selection support
- Update editor commands and slash command groups
- Improve editor state management and content handling

Simplifies the codebase by having one powerful editor component instead
of multiple specialized ones.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:11:57 +01:00
003e08836e feat(api): add album content support and media management endpoints
- Update album CRUD endpoints to handle content field
- Add /api/albums/[id]/media endpoint for managing album media
- Add /api/media/[id]/albums endpoint for media-album associations
- Create album routes for public album viewing
- Update album queries to use new MediaAlbum join table
- Support filtering and sorting in album listings

Enables rich content albums with flexible media associations.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 01:11:30 +01:00
bb434d40dc Change default view 2025-06-19 11:27:21 +01:00
27dbdd43c0 fix: improve Cloudinary URL handling and admin navigation
- Fix extractPublicId to handle encoded URLs correctly
- Update admin media page to use goto for client-side navigation
- Add color display to media details modal
- Include color data in media API responses
- Clean up unused imports in audit page

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 02:00:00 +01:00
aa0677090b feat: enhance photo loading with color placeholders
- Use dominant color as placeholder background while images load
- Add aspect ratio support for proper image dimensions
- Improve loading state with smoother transitions
- Remove shimmer animation in favor of solid color placeholders

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 01:59:23 +01:00
90b450324b feat: add admin tools for color management
- Add regenerate page for batch thumbnail and color processing
- Add API endpoint to extract colors from Cloudinary for existing media
- Add endpoints to reanalyze colors for individual or all media
- Add media statistics endpoint
- Add thumbnail regeneration endpoint for batch processing

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 01:59:08 +01:00
dab7fdf3ac feat: add color extraction and analysis for media
- Add dominantColor, colors, and aspectRatio fields to Media model
- Integrate Cloudinary color extraction during upload
- Add smart color selection algorithm to pick aesthetically pleasing dominant colors
- Extract and store color palette information
- Include color data in photo API responses

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-19 01:58:52 +01:00
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
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
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
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
00fc9b90cc Finish fixing photos architecture 2025-06-13 07:13:06 -04:00
6b44c1b7d0 Simplify photos architecture 2025-06-13 06:55:21 -04:00
1c1b930e34 Better photos interface 2025-06-13 05:03:37 -04:00
09e83618c9 Different filmstrip, zooming images 2025-06-13 04:34:34 -04:00
610a421207 Better single photo view 2025-06-13 03:47:52 -04:00
c50b8e2e53 Add view on site button 2025-06-12 03:28:34 -07:00
c615791090 Fix slug 2025-06-12 03:28:05 -07:00
d63574a09f Fix markdown link saving 2025-06-12 02:07:12 -07:00
46d655e8f0 Better OpenGraph and HTML metadata 2025-06-11 23:58:11 -07:00
d44bcbb80e Fix some console errors 2025-06-11 22:19:07 -07:00
e07cde3837 Fix logo container size on mobile 2025-06-11 21:59:08 -07:00
6c2555b7c9 Fix sticky toolbar in editor 2025-06-11 02:09:59 -07:00
a8bee8d9da Fix footer positioning 2025-06-11 02:03:26 -07:00
c38511ed62 Fix Edra issues and spacing 2025-06-11 02:00:10 -07:00
0f8b8c9f2a Fix problematic onTransaction call 2025-06-11 01:53:39 -07:00
3ba7f6b762 We ran the linter 2025-06-11 00:54:05 -07:00
c6ce13a530 Simplify posts
We had a lot of unnecessary complexity here due to post types that never ended up getting used.

We also made the post slug field reactive and bound to the title field.

We also fixed filters on the Universe admin page so we can filter by unpublished posts too (WIP)

We also fixed the hover state of BackButton
2025-06-11 00:53:54 -07:00
3d993d76ed Remove old post types to reduce confusion 2025-06-11 00:06:44 -07:00
318f33709f Fix post types 2025-06-10 23:53:17 -07:00
0503e20b5d Make text colors consistent 2025-06-10 23:33:41 -07:00
ff87fa4e4b Fix markdown rendering 2025-06-10 23:07:59 -07:00
a423125eee Add RSS item in footer 2025-06-10 22:41:48 -07:00
8f166344b8 Add about menu item 2025-06-10 22:38:02 -07:00
451d5b0f9e Make back button consistent 2025-06-10 22:24:24 -07:00
c4eef0b1db Remove from Cloudinary on bulk delete 2025-06-10 21:53:33 -07:00
e43fd6335f Textarea component and Project form updates 2025-06-10 21:45:24 -07:00
b3c9529e3f Fix image handling in forms 2025-06-10 20:48:02 -07:00
5edc7eb33b Fix filtering for projects 2025-06-10 19:47:14 -07:00
bbced97929 Button unification 2025-06-10 19:09:23 -07:00
90735d2c83 Spacing and mobile design fixes 2025-06-10 12:06:02 -07:00
510255f1bd Make font-scaling more consistent 2025-06-10 10:29:52 -07:00
205244584f Mobile layout adjustments 2025-06-10 10:22:08 -07:00
f2a6bf3f99 Add dropdown for mobile nav 2025-06-10 09:44:34 -07:00
7869d05e1e Remove log 2025-06-10 09:44:27 -07:00
315a4ba102 Mobile fixes for horizontal scrolling 2025-06-10 09:44:23 -07:00
204cba0e6d Fix nesting errors 2025-06-10 09:21:39 -07:00
78ae1d0756 Update empty states 2025-06-10 09:15:09 -07:00
03eba54fe5 Fix more typography 2025-06-10 02:50:46 -07:00
c71ccd086b Fix some styling in project detail pages 2025-06-10 02:48:34 -07:00
5760c460e9 Mild padding update 2025-06-10 01:59:50 -07:00
cbdf4c8f36 Update blurb 2025-06-10 01:58:03 -07:00
152a7d58e1 Reduce movement 2025-06-10 01:56:35 -07:00
54068f8cdb Add link and tilt to bio on homepage 2025-06-10 01:52:34 -07:00
42a84f8ad7 Refactor project page a bit, consistent arrow icons 2025-06-10 01:46:04 -07:00
8d68219dde Use svelte motion for better spring 2025-06-10 01:00:49 -07:00
193649bc2d Add basic interactive headers 2025-06-10 00:53:51 -07:00
9ba787cd8b Add dropdown to change object publish state and fix z-index 2025-06-02 17:00:52 -07:00
458226b2ab Remove debug flag 2025-06-02 16:28:25 -07:00
a111172812 Try Cloudinary again 2025-06-02 16:27:52 -07:00
8e2fc41747 Enable svg on cloudinary 2025-06-02 15:55:38 -07:00
865b206ea3 Fix Button in labs 2025-06-02 15:21:28 -07:00
4af4c86ce8 Basic CSS spring on logo when hovering tiltcard 2025-06-02 14:59:44 -07:00
c4ff529bf6 Update typography 2025-06-02 14:50:55 -07:00
53fe4c429f Better lab card styles 2025-06-02 14:43:06 -07:00
69193db45a Better labs cards 2025-06-02 14:34:23 -07:00
2203e050bf Fix header scrolling transition on public 2025-06-02 14:11:28 -07:00
5dba6af729 Page styling 2025-06-02 14:02:35 -07:00
c32e770396 Fix photo albums + spacing 2025-06-02 13:52:13 -07:00
f07438ce92 Fix and style permalinks for posts 2025-06-02 13:42:18 -07:00
4a0137d036 Fix TS warnings 2025-06-02 13:04:11 -07:00
4a82426dd5 Get rid of explicit excerpt on Post 2025-06-02 13:03:03 -07:00
e029c6b61d Universe card styling
Fine tuning styles
2025-06-02 12:23:30 -07:00
46aa8f1155 Slideshow thumbnail overflow behavior 2025-06-02 10:49:45 -07:00
0354b798d3 Fine-tuning slideshow 2025-06-02 10:23:35 -07:00
7894750d2b Fix attaching new photos in new album 2025-06-02 09:48:53 -07:00