Admin
a10426b3f1
feat(frontend): hide playlists if the user doesn't have any
2026-07-14 19:24:41 +02:00
Admin
f101ce69a0
Changes
2026-07-14 19:11:58 +02:00
Admin
cb7aa32567
fix(frontend): change max recent tracks
2026-07-14 18:51:42 +02:00
Admin
92aec73b9d
feat(frontend): persistent player volume
2026-07-14 18:48:57 +02:00
Admin
79119fe3fa
style(frontend): drop card background on explore results, match home track style
2026-07-14 14:30:19 +02:00
Admin
26f2c92bec
style(frontend): make explore search bar span full width
2026-07-14 14:28:54 +02:00
Admin
1e21c6dad9
feat(frontend): search tracks live as you type on explore page
2026-07-14 14:27:38 +02:00
Admin
2208453775
style(frontend): restore original card sizes and stretch all home grids full width
2026-07-14 14:24:28 +02:00
Admin
d05dc74f90
style(frontend): let recently-played cards fill the full page width
2026-07-14 14:22:55 +02:00
Admin
fc298ac1dd
style(frontend): enlarge recently-played section on home page
2026-07-14 14:20:51 +02:00
Admin
597fc7387a
fix(frontend): give duration and remove-track their own grid columns
2026-07-14 14:11:36 +02:00
Admin
054160d68b
style(frontend): move remove-track button to the far right of the row
2026-07-14 14:08:45 +02:00
Admin
815aca64bc
fix(frontend): contain NowPlaying indicator inside playlist play button
2026-07-14 14:06:48 +02:00
Admin
095088fb65
style(frontend): polish playlist page header, back link and action buttons
2026-07-14 14:04:31 +02:00
Admin
c4aea1f7a1
feat(frontend): show track duration in a Spotify-style table on playlist page
2026-07-14 14:00:23 +02:00
Admin
4ebcd69eeb
feat(backend): expose track duration and listen count in track response
2026-07-14 13:54:12 +02:00
Admin
877f2c42a4
refactor(backend): rename AudioTranscoderConfiguration/Service to AudioConfiguration/AudioService
2026-07-14 13:54:08 +02:00
Admin
7ac105f113
refactor(backend): return AudioTranscodeResult with status code and duration
2026-07-14 13:49:28 +02:00
Admin
71c0bfa418
feat(backend): add migration for Track.Duration column
2026-07-14 13:48:05 +02:00
Admin
1711012541
feat(backend): extract audio duration during transcoding and persist to track
2026-07-14 13:47:52 +02:00
Admin
d889aa63c5
chore(frontend): allow dev server to fall back to a free port
2026-07-14 13:26:11 +02:00
Admin
5905f56e84
feat(frontend): show recently played from listening history on home
2026-07-14 13:26:08 +02:00
Admin
5fe0f6ff32
fix(backend): order listening history by recency and cap to 15 tracks
2026-07-14 13:26:04 +02:00
Admin
2abca7f08d
fix(frontend): apply display font to page titles missing it
2026-07-14 13:23:56 +02:00
Admin
b372028e0a
refactor(frontend): drop downloads/import nav, promote library above upload
2026-07-14 13:23:51 +02:00
Admin
e4830ad73f
feat(frontend): drive seek bar with rAF for smooth playback progress
2026-07-14 13:23:44 +02:00
Admin
9b866cb5f1
docs: add project README and frontend pages notes
2026-07-14 04:55:44 +02:00
Admin
0f776078f3
refactor(frontend): tidy Navbar, Footer and document shell
...
Align Navbar and Footer with the new design tokens and enable stable scrollbar gutter on the document.
2026-07-14 04:55:44 +02:00
Admin
dd41d23144
chore(frontend): add font/icon deps and dev config
...
Add @fontsource-variable (manrope/sora/inter), @lucide/svelte and @types/node, mark @lucide/svelte as noExternal for SSR, and add the dev-server launch config.
2026-07-14 04:55:39 +02:00
Admin
c544a6c78c
feat(frontend): rework home page with recent, latest and playlists
...
Add SSR data loading for the home page and rebuild its layout (greeting hero, recently played, new releases, user playlists).
2026-07-14 04:55:12 +02:00
Admin
0b4e61b3ab
feat(frontend): add (app) route group and rework auth routing
...
Move authenticated pages under an (app) group with a Sidebar shell, add /auth/login and page-based /login, drop the old explore page and login +server endpoint, and add the server upload helper.
2026-07-14 04:55:04 +02:00
Admin
1f531ea70e
feat(frontend): rework audio player and shared UI components
...
Expand the player store, split player controls (transport, seek, volume, track info), add Cover/PlaylistArt/NowPlaying UI primitives and a cover image proxy route.
2026-07-14 04:54:51 +02:00
Admin
458c20335e
feat(frontend): add theme tokens and dynamic accent palette
...
Introduce theme.css design tokens, color/palette helpers, and global layout styles (scrollbars, animations, home gradient).
2026-07-14 04:54:45 +02:00
Admin
54484d9fd4
feat(tracks): add track cover endpoint
...
Serve cover images via GET /tracks/{id}/cover with a size parameter, streamed from storage with long-lived immutable cache headers.
2026-07-14 04:54:40 +02:00
Admin
5c1edc0dc7
feat(tracks): add user listening history
...
Record a listening-history entry when a stream ticket is issued and expose GET /users/{id}/listening-history to read it back.
2026-07-14 04:54:35 +02:00
Admin
bbc115ca84
feat(frontend): play tracks from the explore page
2026-07-06 02:40:44 +02:00
Admin
c04d79beb0
feat(frontend): music player component with separated controls and stream proxy
2026-07-06 02:40:44 +02:00
Admin
e34347e450
refactor(application): drop redundant default values on query records
2026-07-06 02:23:35 +02:00
Admin
7aa5350484
fix(playlists): reject empty/whitespace name and description on update
2026-07-06 02:20:47 +02:00
Admin
1769df12d5
refactor(search): treat empty search strings as no filter (string.IsNullOrEmpty)
2026-07-06 02:12:58 +02:00
Admin
7f439b168b
feat(frontend): add /explore page with track listing and name search
2026-07-06 02:05:47 +02:00
Admin
5cca9a80dd
chore(frontend): regenerate api types with track name search
2026-07-06 02:04:04 +02:00
Admin
fabd26e42f
feat(tracks): support search by name in GetTracks
2026-07-06 02:04:01 +02:00
Admin
047d5da319
chore(frontend): generate backend API types from live OpenAPI spec
2026-07-06 01:54:28 +02:00
Admin
72a7d13f6d
feat(frontend): add typed backend API client (openapi-fetch) with codegen script
2026-07-06 01:52:25 +02:00
Admin
dadeac3571
refactor(frontend): require refresh/id token in Session, validate at callback boundary
2026-07-05 23:57:19 +02:00
Admin
757c74b899
refactor(frontend): restrict insecure HTTP issuer to dev / explicit opt-in
2026-07-05 23:56:35 +02:00
Admin
b9d14412e6
refactor(frontend): make SessionUser fields non-null and normalize claims at boundary
2026-07-05 23:45:18 +02:00
Admin
539fad1d22
refactor(frontend): centralize configurable auth/session values in config.ts
2026-07-05 23:43:50 +02:00
Admin
46c7d5dbc7
feat(frontend): encrypt session cookie (JWE) and auto-refresh access token
2026-07-05 23:41:49 +02:00