adrianbonpin
93a474ef45
feat: add hardware stats API endpoints (list + detail)
2026-04-26 11:21:41 -05:00
adrianbonpin
04c0f9252b
feat: wire up settings sub-tabs in profile page
2026-04-26 11:19:17 -05:00
adrianbonpin
dd4f40b50e
feat: add linked accounts settings tab with link/unlink
2026-04-26 11:18:05 -05:00
adrianbonpin
bea155005f
feat: add security settings tab with password and passkey management
2026-04-26 11:11:48 -05:00
adrianbonpin
9b8b4290dc
feat: add settings profile sub-tab with name editing
2026-04-26 11:05:22 -05:00
adrianbonpin
ae22a65a9f
refactor: widen profile to max-w-7xl and remove avatar from header
2026-04-26 11:03:37 -05:00
adrianbonpin
882827dfa3
refactor: remove profile avatar from navbar dropdown trigger
2026-04-26 11:00:20 -05:00
adrianbonpin
b683cc01a3
docs: add profile and devices redesign implementation plan
2026-04-26 10:57:38 -05:00
adrianbonpin
8ac1fd230c
docs: add profile and devices redesign spec
2026-04-26 10:51:05 -05:00
adrianbonpin
945c8d18f6
feat: add benchmark submission page and button
2026-04-26 10:30:22 -05:00
adrianbonpin
206103d79c
feat: add main game entry wizard component
2026-04-26 10:28:30 -05:00
adrianbonpin
db677fa9bf
feat: add wizard step components
2026-04-26 10:22:56 -05:00
adrianbonpin
f89c7c3969
feat: add step indicator component with tooltips
2026-04-26 10:17:20 -05:00
adrianbonpin
83057a73ad
feat: add dynamic settings editor component
2026-04-26 10:15:33 -05:00
adrianbonpin
de0bcca409
feat: add reusable Tiptap editor component
2026-04-26 10:13:17 -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
786291ff4f
feat: integrate saved games grid into profile page
2026-04-26 10:07:16 -05:00
adrianbonpin
75341c8c19
feat: add saved games grid component
2026-04-26 10:06:25 -05:00
adrianbonpin
2cf08200c2
feat: add bookmark button to game detail page
2026-04-26 10:04:40 -05:00
adrianbonpin
6d18337f72
feat: add bookmark button component
2026-04-26 10:03:53 -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
fb686b6786
feat: add public and private profile pages
2026-04-26 09:57:28 -05:00
adrianbonpin
b586ceb837
feat: add profile components (header, stats, contributions)
2026-04-26 09:53:56 -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
53d0a52c07
feat: simplify mobile sidebar auth to Profile links
2026-04-26 09:44:29 -05:00
adrianbonpin
b2eecd008b
fix: consolidate @/lib/routes imports
2026-04-26 09:43:25 -05:00
adrianbonpin
4c6fa42b11
fix: consolidate lucide-react imports
2026-04-26 09:40:33 -05:00
adrianbonpin
af3ce06f5e
feat: simplify desktop navbar auth to Profile dropdown
2026-04-26 09:37:58 -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
a49e0d8ff0
fix: align navbar profile button styling with other nav links
2026-04-26 08:03:50 -05:00
adrianbonpin
8dfbd3ca5e
fix: use check-email endpoint instead of sign-in probe for email verification
2026-04-26 08:02:18 -05:00
adrianbonpin
d1d40c297e
feat: add check-email API endpoint for login email verification
2026-04-26 08:00:45 -05:00
adrianbonpin
17ded3618b
fix: allow signup wizard steps through middleware for authenticated users
2026-04-26 07:58:53 -05:00
adrianbonpin
dfbc5d61d6
fix: validate session server-side in proxy to prevent stale cookie redirect loops
2026-04-26 19:49:26 +08:00
adrianbonpin
25aa52ada3
fix: check specifically for session_token cookie, not all better-auth cookies
2026-04-26 19:44:37 +08:00
adrianbonpin
2cc2834e0f
fix: align auth env var naming with NEXT_PUBLIC_SITE_URL
2026-04-26 19:35:45 +08:00
adrianbonpin
067df2ba92
fix: use named export for proxy.ts per Next.js 16 convention
2026-04-26 19:35:04 +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
1f3e8b9201
feat: rewrite game page with full stats dashboard and presets
2026-04-26 15:52:47 +08:00
adrianbonpin
016d585e48
feat: add stats fetching, preset joins, and sync=1 param to game page
2026-04-26 15:49:00 +08:00
adrianbonpin
64cf13636c
feat: add FPS range, device donut, and trust bar chart components
2026-04-26 15:47:13 +08:00
adrianbonpin
20755fd0fe
feat: add historical, upscaler, and boxplot chart components
2026-04-26 15:45:26 +08:00
adrianbonpin
b4674be213
feat: add ECharts wrapper with project theme
2026-04-26 15:43:37 +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
12ef1dd537
style: update login location
2026-04-26 15:35:27 +08:00
adrianbonpin
88cd5ef0e7
chore: modify title
2026-04-26 14:40:47 +08:00
adrianbonpin
9aef6bed6a
fix: search de-sync
2026-04-26 11:41:53 +08:00
adrianbonpin
668610e8fa
chore: auth flow cleanup and verification
2026-04-26 01:45:34 +08:00
adrianbonpin
f60b3b3b08
feat: add auth controls to navbar and middleware route protection
2026-04-26 01:31:12 +08:00
adrianbonpin
8c6e326bad
feat: add login, forgot password, and reset password forms
2026-04-26 01:27:17 +08:00
adrianbonpin
284a4c1076
feat: add signup flow wizard and page
2026-04-26 01:21:34 +08:00
adrianbonpin
d09496ed6a
feat: add auth UI foundation components and layout
2026-04-26 01:17:08 +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
e03a4081ae
fix: search page logic
2026-04-25 21:07:14 +08:00
adrianbonpin
592b0c7b87
feat: initial landing and search pages
2026-04-25 21:01:00 +08:00
adrianbonpin
327dce2b19
feat(database): add community presets and game comments tables, update games and performance entries schema
...
- Created new ENUM types for game source, online multiplayer status, frame generation method, and FSR version.
- Added `community_presets` table with relevant fields and constraints.
- Added `game_comments` table to store user comments on games.
- Updated `games` table to allow null steam_app_id and added source and online_multiplayer_status columns.
- Enhanced `performance_entries` table with new fields for FSR version, frame generation method, upvotes, downvotes, and verification details.
- Established foreign key constraints for new tables and updated existing ones.
- Created indexes to optimize queries on comments and performance entries.
2026-04-25 19:13:51 +08:00
adrianbonpin
5dd30665f7
feat(api): add upvote/downvote and best-entry endpoints to performance entries
2026-04-25 18:55:48 +08:00
adrianbonpin
c3a85d1336
refactor: remove structured settings tables, use freeform JSON for presets and entries
2026-04-25 18:51:10 +08:00
adrianbonpin
bc6fc493f6
fix: resolve build, lint, and type errors - add paramName support to CRUD builder
2026-04-25 18:36:52 +08:00
adrianbonpin
1b92aecdb8
feat(db): seed settingCategories and settingDefinitions with graphics/display/audio/controls/gameplay
2026-04-25 18:32:31 +08:00
adrianbonpin
b6eb005c73
feat(api): wire all CRUD routes into Elysia server
2026-04-25 18:31:26 +08:00
adrianbonpin
eebafa12b9
feat(api): add game comments CRUD with threading, upvote, and soft delete
2026-04-25 18:30:45 +08:00
adrianbonpin
8004baf5bc
feat(api): add community presets CRUD with upvote and nested preset settings
2026-04-25 18:29:44 +08:00
adrianbonpin
2228c433b2
feat(api): add settings categories/definitions CRUD with combined full endpoint
2026-04-25 18:29:00 +08:00
adrianbonpin
128e668e01
feat(api): add performance entries CRUD with verify and stats endpoints
2026-04-25 18:28:36 +08:00
adrianbonpin
083b871842
feat(api): add hardware CRUD routes (admin-only writes)
2026-04-25 18:27:53 +08:00
adrianbonpin
3c7283382b
feat(api): add games and game versions CRUD routes
2026-04-25 18:27:36 +08:00
adrianbonpin
b606b3afeb
feat(api): add reusable CRUD route factory with auth, pagination, search, and filtering
2026-04-25 18:26:46 +08:00
adrianbonpin
bd55c1d696
feat(schema): add barrel exports for all tables, generate migration
2026-04-25 18:24:12 +08:00
adrianbonpin
1412807a04
feat(schema): add gameComments table with threading and upvotes
2026-04-25 18:21:18 +08:00
adrianbonpin
7e9dc88a49
feat(schema): add presetSettings join table
2026-04-25 18:20:58 +08:00
adrianbonpin
51e3f51846
feat(schema): add communityPresets table
2026-04-25 18:20:39 +08:00
adrianbonpin
a60be8c0a4
feat(schema): add settingDefinitions table with input type and impact level enums
2026-04-25 18:20:19 +08:00
adrianbonpin
5f71ed93cc
feat(schema): add settingCategories table
2026-04-25 18:19:57 +08:00
adrianbonpin
34b75da04d
feat(schema): add sortOrder column to hardware table
2026-04-25 18:19:42 +08:00
adrianbonpin
a31b5ea130
feat(schema): replace FSR/FrameGen booleans with enums, add verification fields to performanceEntries
2026-04-25 18:19:20 +08:00
adrianbonpin
3da593e619
feat(schema): add source enum, nullable steamAppId, onlineMultiplayerStatus to games table
2026-04-25 18:18:48 +08:00
adrianbonpin
5bc5f29281
chore: ignore .worktrees in eslint config
2026-04-25 14:53:17 +08:00
adrianbonpin
a7cafe7ae5
fix: resolve all build errors and ensure clean build
2026-04-25 14:51:06 +08:00
adrianbonpin
86d9c9b1fa
fix: resolve all lint errors
2026-04-25 14:46:40 +08:00
adrianbonpin
7b366cae5a
chore: add RP_ID, RP_NAME, and RESEND_API_KEY to env example
2026-04-25 14:45:48 +08:00
adrianbonpin
20027ecc3d
feat: add styled 404 page matching landing page theme
2026-04-25 14:44:52 +08:00
adrianbonpin
d6dc701e3f
feat(api): add user profile routes (public profile, me, sessions)
2026-04-25 14:43:32 +08:00
adrianbonpin
3ef9649322
feat(api): add application-level rate limiting middleware with IP-based tracking
2026-04-25 14:34:24 +08:00
adrianbonpin
d1e2a8f281
test(auth): add test-only auth instance with testUtils plugin and initial tests
2026-04-25 14:14:23 +08:00
adrianbonpin
a9cb8a328c
feat(db): add lastLoginMethod field to user table for last-login-method plugin
2026-04-25 14:07:45 +08:00
adrianbonpin
c0d2c8b137
feat(auth): configure Email OTP, Passkey, Last Login Method, and Admin with RBAC
2026-04-25 13:55:51 +08:00
adrianbonpin
c404e93fb0
feat(auth): define RBAC with user, contributor, and admin roles
2026-04-25 13:47:47 +08:00
adrianbonpin
f8aa64bd32
feat(auth): mount Better-Auth on Elysia server with session macro and role guards
2026-04-25 13:42:07 +08:00
adrianbonpin
8d058f02dd
fix(eden): resolve server/client detection and bundler issues
...
- Use typeof window === undefined for standard Next.js server detection
- Use NEXT_PUBLIC_SITE_URL env var instead of hardcoded localhost:3000
- Use require() for server branch to prevent Elysia from entering client bundle
- Add type assertion on require() to preserve Eden Treaty types
2026-04-25 13:25:38 +08:00
adrianbonpin
b2a9094819
feat(api): add isomorphic Eden Treaty client for end-to-end type safety
2026-04-25 13:17:59 +08:00
adrianbonpin
52ab8484cf
fix(api): add global error handler and export app type
...
- Add .onError hook for centralized error handling and consistent JSON formatting
- Export app instance and App type for Eden Treaty client integration
Reference: Task 2, Issues 1 and 2
2026-04-25 13:11:45 +08:00