kairee
|
0b92e10317
|
feat(ui): implement dark/light theme switch
|
2026-11-01 23:29:14 +08:00 |
|
kairee
|
1b76fdeda1
|
refactor: optimize video & upper rank page
|
2026-11-01 23:18:39 +08:00 |
|
kairee
|
003e65086e
|
fix(web): up list search matches up name only, not video titles
|
2026-11-01 17:57:34 +08:00 |
|
kairee
|
ff88e91640
|
feat(web): restore candidate notice on home for logged-in users
|
2026-11-01 17:52:03 +08:00 |
|
kairee
|
f96781027e
|
fix(web): keep sidebar brand text intact, stack topbar entries below
|
2026-11-01 17:48:18 +08:00 |
|
kairee
|
bc4655c143
|
feat(web): drop redundant preview pill from topbar
|
2026-11-01 17:45:25 +08:00 |
|
kairee
|
3cb9b92361
|
feat(web): move candidates/system nav to topbar, free mobile bottom nav
|
2026-11-01 17:43:42 +08:00 |
|
kairee
|
85b0f625a9
|
feat(web): clean public home header (data date, 7d fans, video count), drop status panel
|
2026-11-01 17:38:30 +08:00 |
|
kairee
|
14a4cab48b
|
feat(web): home media grid 2-up mobile / 3-up PC, 6 items, drop folder panel
|
2026-11-01 17:30:52 +08:00 |
|
kairee
|
e00331c4c6
|
feat(web): home media sections use 5-up PC / 1-up mobile grid, growth top5
|
2026-11-01 17:27:10 +08:00 |
|
kairee
|
e40905da24
|
feat(web): unify home published/growth cards with heat-strip vertical layout
|
2026-11-01 17:18:42 +08:00 |
|
kairee
|
7907216c1b
|
feat(web): add interactions-per-hour stat to up page
|
2026-11-01 17:09:25 +08:00 |
|
kairee
|
84ce1e41e8
|
feat(web): visit 204 response, up page header/sort, trim system page
|
2026-11-01 17:06:26 +08:00 |
|
kairee
|
e3bd2e601b
|
fix(web): always drain visit request body to keep keep-alive connections aligned
|
2026-11-01 15:41:47 +08:00 |
|
kairee
|
b215f8eb09
|
feat(web): report page views via sendBeacon and show stats on system page
|
2026-11-01 15:36:42 +08:00 |
|
kairee
|
3c16caac1a
|
feat(stats): buffer visits in memory and expose POST /api/visit + /api/stats
|
2026-11-01 15:34:53 +08:00 |
|
kairee
|
b5bf7d9b8f
|
feat(web): drop decoupled folder badge from video detail
|
2026-11-01 14:45:28 +08:00 |
|
kairee
|
5d7521075a
|
feat(web): show first-RE time on up page, drop decoupled folder badges
|
2026-11-01 14:41:32 +08:00 |
|
kairee
|
2ff3e7952b
|
feat(web): up avatars, follower count, and dedupe views/avg secondary
|
2026-11-01 14:34:23 +08:00 |
|
kairee
|
1ed3746f4b
|
feat(web): clickable home stats, drop recent-ingest panel, rename watch link
|
2026-11-01 14:19:27 +08:00 |
|
kairee
|
6c4287b43a
|
refactor(sync): drop favorite-folder tracking and deal
|
2026-11-01 13:59:10 +08:00 |
|
kairee
|
98cf42a113
|
style(web): cap ranking search box at 320px
|
2026-11-01 12:59:38 +08:00 |
|
kairee
|
d00fcd5c38
|
feat(web): inline toolbar with label sort, compact time, icon search
|
2026-11-01 12:56:37 +08:00 |
|
kairee
|
9be7d1cab2
|
feat(web): dropdown sort and time filters with year support
|
2026-11-01 12:45:40 +08:00 |
|
kairee
|
bc3bef0743
|
fix(analytics): shrink video efficiency and gate noisy boards by views
|
2026-11-01 12:25:27 +08:00 |
|
kairee
|
e7034cfb84
|
feat(analytics): lower maturity window to 2 days and reword about page
|
2026-11-01 12:07:47 +08:00 |
|
kairee
|
c0b0286395
|
feat(web): split video and up rankings and add about page
|
2026-11-01 11:33:15 +08:00 |
|
kairee
|
5a656d42a8
|
feat(web): add duration efficiency rankings and about payload
|
2026-11-01 11:21:42 +08:00 |
|
kairee
|
9fd277c05f
|
feat(web): cache dashboard aggregations with version invalidation
|
2026-11-01 03:27:49 +08:00 |
|
kairee
|
6aefe9ce87
|
feat(web): require login only for candidates and system
|
2026-11-01 03:09:21 +08:00 |
|
kairee
|
028b3337b0
|
fix(web): keep fan range picker open until apply
|
2026-11-01 02:47:31 +08:00 |
|
kairee
|
917a93ab92
|
feat(web): use a range calendar picker for fan dates
|
2026-11-01 02:44:33 +08:00 |
|
kairee
|
274eccba93
|
feat(web): add fan date range modes and delta column
|
2026-11-01 02:36:48 +08:00 |
|
kairee
|
d8e9a7b0f0
|
feat(web): show cumulative fan range and limit recent records
|
2026-11-01 02:14:10 +08:00 |
|
kairee
|
b6a9f598b5
|
fix(web): avoid skeleton flicker and cache overview while filtering
|
2026-11-01 02:02:26 +08:00 |
|
kairee
|
52a8d90c47
|
feat(web): use history routing and preserve scroll on filter changes
|
2026-11-01 01:55:37 +08:00 |
|
kairee
|
1b08854b25
|
fix(web): revalidate app assets and rename compose example
|
2026-11-01 01:42:26 +08:00 |
|
kairee
|
eff4b0149d
|
fix(web): show exact trend values and integer axis ticks
|
2026-11-01 01:37:55 +08:00 |
|
kairee
|
c2ef998720
|
feat(web): refresh palette, simplify ranking toolbar and drop export
|
2026-11-01 00:37:20 +08:00 |
|
kairee
|
f9a5478800
|
fix(web): fix UP card layout and fan delta semantics
|
2026-11-01 00:06:43 +08:00 |
|
kairee
|
7fcd1db987
|
fix(web): count initial import from tracked videos
|
2026-10-31 23:54:56 +08:00 |
|
kairee
|
456e06f105
|
chore(web): finalize scroll behavior and preview assertions
|
2026-10-31 23:54:01 +08:00 |
|
kairee
|
60d7b0f24f
|
fix(web): center active filters and compact mobile cards
|
2026-10-31 23:50:19 +08:00 |
|
kairee
|
cbba405271
|
feat(web): add mobile-first read-only dashboard frontend
|
2026-10-31 23:46:55 +08:00 |
|
kairee
|
257fbe009b
|
fix(web): align trend ranges, next runs and preview task records
|
2026-10-31 23:46:49 +08:00 |
|
kairee
|
19572171b8
|
feat(web): add read-only dashboard server and query layer
|
2026-10-31 23:13:54 +08:00 |
|