v2.0.0
Highlights
-
City detail pages
- Added full city detail page UI with cover photo, info cards, and photo listing.
- Implemented city description editing and improved city detail layout and styling.
- Fixed URL-encoded city names in page metadata.
- Introduced a
FramedPhotocomponent and redesigned the city photo gallery layout. - Replaced the old commented photo grid with the new
FramedPhoto-based layout.
-
Discover map & photo selection
- Added a photo selection panel on the discover map with click handlers.
- Improved the photo grid layout and spacing in the discover panel.
- Implemented a mobile drawer for photo selection in the discover view.
- Added a conditional single-column layout when photos are selected.
-
Photo gallery & image handling
- Iteratively refined gallery layout, spacing, max heights, and metadata display.
- Improved empty state UI for the photo slider.
- Standardized responsive grid layouts across photo galleries.
-
Rich text editor & blog posts
- Added a Tiptap-based rich text editor with custom extensions, toolbar, and form integration.
- Implemented S3 image upload and deletion in the editor using presigned URLs.
- Updated post form schema with a
contentfield and visibility enum. - Added post edit and detail pages, plus update mutation support.
- Added a visibility filter to blog post slug queries and improved post form layout.
-
File uploader & S3 integration
- Redesigned the
FileUploaderwith a modern UI, better UX, and skeleton loading states. - Implemented safe file deletion with loading and error handling.
- Added max-width constraints and prevented deleted images from reappearing.
- Passed folder parameters to presigned URL creation and renamed Cloudflare/R2 constants and modules to S3-oriented names for clarity.
- Redesigned the
-
Dashboard, profile, and security
- Standardized dashboard layout padding and reorganized components into view modules.
- Added real-time dashboard statistics with loading states and skeletons.
- Reorganized the profile page into a tabbed interface and extracted shared auth utilities.
- Improved security and profile management with enhanced device info and styling.
- Simplified navigation user dropdown and sidebar navigation.
-
Map & geospatial data
- Added configurable map interaction controls.
- Consolidated visited countries queries into a single GeoJSON-powered endpoint.
- Adjusted dashboard layout to better accommodate maps and spacing.
-
Performance, UX, and refactors
- Optimized image quality settings and improved loading placeholders.
- Simplified multiple components, reorganized editor files, and cleaned up unused extensions.
- Replaced various legacy names and modules to improve clarity and provider flexibility.
-
Documentation
- Expanded the photo URL migration guide with more detailed upgrade steps.
- Improved the main README formatting and added a star history section.
Upgrade Notes
- Image and file handling now rely on S3-style configuration and presigned URLs.
- Rich text content and visibility are now first-class fields in the post schema.
- Some editor and dashboard components have been moved into new directory structures; custom imports may need to be updated accordingly.