Add new /community page to browse and search community-submitted icons. Implements server-side data fetching with 10-minute revalidation, SEO optimization with dynamic metadata generation, and integration with CommunityIconSearch component for rich filtering and search capabilities
Add comprehensive search and filter component for community-submitted icons. Features include real-time search with debouncing, category filtering, multiple sort options (relevance, A-Z, Z-A, newest), and grouped display by submission status. Integrates with URL query parameters for shareable filtered views
Add comprehensive LoginModal component with toggle between login and registration modes. Includes form validation, error handling, loading states, and placeholder for GitHub OAuth (coming soon). Provides accessible form with proper ARIA attributes and keyboard navigation
Add server actions that can be called from client components to trigger cache revalidation after submission status changes. Provides revalidateCommunitySubmissions for community page updates and revalidateAllSubmissions for dashboard and community pages
Add server-side utilities for fetching and transforming community gallery data from PocketBase. Includes cached and non-cached versions of fetch functions with 10-minute revalidation. Transforms CommunityGallery records to IconWithName format for use with existing icon components
Add server-side utilities for cache revalidation using Next.js revalidatePath and revalidateTag. Provides functions to revalidate community page and all submission-related pages after data changes
Add seed-db.ts script to populate PocketBase database with fake submission data. Creates test users, downloads icon images from CDN, and generates random submissions with various statuses (pending, approved, rejected, added_to_collection) for development and testing purposes
Add CommunityGallery interface for the community_gallery collection view. Add "added_to_collection" status to Submission type. Extend TypedPocketBase interface to include strongly-typed community_gallery collection
Reduce dialog overlay backdrop blur from default to 2px and decrease opacity from 50% to 30% for a more subtle, modern appearance that better matches the application's design system
Add support for new submission status "added_to_collection" indicating icons that have been officially added to the main collection. Update status priority ordering, color scheme (green badge), and display name formatting
Extract shared grid classes into GRID_CLASSES constant for reusability. Add JSDoc comments to explain the purpose of IconsGrid (non-virtualized for small lists) and VirtualizedIconsGrid (optimized for large datasets) components
Update IconCard component to handle both regular icons and community-submitted icons. Community icons use HTTP URLs as image source and link to /community/:name instead of /icons/:name for proper routing
Replace LoginPopup component with new LoginModal component for better UX. Add GitHub repository star count display. Implement authentication guards for submission button - shows login modal for unauthenticated users. Add user dropdown menu with dashboard link and sign out functionality
Add navigation links for community page and dashboard page (shown only when logged in). Implements active state highlighting for all navigation items including the new community and dashboard pages
Add comprehensive input styling for text, email, password, and search inputs with focus states and error state handling. Improves visual feedback and accessibility for form inputs
Add npm script 'seed' that runs the seed-db.ts file using bun runtime to populate the PocketBase database with fake submission data for testing and development purposes
- Deleted the biome.json configuration file.
- Updated dependencies in package.json:
- lucide-react from ^0.543.0 to ^0.544.0
- next from 15.5.2 to 15.5.4
- posthog-js from ^1.262.0 to ^1.268.7
- posthog-node from ^5.8.2 to ^5.9.1
- @biomejs/biome from 1.9.4 to 2.2.4
- Updated package manager version from pnpm@10.15.1 to pnpm@10.17.1