This website requires JavaScript.
18299fbb8d
refactor(manage): use shared ConfirmDialog in comments page
adrianbonpin
2026-05-10 01:53:13 +08:00
6b6429a9e5
refactor(manage): use shared ConfirmDialog in reports page
adrianbonpin
2026-05-10 01:51:44 +08:00
f54580394d
chore(verify): storage page renders correctly in production build
adrianbonpin
2026-05-10 01:48:23 +08:00
0d1560ecc7
feat(manage): add R2 storage management page with stats, browser, cleanup
adrianbonpin
2026-05-10 01:46:14 +08:00
814a5c3d7c
feat(api): register admin storage routes and export from index
adrianbonpin
2026-05-10 01:22:33 +08:00
0772b61de8
feat(api): add admin storage management endpoints (stats, list, delete, cleanup)
adrianbonpin
2026-05-10 01:20:12 +08:00
d01e8c5ea5
feat(manage): add Suggestions and Storage nav items, reorganize sidebar sections
adrianbonpin
2026-05-10 01:15:36 +08:00
49cbd7a292
feat(manage): update SuggestionsClient to use admin paginated endpoint
adrianbonpin
2026-05-10 01:13:13 +08:00
55e5028b09
feat(api): add admin paginated suggestions endpoint
adrianbonpin
2026-05-10 01:07:24 +08:00
755d3c0f6c
feat(manage): add community suggestions moderation page
adrianbonpin
2026-05-10 01:03:55 +08:00
aedd84626d
chore(verify): hardware API already supports wattHours and tdpMax
adrianbonpin
2026-05-10 00:53:44 +08:00
eb22efc23f
feat(manage): display wattHours and tdpMax on device cards
adrianbonpin
2026-05-10 00:51:14 +08:00
13bb95b6bd
feat(manage): include wattHours and tdpMax in hardware submit body
adrianbonpin
2026-05-10 00:49:26 +08:00
e35fbf8e71
feat(manage): add wattHours and tdpMax inputs to hardware form
adrianbonpin
2026-05-10 00:46:49 +08:00
fd9d75c85f
feat(manage): add wattHours and tdpMax to DeviceFormData and DeviceItem interfaces
adrianbonpin
2026-05-10 00:44:49 +08:00
f1eec58093
chore(verify): validate shared Modal and ConfirmDialog components build and resolve correctly
adrianbonpin
2026-05-10 00:42:38 +08:00
137fba683b
feat(ui): add shared ConfirmDialog component
adrianbonpin
2026-05-10 00:39:53 +08:00
fe593fc76f
feat(ui): add modal barrel export
adrianbonpin
2026-05-10 00:34:53 +08:00
c040f36fe0
feat(ui): add shared Modal component with portal, overlay, escape handler
adrianbonpin
2026-05-10 00:32:46 +08:00
6718f1b033
fix: updates page sorting — correct version typo 971→97.1 and add semver tiebreaker
adrianbonpin
2026-05-09 23:47:50 +08:00
5ed60ef3cc
chore: fix lint/type issues from seven-feature integration
adrianbonpin
2026-05-09 23:35:21 +08:00
085ebb54d4
feat: optional screenshot upload step after benchmark submission
adrianbonpin
2026-05-09 23:30:17 +08:00
ff360c6ab4
feat: display wattHours and tdpMax on device cards
adrianbonpin
2026-05-09 23:27:37 +08:00
bb45599fe9
feat: add TDP and YouTube video inputs to benchmark submission wizard
adrianbonpin
2026-05-09 23:25:30 +08:00
b5d9f0e19b
feat: power quick-look bar, YouTube indicator, battery chart, screenshot gallery on game details
adrianbonpin
2026-05-09 23:20:34 +08:00
4998337913
feat: BatteryLifeChart component for power usage visualization
adrianbonpin
2026-05-09 23:04:20 +08:00
f03411a8be
feat: mobile hero background with gradient overlay on game details page
adrianbonpin
2026-05-09 23:01:26 +08:00
fbc041d62d
feat: filter drawer overlay on mobile for games list
adrianbonpin
2026-05-09 22:47:33 +08:00
3cbb3538da
feat: add screenshot upload/list/delete API routes
adrianbonpin
2026-05-09 22:40:05 +08:00
b7c74fcaf5
feat: add sharp dependency and screenshot processing pipeline
adrianbonpin
2026-05-09 22:36:05 +08:00
027d3ac8fc
feat: auto-pin entries with ≥10 votes and ≥80% approval
adrianbonpin
2026-05-09 22:32:19 +08:00
8ea160bd05
feat: accept tdpWatts and youtubeVideoId in performance submit/edit APIs
adrianbonpin
2026-05-09 22:29:34 +08:00
02bdbe2825
feat: include wattHours, tdpMax, and batteryLife in hardware and game stats APIs
adrianbonpin
2026-05-09 22:25:34 +08:00
666219614b
chore: generate migration 0023 for screenshots, power, youtube schema
adrianbonpin
2026-05-09 22:20:41 +08:00
8904a7b611
feat: add entryScreenshots table, wattHours/tdpMax on hardware, tdpWatts/youtubeVideoId on performanceEntries
adrianbonpin
2026-05-09 22:12:08 +08:00
c20ef2a5f4
chore: version bump to 2026.0.99, changelog, and news post
adrianbonpin
2026-05-09 22:09:23 +08:00
32386ce170
fix: resolve all ESLint errors and warnings
adrianbonpin
2026-05-09 16:38:29 +08:00
321c923464
feat: switch sitemap from static file to dynamic DB-driven generation
adrianbonpin
2026-05-09 15:31:05 +08:00
4bca9c97c9
fix: prevent localhost from being used as sitemap base URL
adrianbonpin
2026-05-09 15:12:55 +08:00
f808b8325a
feat: wire photo upload/delete changes upward for instant page-wide refresh
adrianbonpin
2026-05-09 14:00:13 +08:00
11d944bef2
fix: profile photo upload field name mismatch ('file'→'photo'), sitemap auto-run only on CLI
adrianbonpin
2026-05-09 13:55:22 +08:00
7094e05227
feat: v2026.0.98 changelog, version bump, regenerated sitemap
adrianbonpin
2026-05-09 13:33:47 +08:00
03428bdd0b
feat: add admin sitemap regeneration endpoint and cron task
adrianbonpin
2026-05-09 13:30:38 +08:00
c6a9b448d3
feat: add advanced filters and saved filter presets to search page
adrianbonpin
2026-05-09 13:27:59 +08:00
1e59224622
feat: restructure game details layout, expand sys reqs by default, optimize for mobile and controller
adrianbonpin
2026-05-09 13:19:44 +08:00
2bc6953339
feat: add public dashboard page with trending, best new releases, and most tested charts
adrianbonpin
2026-05-09 13:11:27 +08:00
2f4f0250df
feat: add public dashboard API routes for trending, best new, most tested, most reported
adrianbonpin
2026-05-09 13:07:52 +08:00
5bc85aa850
feat: add static sitemap generation script, replace dynamic sitemap with static files
adrianbonpin
2026-05-09 13:04:33 +08:00
d4a12fe19d
feat: add profile photo upload UI component and integrate into settings
adrianbonpin
2026-05-09 12:58:11 +08:00
20f1d33751
feat: add profile photo upload/delete API routes with R2 storage
adrianbonpin
2026-05-09 12:54:12 +08:00
6009366fb4
feat: add modular daily cron system with storage cleanup and orphan detection
adrianbonpin
2026-05-09 12:50:16 +08:00
393bc9a9c6
feat: add R2 storage client module with upload, delete, list, metadata
adrianbonpin
2026-05-09 12:46:47 +08:00
f59ef61634
feat: add storage_objects schema for R2 tracking
adrianbonpin
2026-05-09 12:44:49 +08:00
bb459b3146
fix: resolve submit crash (.data.id undefined) & add missing update posts
adrianbonpin
2026-05-09 00:56:01 +08:00
dcf6066b2b
feat: sitemap remediation, PWA activation, search refinements, Steam Deck UX
adrianbonpin
2026-05-05 16:20:28 +08:00
9be64359be
fix: remove Updates from navigation routes
adrianbonpin
2026-05-05 02:12:16 +08:00
52fd3b5ba4
refactor: createGameStub now uses ensureSteamGame pipeline
adrianbonpin
2026-05-05 02:10:33 +08:00
b627a15a21
refactor: game-stub route now uses ensureSteamGame pipeline
adrianbonpin
2026-05-05 02:05:36 +08:00
47ac4c218b
test: add unit tests for ensureSteamGame stub-then-sync
adrianbonpin
2026-05-05 02:01:41 +08:00
50353952db
feat: add ensureSteamGame — unified stub-then-sync entry point
adrianbonpin
2026-05-05 01:29:01 +08:00
cfd18064bd
docs: add tactical implementation plan for sync unification & nav cleanup
adrianbonpin
2026-05-05 01:16:02 +08:00
765adfa1d5
docs: architectural spec for sync unification, nav cleanup, and PWA
adrianbonpin
2026-05-05 01:10:27 +08:00
863358a8fd
fix: resolve Next.js 16 build errors
adrianbonpin
2026-05-05 00:36:17 +08:00
f0db19b243
fix: sitemaps pt.2
adrianbonpin
2026-05-04 21:41:25 +08:00
633117f452
chore: final verification fixes for sitemap reliability
adrianbonpin
2026-05-04 13:16:47 +08:00
9d3690ce50
feat: add on-demand sitemap revalidation webhook
adrianbonpin
2026-05-04 13:12:37 +08:00
0a138c3099
fix: remove non-standard host directive from robots.txt
adrianbonpin
2026-05-04 13:11:27 +08:00
16e5cf586d
feat: rewrite sitemap with ISR caching, validation, and filtered allowlist
adrianbonpin
2026-05-04 13:10:56 +08:00
26e0b510da
feat: add sitemap dynamic entries fetcher with LIMIT, validation, and error recovery
adrianbonpin
2026-05-04 13:09:02 +08:00
4fbaea9d9d
feat: add static sitemap entry allowlist (no auth pages)
adrianbonpin
2026-05-04 13:05:28 +08:00
e0df92e05e
feat: add sitemap image URL validation gate
adrianbonpin
2026-05-04 13:04:00 +08:00
ca08024cb5
feat: updates page and lint fixes
adrianbonpin
2026-05-01 10:15:13 +08:00
7bcd580397
fix: replace prose plugin with custom CSS for markdown styling
adrianbonpin
2026-05-01 09:49:26 +08:00
7749162414
fix: switch markdown pipeline to remark-rehype for proper HTML rendering
adrianbonpin
2026-05-01 09:44:47 +08:00
1abb254fef
chore: add changelog entry for updates page (v2026.0.96)
adrianbonpin
2026-05-01 09:38:21 +08:00
fbc0085e9e
feat: add typography plugin and prose styles for update viewer
adrianbonpin
2026-05-01 09:37:43 +08:00
695c3fbedf
feat: add updates route and sitemap entry
adrianbonpin
2026-05-01 09:36:44 +08:00
42cf4652dd
feat: add update viewer page with static generation
adrianbonpin
2026-05-01 09:36:03 +08:00
db36ef01e1
feat: add updates list page
adrianbonpin
2026-05-01 09:35:26 +08:00
c204c30eb9
feat: add UpdateViewer component with chapter nav and progress bar
adrianbonpin
2026-05-01 09:34:45 +08:00
cd98d6637f
feat: add ChapterNav component with mobile support
adrianbonpin
2026-05-01 09:34:04 +08:00
f8ba2d0370
feat: add ReadingProgressBar component
adrianbonpin
2026-05-01 09:33:12 +08:00
7e06dec5c0
feat: add UpdateCard component for updates list
adrianbonpin
2026-05-01 09:32:39 +08:00
edbd352b34
content: add first update post from changelog v2026.0.95
adrianbonpin
2026-05-01 09:31:57 +08:00
19c2515437
feat: add content loading utilities for updates
adrianbonpin
2026-05-01 09:31:04 +08:00
04da5d6210
chore: add markdown parsing dependencies for updates page
adrianbonpin
2026-05-01 09:29:25 +08:00
824fbbd13f
feat: rearrange game benchmark wizard and improve overall
adrianbonpin
2026-05-01 01:18:13 +08:00
293aadbff0
fix: sequential sync with 1.5s delay to avoid Steam rate limiting
adrianbonpin
2026-04-30 23:13:28 +08:00
583486de1a
feat: streaming progress for bulk sync - real-time updates
adrianbonpin
2026-04-30 23:09:35 +08:00
e38a2fabe7
fix: better error handling for bulk sync, fix NaN% progress display
adrianbonpin
2026-04-30 23:04:51 +08:00
5f037481ec
perf: parallel bulk sync with 5 concurrent requests, remove 100-game limit
adrianbonpin
2026-04-30 22:59:28 +08:00
0461beca4e
feat: review score prominent display, improved sync logic, changelog update
adrianbonpin
2026-04-30 22:24:40 +08:00
ea01438935
Fix Steam sync logic: extract retry helper, add 429/rate-limit handling, game type validation, set syncStatus on errors
adrianbonpin
2026-04-30 22:23:04 +08:00
730793d6b6
feat: add star icon and styled steam review score to game cards
adrianbonpin
2026-04-30 22:15:09 +08:00
99766d3b4b
feat: add Steam review score badge to game details hero section
adrianbonpin
2026-04-30 22:11:13 +08:00
9df2677fd5
docs: update changelog with steam reviews fix
adrianbonpin
2026-04-30 22:06:01 +08:00
2620023a96
fix: steam reviews pagination - fetch more and slice instead of broken cursor
adrianbonpin
2026-04-30 22:05:42 +08:00
d2e40a2696
fix: add missing preset fields to serialization
adrianbonpin
2026-04-30 21:59:00 +08:00
976b918397
fix: suggest edit only for non-Steam games, improve preset modal, improve steam reviews error handling, update changelog
adrianbonpin
2026-04-30 21:55:38 +08:00
2286f0793c
fix: anti-cheat is game-level, not per-device
adrianbonpin
2026-04-30 21:40:25 +08:00