adrianbonpin
ab27ba948f
fix: add image fallback chain for missing game covers in search
2026-04-28 22:30:19 +08:00
adrianbonpin
d6a9601591
fix: refactor wizard edit mode to use lazy state init instead of effect setState
2026-04-28 09:51:26 +08:00
adrianbonpin
37c5d87baa
Add admin benchmarks page with search, filter tabs, pagination, verify/remove/restore actions
2026-04-28 08:31:36 +08:00
adrianbonpin
2ab4ac5ebc
feat: add admin comments API route
...
- GET /admin/comments: list all comments with pagination, removed filter, and author search
- PATCH /admin/comments/:id/remove: admin-only soft delete
- PATCH /admin/comments/:id/restore: admin-only restore
2026-04-28 07:55:57 +08:00
adrianbonpin
6d27ec03ab
Task 2: Admin Performance Entries API Route
...
- GET /admin/performance — paginated listing with removed/verified/search filters,
joining games, gameVersions, hardware, and user tables
- PATCH /admin/performance/:id/verify — verify entry (contributor or admin)
- PATCH /admin/performance/:id/remove — soft-delete entry (admin only)
- PATCH /admin/performance/:id/restore — restore entry (admin only)
- Registered route in app/api/[[...slugs]]/route.ts and lib/api/index.ts
2026-04-28 07:52:49 +08:00
adrianbonpin
1108264e4c
feat: add admin reports API route
...
- GET /admin/reports with pagination, status filtering, joins, and batch author name lookup
- PATCH /admin/reports/:id/status to review (soft-delete entry) or dismiss
- Register route in lib/api/index.ts and app/api/[[...slugs]]/route.ts
2026-04-28 07:44:39 +08:00
adrianbonpin
d375112c8e
fix: resolve SQL ambiguity in subquery, remove unused imports, fix lint errors
2026-04-28 02:14:13 +08:00
adrianbonpin
7bcee83d03
feat: add Contact route to navigation
2026-04-28 02:10:28 +08:00
adrianbonpin
b1cdfae6b7
feat: add contact form API with Discord webhook, rate limiting, and anti-bot checks
2026-04-28 02:04:25 +08:00
adrianbonpin
3aa8ecd94f
fix: resolve benchmark sort alias mismatch and prioritize Steam Deck in deckStatus
2026-04-28 01:55:21 +08:00
adrianbonpin
4f1f654024
feat: add games listing API endpoint with search, genre/device filter, and sort
2026-04-28 01:45:13 +08:00
adrianbonpin
f35b6aee1e
feat: transfer admin check to middleware and add vertical padding
2026-04-27 23:47:24 +08:00
adrianbonpin
012ad64a0d
feat: add admin layout with sidebar, auth guard, and navbar link
...
- Admin layout with server-side auth guard (redirects non-admins)
- Reusable sidebar component with active state detection
- Navbar profile dropdown shows admin link for admin users
- Admin routes are noindexed (robots: false)
- /admin redirects to /admin/users
2026-04-27 21:02:28 +08:00
adrianbonpin
ab076a92c8
refactor: remove broken Community Trust chart (TrustBar)
...
- Remove TrustBar component and chart
- Remove trust data from game-stats API response
- Remove trust section from game detail page
- DB columns and vote endpoints preserved for future voting system
2026-04-27 20:41:28 +08:00
adrianbonpin
599cb024c9
fix: exclude null FPS entries from avgFps calculation in device stats API
2026-04-27 20:36:29 +08:00
adrianbonpin
ecd83b1d70
fix: rename device_type enum 'handled' to 'handheld', add image column
2026-04-27 20:33:25 +08:00
adrianbonpin
f228800593
feat: change user-delete to soft delete for performance entries
2026-04-27 15:36:12 +08:00
adrianbonpin
27cd5e3321
feat: add POST /api/performance/:id/report endpoint
2026-04-27 15:34:17 +08:00
adrianbonpin
b94c29da61
feat: add reports table schema for preset reporting
2026-04-27 15:30:51 +08:00
adrianbonpin
07467a4812
refactor: remove communityPresets schema, API, and routes
2026-04-27 14:29:30 +08:00
adrianbonpin
2ff54e58b3
refactor: replace communityPresets count with performanceEntries preset count
2026-04-27 14:11:27 +08:00
adrianbonpin
aa098ebaf8
feat: add owner-scoped hard delete for performance entries
2026-04-27 14:10:01 +08:00
adrianbonpin
457d6f5f39
fix: resolve 3 lint issues
...
- login-form.tsx: suppress unused-vars warning for emailChecked state
- bookmark-button.tsx: use function initializer for isLoading to avoid sync setState in effect
- saved-games.ts: remove unused 'set' parameter from check endpoint
2026-04-27 13:15:16 +08:00
adrianbonpin
10fdbe9cee
chore: build cleanup, fix lint errors in our changes, fix login Suspense boundary
2026-04-27 07:31:19 +08:00
adrianbonpin
91de833417
feat: replace fsrVersion with upscalerType/upscalerVersion, add battery & custom system columns
2026-04-27 07:18:43 +08:00
adrianbonpin
beed7f02a8
refactor: remove custom passkey routes in favor of better-auth SDK endpoints
2026-04-26 12:15:26 -05:00
adrianbonpin
12bebf5389
fix: unify password minimum length to 10 characters across all flows
2026-04-26 12:13:08 -05:00
adrianbonpin
3e86b34116
fix: correct WebAuthn origin to HTTPS default for passkey plugin
2026-04-26 12:12:18 -05:00
adrianbonpin
b0688f8f2a
Refactor: Remove server state files and update server log handling
...
- Deleted server-stopped, server.log, and server.pid files to clean up unused state.
- Updated game-page-client.tsx to enhance button accessibility with cursor-pointer class.
- Modified not-found.tsx, page.tsx, and profile/page.tsx for consistent cursor-pointer usage on links.
- Adjusted search/page.tsx and components/auth/*.tsx for improved button interactions with cursor-pointer.
- Refined navbar.tsx for better user experience with cursor-pointer on navigation links.
- Updated settings-security-tab.tsx for passkey management API endpoints and improved error handling.
- Enhanced saved-games components for better user interaction with cursor-pointer on buttons.
- General code cleanup and consistency improvements across various components.
2026-04-26 12:09:37 -05:00
adrianbonpin
18b9e5d0db
fix: resolve lint issues in settings components
...
- Fix react-hooks/set-state-in-effect by inlining data fetch in useEffect
- Replace useCallback-wrapped fetch functions with plain async functions
- Replace window.location.href with window.location.assign()
- Remove unused eslint-disable directives
- Fix double res.json() call in passkey refresh
2026-04-26 11:31:01 -05:00
adrianbonpin
93a474ef45
feat: add hardware stats API endpoints (list + detail)
2026-04-26 11:21:41 -05:00
adrianbonpin
bea155005f
feat: add security settings tab with password and passkey management
2026-04-26 11:11:48 -05:00
adrianbonpin
13ef29c6c0
feat: add performance entry submit and autocomplete API
2026-04-26 10:11:38 -05:00
adrianbonpin
877aa766e7
feat: update performanceEntries schema - typed settingsJson, add launchOptions
2026-04-26 10:09:18 -05:00
adrianbonpin
dd123d4afd
feat: add saved games API endpoints
2026-04-26 10:01:51 -05:00
adrianbonpin
9964c99c4a
feat: add savedGames schema
2026-04-26 09:59:47 -05:00
adrianbonpin
544cdb29cd
fix: address code quality issues in user API
2026-04-26 09:51:31 -05:00
adrianbonpin
8301562613
feat: extend user API with contribution history and verified count
2026-04-26 09:47:38 -05:00
adrianbonpin
8692b9828f
feat: add profile and saved games routes
2026-04-26 09:35:30 -05:00
adrianbonpin
3f955e63c3
feat: improve auth
2026-04-26 09:23:35 -05:00
adrianbonpin
2cc2834e0f
fix: align auth env var naming with NEXT_PUBLIC_SITE_URL
2026-04-26 19:35:45 +08:00
adrianbonpin
b2ce6f966b
fix: resolve build and lint issues for game page display
2026-04-26 15:59:31 +08:00
adrianbonpin
e7e16d4772
feat: add Raw Performer badge and real data to search results
2026-04-26 15:55:05 +08:00
adrianbonpin
629d8acfc5
feat: add game stats aggregation API endpoint
2026-04-26 15:42:26 +08:00
adrianbonpin
9ff44e3d15
feat: add echarts dependencies + preset performance link schema
2026-04-26 15:38:23 +08:00
adrianbonpin
668610e8fa
chore: auth flow cleanup and verification
2026-04-26 01:45:34 +08:00
adrianbonpin
9588733278
feat: add auth form validation schemas and password strength utility
2026-04-26 01:12:03 +08:00
adrianbonpin
4fc4b070dc
feat: update search page and improve details
2026-04-26 01:08:10 +08:00
adrianbonpin
6415200f34
feat: add steam game search
2026-04-25 21:37:34 +08:00
adrianbonpin
592b0c7b87
feat: initial landing and search pages
2026-04-25 21:01:00 +08:00