Commit graph

62 commits

Author SHA1 Message Date
447d370c7f Fix stutter by removing StateManager calls from playback path 2026-06-25 19:24:34 -04:00
29acef1e0a Align mpv_widget with working Python reference from Gelata 2026-06-24 15:05:47 -04:00
ec0d9b5062 Address code quality review issues across multiple files 2026-06-24 15:05:47 -04:00
4ff210cdde Wire Play button in MovieDetailView 2026-06-24 15:05:47 -04:00
93667ac65a Rewrite PlayerView with real mpv widget and playback lifecycle 2026-06-24 15:05:47 -04:00
6c246eadaa Add .player case to Page enum 2026-06-24 15:05:47 -04:00
6a7185f239 Add PlayerState model for playback navigation 2026-06-24 15:05:47 -04:00
0908acd324 Add SeekBar Swift wrapper for GtkScale 2026-06-24 15:05:47 -04:00
cd2fc99c8a Correct event error handling and add compute_expand to mpv_widget 2026-06-24 15:04:03 -04:00
463071ae89 Remove invalid mpv options and fix event handling 2026-06-24 15:04:03 -04:00
580cd1fe2b Add mpv_widget C GObject with GtkGLArea rendering 2026-06-24 00:08:46 -04:00
5bf43cf375 Delete placeholder LuminatePlayer and VideoPlayerWidget files 2026-06-24 00:03:32 -04:00
50aafca96b Rename CGtkWidgets to CModules 2026-06-24 00:01:41 -04:00
98612bb4a9 Fix warnings 2026-06-21 12:26:23 -04:00
3ee94fb0f9 Custom display logic for media types 2026-06-21 12:08:42 -04:00
2a50394264 Consolidate ItemPage and rename LibraryGrid to ItemGrid 2026-06-19 22:30:36 -04:00
b52ea45d69 Rename CAspectContainer target to CGtkWidgets 2026-06-19 20:19:43 -04:00
3a54e96d8b Implement AspectContainer and FlowGrid 2026-06-19 20:03:11 -04:00
3280c51fa5 Initial refactor 2026-06-19 01:41:08 -04:00
d1a0caf7cf Add GPL-3.0-or-later license headers to all source files 2026-06-16 12:02:03 -04:00
9a779148fb Revert "Migrate Swift Language Mode From V5 To V6"
This reverts commit 45cbfb418b.
2026-06-16 00:41:29 -04:00
45cbfb418b Migrate Swift Language Mode From V5 To V6 2026-06-16 00:39:35 -04:00
7c0a0d481f Add header documentation comments to all source files 2026-06-15 23:16:52 -04:00
662ec0caac Reorganize targets into LuminateUI with Components and Utilities 2026-06-15 22:36:41 -04:00
cd2c435a04 Defer image loading during page transition animations 2026-06-15 19:38:32 -04:00
0c011eff01 Add @Observable macro for class property mutation tracking 2026-06-15 17:47:55 -04:00
4ea5ec7efe Use type native style view modifiers 2026-06-15 15:11:25 -04:00
d4fe83be14 Update to match new upstream git repo 2026-06-15 02:16:02 -04:00
dc4fb77a66 Extract generated OpenAPI code into LuminateAPI target 2026-06-14 23:21:14 -04:00
91faf3c0f4 Update Injected state mechanism 2026-06-14 23:21:14 -04:00
428eb32be1 Add import LuminateDI to ServerSetupView.swift 2026-06-14 23:21:14 -04:00
0ecb95d7c8 Remove old DI files from LuminateCore, add import LuminateDI to consumers 2026-06-14 23:21:14 -04:00
7173da4464 Pass observer ID directly to ObserverRef init 2026-06-14 23:21:14 -04:00
86940f3d7d Add Injected property wrapper with reactive DI observer cleanup 2026-06-14 23:21:14 -04:00
be7931b062 Add InjectionValues struct to LuminateDI
InjectionValues holds optional service dependencies (client, userId,
imageService, webSocketClient, persistence) for injection throughout
the app.
2026-06-14 23:21:14 -04:00
c3a971b49e Add @unchecked Sendable conformance and @Sendable handler to DIContainer 2026-06-14 23:21:14 -04:00
2280142fe1 Add DIContainer with observer registry 2026-06-14 23:21:14 -04:00
22213037ca Fix actor isolation issue 2026-06-14 23:21:14 -04:00
0b478113ac Set up swift-format 2026-06-14 23:21:14 -04:00
2411a220fe Implement persistence layer 2026-06-14 23:21:14 -04:00
76efb1af72 ContentView stops passing removed params to HomeView 2026-06-14 23:21:14 -04:00
2e75675d05 HomeView uses @Injected, drops app/window/client/userId params 2026-06-14 23:21:14 -04:00
3e093a0446 LibraryGrid removes client parameter 2026-06-14 23:21:14 -04:00
96d776889c MediaRow removes client parameter 2026-06-14 23:21:14 -04:00
974fd8b06c HomePosterCell uses @Injected instead of client parameter 2026-06-14 23:21:14 -04:00
5f8cbf0b1e Register client, userId, imageService in DIContainer on login 2026-06-14 23:21:14 -04:00
44b5a02ab6 Add @Injected property wrapper 2026-06-14 23:21:14 -04:00
e829b8141b Add DIContainer singleton with key path registration 2026-06-14 23:21:14 -04:00
cc5c836f04 Add InjectionValues property container 2026-06-14 23:21:14 -04:00
e6d44ac1ea Add required MediaBrowser auth header and Jellyfin date format transcoder 2026-06-14 23:21:14 -04:00