Skip to contentBack to changelogv1.6.02026-01-17
feat: Add interests to onboarding, likes system, tags display, and code quality improvements
New Files
Database Migrations
supabase/migrations/20260117000000_add_photo_album_likes.sql - Photo and album likes tables migration
supabase/migrations/20260117100000_add_likes_count_columns.sql - Likes count columns migration
Components
src/components/shared/LikeButton.tsx - Like button component with heart icon
src/components/shared/LikeButton.module.css - Styles for like button
src/components/shared/CardLikes.tsx - Component for displaying like counts on cards
src/components/shared/DetailLikesSection.tsx - Component for showing full list of likers
src/components/shared/LikerAvatars.tsx - Component for displaying avatars of users who liked
src/components/shared/LikesSection.tsx - Likes section wrapper component
src/components/shared/Popover.tsx - Popover component for likes detail view
src/components/shared/TagsSection.tsx - Component for displaying tags on photo/album detail pages
src/components/shared/TagShape.tsx - SVG component for tag pointed left edge (extracted from Tag.tsx)
src/components/gallery/PhotosPaginated.tsx - Client component for infinite scroll photos
src/components/gallery/AlbumsPaginated.tsx - Client component for infinite scroll albums
Pages
src/app/gallery/photos/page.tsx - Dedicated page for all recent photos with pagination
src/app/gallery/recent-likes/page.tsx - Dedicated page for recently liked photos with pagination
src/app/gallery/albums/page.tsx - Dedicated page for all albums with pagination
API Routes
src/app/api/gallery/photos/route.ts - API endpoint for paginated recent photos
src/app/api/gallery/recent-likes/route.ts - API endpoint for paginated recently liked photos
src/app/api/gallery/albums/route.ts - API endpoint for paginated albums
Data Layer
src/lib/data/likes.ts - Server-side likes data fetching functions
src/lib/actions/likes.ts - Server actions for liking/unliking photos and albums
Hooks
src/hooks/useLikes.ts - Client-side hooks for likes functionality
src/hooks/useAuthPrompt.tsx - Hook for authentication prompts
Icons
public/icons/heart.svg - Heart icon for unliked state
public/icons/heart-filled.svg - Heart icon for liked state
Configuration
.vscode/settings.json - Switched to ESLint for formatting (removed Prettier)
eslint.config.mjs - Added JSX formatting rules for props on new lines
package.json - Removed Prettier
Modified Files
Onboarding
src/app/onboarding/OnboardingClient.tsx - Added interests input field, test mode support, increased form width
Account Settings
src/app/account/page.tsx - Updated to support 10 interests, integrated popular interests dropdown
Components
src/components/shared/InterestInput.tsx - Updated to show popular interests dropdown when focused
src/components/shared/ProfileStatsBadges.tsx - Added likes received badge
src/components/shared/MemberCard.tsx - Added "joined X ago" badge
src/components/shared/Tag.tsx - Refactored: extracted SVG to TagShape, use CSS custom properties, simplified layout
src/components/photo/JustifiedPhotoGrid.tsx - Fixed attribution display on profile pages
src/components/photo/PhotoPageContent.tsx - Added likes functionality and tags display
src/components/album/AlbumCard.tsx - Added likes functionality
src/components/events/EventImage.tsx - Fixed prop types to handle href internally
Gallery
src/app/gallery/page.tsx - Added "Recently liked" section, reduced initial display to 10 items, added "View all" buttons
src/lib/data/gallery.ts - Added getRecentlyLikedPhotos function
Profile Pages
src/app/[nickname]/page.tsx - Fixed attribution display in JustifiedPhotoGrid
src/app/[nickname]/album/[albumSlug]/page.tsx - Added likes functionality
src/app/[nickname]/album/[albumSlug]/AlbumContent.tsx - Added likes functionality and tags display
Data Layer
src/lib/data/albums.ts - Updated to include likes_count and tags
src/lib/data/index.ts - Added likes module export
src/lib/data/profiles.ts - Updated profile interests handling, added tags to photo queries
Types
src/types/photos.ts - Added PhotoLike type
src/types/albums.ts - Added AlbumLike type
Database Types
src/database.types.ts - Regenerated to include photo_likes, album_likes tables and likes_count columns
Revalidation
src/app/actions/revalidate.ts - Added likes-related revalidation functions
Other
src/app/page.tsx - Minor updates
src/app/members/page.tsx - Minor updates
src/app/members/tag/[tag]/page.tsx - Minor updates
- Various component styling and accessibility improvements