Commit Graph

36 Commits

Author SHA1 Message Date
daniel-c-harvey cbc43300b2 fix(css): remove ::deep from PlayerTransportZone root-element selectors, replace dead controls-left rule 2026-06-05 14:08:16 -04:00
daniel-c-harvey 190d8d044f Unify AudioPlayerBar to one responsive CSS layout and fix SpectrumVisualizer startup via StateChanged subscription 2026-06-05 14:04:31 -04:00
daniel-c-harvey 0c5ebae9c9 chore: move SpectrumVisualizer above seek slider in PlayerSeekZone 2026-06-05 13:52:46 -04:00
daniel-c-harvey 91214336c5 chore: move spectrum visualizer above seek slider; fix controls-left CSS scoping 2026-06-05 13:52:05 -04:00
daniel-c-harvey 72e9f71fbc Refactor mobile AudioPlayerBar seek to use PlayerSeekZone, removing inline duplicate gesture code 2026-06-04 20:12:57 -04:00
daniel-c-harvey f07ab4b235 fix(css): add ::deep prefix to MudBlazor component classes in AudioPlayerBar scoped styles 2026-06-04 20:04:27 -04:00
daniel-c-harvey dbf02a9426 fix(seek): guard HandlePointerLeave with _isSeeking to prevent spurious seek-to-zero on mouse-out 2026-06-04 19:53:22 -04:00
daniel-c-harvey 8420ab8d37 Migrate desktop AudioPlayerBar to MudBlazor theme surface 2026-06-04 19:28:14 -04:00
daniel-c-harvey db8a44fc79 Home Page Style Normalization Fixes (Animations) 2026-06-04 18:23:59 -04:00
daniel-c-harvey b58bcd8398 Home Page Normalization 2026-06-04 14:01:03 -04:00
daniel-c-harvey 179d11ce67 Merge branch 'player-hygiene' into dev 2026-06-03 14:33:17 -04:00
daniel-c-harvey 93569e30d1 docs: document StateChanged pattern, readiness guard, dead path removal; clear resolved TODOs 2026-06-03 14:31:51 -04:00
daniel-c-harvey 7d49c64a5d fix: enable player controls on load, clear track selection on stop and end-of-track
Add StateChanged multicast event to IPlayerService so AudioPlayerBar and TracksView
re-render themselves without relying on the IsFixed cascade re-render path. Clear
_selectedTrack in TracksView when IsLoaded drops (stop, unload, end-of-track). Set
IsLoaded=false in OnPlaybackEndCallback so end-of-track triggers the same clear path.
Add JS-module readiness probe in AudioInteropService; delete dead TS and buffered C#
path; consolidate GetPlayIcon/FormatTime helpers; fix misleading minimize dock icon.
2026-06-03 14:30:15 -04:00
daniel-c-harvey b8a51e4656 docs: update cascade type references and close resolved TODO item 2026-06-03 12:40:49 -04:00
daniel-c-harvey c1f79a3aca fix: align player cascade type to IStreamingPlayerService so consumers stop receiving null 2026-06-03 12:29:43 -04:00
Daniel Harvey e2a7944077 Proxy WASM track traffic through DeepDrftPublic to DeepDrftAPI 2026-05-25 19:11:00 -04:00
Daniel Harvey 02e230e236 Merge branch 'eliminate-public-api' into dev 2026-05-25 17:48:56 -04:00
Daniel Harvey 708836a169 docs: update CLAUDE.md files for DeepDrftPublic simplification 2026-05-25 17:33:32 -04:00
Daniel Harvey 072189be9c fix: remove orphaned EF/Npgsql refs, trailing slash on SqlApi, ITrackDataService doc 2026-05-25 13:02:14 -04:00
Daniel Harvey e334886022 Eliminate DeepDrftPublic internal track API 2026-05-25 12:55:30 -04:00
Daniel Harvey 4351302a25 Flip ITrackService/TrackManager to DTO output; TrackConverter is the sole entity<->DTO path across all consumers 2026-05-25 11:35:04 -04:00
Daniel Harvey f76c96fe34 add NotFound page, wire Routes.NotFoundPage, set log level to Debug 2026-05-21 15:55:34 -04:00
Daniel Harvey b27f687291 remove broken MudBlazor.ThemeManager 3.0.0 dependency — incompatible with MudBlazor 8.15.0, ThemeManagerTheme wrapper produced NRE in GenerateTheme; wire MudThemeProvider to DeepDrftPalettes.Default and hardcode AppBar Elevation=4 2026-05-21 15:22:52 -04:00
Daniel Harvey 94163f4ad6 fix(client): remove @layout MainLayout from _Imports.razor — DefaultLayout on RouteView covers pages; directive incorrectly applied to Routes causing double-MainLayout crash 2026-05-21 10:29:21 -04:00
Daniel Harvey 0b7475e7ea fix(MainLayout): remove redundant StateHasChanged() from OnInitialized to prevent nested ProcessRenderQueue and NullReferenceException in MudThemeProvider during SSR prerender 2026-05-21 10:02:40 -04:00
Daniel Harvey 9b6784d49a Merge branch 'routes-to-client' into dev 2026-05-21 09:07:41 -04:00
Daniel Harvey a88a523f39 fix(public): await OnSeekEnd in onpointerleave handlers (was fire-and-forget) 2026-05-21 09:06:26 -04:00
Daniel Harvey c436e564be fix(public): move Routes.razor to client assembly so InteractiveAuto can resolve it in WASM 2026-05-21 08:56:01 -04:00
Daniel Harvey 5d823868c8 docs(AudioPlayerProvider): explain IsFixed=true intent and runtime-swap caveat 2026-05-21 07:52:13 -04:00
Daniel Harvey b4fff43cb3 fix(public): break OnStateChanged callback chain and lazy-init audio player to stop circuit memory blowup 2026-05-21 07:36:55 -04:00
Daniel Harvey 2fac9e51e6 refactor(client): rename GetDarkModeAsync→GetDarkMode, drop commented JS interop, fix misleading comment 2026-05-21 06:29:13 -04:00
Daniel Harvey cb5c2fd2b9 fix(public): move DeepDrftMenu dark-mode sync to OnAfterRenderAsync to unhang SSR prerender under interactive Routes 2026-05-21 06:22:55 -04:00
Daniel Harvey 970bd4e107 fix(public): restore InteractiveAuto at router root so MainLayout hydrates 2026-05-20 21:29:39 -04:00
Daniel Harvey e8072f8b17 refactor(public): in-process ITrackDataService on server prerender; HTTP on WASM 2026-05-20 16:49:43 -04:00
Daniel Harvey 82ff20404c fix(postmerge): guard DeepDrftMenu SSR hang, add Manager root redirect, add Manager styles link 2026-05-20 15:29:40 -04:00
Daniel Harvey e5b4a79727 refactor(split): rename DeepDrftWeb -> DeepDrftPublic and DeepDrftWeb.Client -> DeepDrftPublic.Client (Phase 4) 2026-05-19 23:06:16 -04:00