Commit Graph

2046 Commits

Author SHA1 Message Date
Thomas Camlong
a369676609 feat(web): enhance community page 2025-10-01 19:08:16 +02:00
Thomas Camlong
49aab75953 format code + change env 2025-10-01 19:01:31 +02:00
Thomas Camlong
0a4a4a78f4 feat(web): add community icons browse page
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
2025-10-01 18:23:22 +02:00
Thomas Camlong
07f196f12f feat(web): add community icon search component
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
2025-10-01 18:23:19 +02:00
Thomas Camlong
63507a767a feat(web): add login and registration modal component
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
2025-10-01 18:23:15 +02:00
Thomas Camlong
d221fb5c79 feat(web): add submission server actions for cache management
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
2025-10-01 18:23:12 +02:00
Thomas Camlong
c0851a73c7 feat(web): add community gallery server utilities
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
2025-10-01 18:23:09 +02:00
Thomas Camlong
77e55e750f feat(web): add cache revalidation utilities
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
2025-10-01 18:23:05 +02:00
Thomas Camlong
b277ceb9a0 feat(web): add database seeding script for testing
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
2025-10-01 18:23:02 +02:00
Thomas Camlong
7653ee6e17 feat(web): add CommunityGallery interface and collection type
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
2025-10-01 18:22:53 +02:00
Thomas Camlong
fd8b50776a style(web): improve dialog overlay backdrop blur
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
2025-10-01 18:22:50 +02:00
Thomas Camlong
5f5e3ef825 feat(web): add "added_to_collection" status to submissions
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
2025-10-01 18:22:48 +02:00
Thomas Camlong
bf93408568 refactor(web): extract grid classes and add documentation
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
2025-10-01 18:22:44 +02:00
Thomas Camlong
db893d4f97 feat(web): add support for community icons in icon card
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
2025-10-01 18:22:42 +02:00
Thomas Camlong
fc39fd12c9 feat(web): refactor header with login modal and github stars
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
2025-10-01 18:22:39 +02:00
Thomas Camlong
c11bcfa179 feat(web): add community and dashboard links to navigation
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
2025-10-01 18:22:35 +02:00
Thomas Camlong
ddf1f13d7a style(web): add enhanced input styling for better UX
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
2025-10-01 18:22:33 +02:00
Thomas Camlong
da40db6183 build(web): add seed script for database population
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
2025-10-01 18:22:30 +02:00
Thomas Camlong
3d0eab4f01 chore(web): remove outdated migration files 2025-10-01 15:52:34 +02:00
Thomas Camlong
3f4052080c chore(web): remove unused database files 2025-10-01 15:51:55 +02:00
Thomas Camlong
c02e773be4 docs(web): remove SEO audit documentation file 2025-10-01 15:47:42 +02:00
Thomas Camlong
1b2837ac5a feat(web): add admin dashboard page for managing icon submissions 2025-10-01 15:47:26 +02:00
Thomas Camlong
fb99a7ff9a feat(web): add submissions data table with filtering, sorting, and pagination 2025-10-01 15:47:25 +02:00
Thomas Camlong
be90e727c1 feat(web): add submission details dialog component with review and approval functionality 2025-10-01 15:47:23 +02:00
Thomas Camlong
f600ba5abb feat(web): add user display component with avatar and username 2025-10-01 15:47:22 +02:00
Thomas Camlong
36d4128e96 feat(web): add user authentication button with login and profile popover 2025-10-01 15:47:21 +02:00
Thomas Camlong
3b6a8ad39f feat(web): add custom hook for managing icon submissions with React Query 2025-10-01 15:47:19 +02:00
Thomas Camlong
9e2aeea596 feat(web): add React Query provider wrapper component 2025-10-01 15:47:18 +02:00
Thomas Camlong
5194a53fda feat(web): add PocketBase client initialization and type definitions 2025-10-01 15:47:16 +02:00
Thomas Camlong
b8920b912a feat(web): add PocketBase backend with migrations and database 2025-10-01 15:47:15 +02:00
Thomas Camlong
a93034d5b5 chore: add root pnpm lockfile for workspace 2025-10-01 15:47:14 +02:00
Thomas Camlong
a69830c98d chore: add root package.json for monorepo workspace configuration 2025-10-01 15:47:12 +02:00
Thomas Camlong
a1bbfd6d23 chore: add VS Code workspace configuration file 2025-10-01 15:47:11 +02:00
Thomas Camlong
c56586f5ba feat(web): integrate PocketBase authentication with LoginPopup in header 2025-10-01 15:47:02 +02:00
Thomas Camlong
e10008ece5 refactor(web): move development environment check before useEffect hook in Carbon component 2025-10-01 15:47:01 +02:00
Thomas Camlong
69d0b1f2e5 feat(web): wrap app with react-query Providers in root layout 2025-10-01 15:46:59 +02:00
Thomas Camlong
779a7a48ab chore(web): update lockfile for new dependencies 2025-10-01 15:46:57 +02:00
Thomas Camlong
579ad9d6eb feat(web): add pocketbase, tanstack query, and turbo dependencies with backend scripts 2025-10-01 15:46:56 +02:00
Thomas Camlong
763a204c8e chore(web): disable useUniqueElementIds linter rule in biome config 2025-10-01 15:46:55 +02:00
Thomas Camlong
036effc872 docs(web): remove SEO audit documentation file 2025-10-01 15:46:53 +02:00
Thomas Camlong
eedded4e47 chore(web): add backend and turborepo to gitignore 2025-10-01 15:46:51 +02:00
Thomas Camlong
9cbcb67feb feat (web): Make buttons always cursor-pointer 2025-10-01 15:45:43 +02:00
Thomas Camlong
03649e45e1 testing ci 2025-10-01 10:02:14 +02:00
Thomas Camlong
73e787e5b8 feat (web): Turn into nextjs standalone output 2025-10-01 09:56:29 +02:00
Thomas Camlong
b5c72677fc chore: format codebase 2025-09-29 11:01:14 +02:00
Thomas Camlong
68970f5908 chore: update biome config + package dependencies
- 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
2025-09-29 10:55:52 +02:00
dashboard-icons-manager[bot]
27d453b92e feat(icons): add sketchup-make (#2166)
Some checks failed
Trigger Cloudflare Pages Build / cron_job (push) Has been cancelled
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-09-28 18:57:21 +02:00
dashboard-icons-manager[bot]
f73c6abec5 feat(icons): add crowdin (#2165)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-09-28 13:17:24 +02:00
dashboard-icons-manager[bot]
f2961b278d feat(icons): add linuxdo (#2162)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-09-28 12:40:31 +02:00
dashboard-icons-manager[bot]
c3db8bf459 feat(icons): add nezha (#2161)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-09-28 12:38:31 +02:00