Commit graph

23 commits

Author SHA1 Message Date
SergeantPanda
f5c6d2b576 Enhancement: Implement event-driven logo loading orchestration on Channels page
Introduce gated logo loading system that ensures logos render after both
ChannelsTable and StreamsTable have completed their initial data fetch,
preventing visual race conditions and ensuring proper paint order.

Changes:
- Add `allowLogoRendering` flag to logos store to gate logo fetching
- Implement `onReady` callbacks in ChannelsTable and StreamsTable
- Add orchestration logic in Channels.jsx to coordinate table readiness
- Use double requestAnimationFrame to defer logo loading until after browser paint
- Remove background logo loading from App.jsx (now page-specific)
- Simplify fetchChannelAssignableLogos to reuse fetchAllLogos
- Remove logos dependency from ChannelsTable columns to prevent re-renders

This ensures visual loading order: Channels → EPG → Streams → Logos,
regardless of network speed or data size, without timer-based hacks.
2025-12-26 12:30:08 -06:00
SergeantPanda
4f29f7f3f9 Enhancement: Conditionally render Sidebar based on authentication status 2025-11-14 16:45:38 -06:00
Dispatcharr
e9a11588c4 Init Plugins 2025-09-05 17:10:11 -05:00
SergeantPanda
73065ed319 Load logos after all initalization is done. True background logo loading. 2025-08-26 17:54:28 -05:00
SergeantPanda
386a03381c Initial frontend commit for vods. 2025-08-02 10:48:48 -05:00
SergeantPanda
489851906e Logo manager initial commit. 2025-07-15 18:19:10 -05:00
dekzter
9daa764fbb completely removed mantine-react-table, added empty / dummy output for VOD endpoints 2025-05-23 13:40:11 -04:00
dekzter
74d58515d0 user management, user levels, user level channel access 2025-05-18 11:19:34 -04:00
SergeantPanda
5c3fdc1354 Enhance JWT authentication error handling and user redirection on token issues. 2025-05-15 14:12:31 -05:00
SergeantPanda
509f2be3a8 Fixes a lot of "You provided a value prop to a form field without an onChange handler" errors.
Reworks websocket connection to be more robust and notify user of connection errors.

Will retry if websocket connection dies.
2025-05-04 10:58:38 -05:00
dekzter
eb9419ddd2 proper handling of store variables so we now aren't listening on any change from the state of a store 2025-04-19 08:49:04 -04:00
dekzter
319af59415 fixed websocket and m3u profile form 2025-04-13 09:55:07 -04:00
dekzter
663ea2c5b9 soooo many changes.... 2025-04-11 13:22:08 -04:00
dekzter
e2850441ae basic DVR UI, custom properties for recordings 2025-04-07 15:01:44 -04:00
dekzter
00f6e7c1cd first run at recordings, among other things 2025-04-05 18:59:15 -04:00
dekzter
16138592b6 epg processing optimizations, websocket success notifications, added allotment to channels page for resizing 2025-03-26 16:52:47 -04:00
dekzter
ddc35c3e7b style fixes and updates, fixed select box for channel group in channel form 2025-03-24 16:55:36 -04:00
dekzter
50f068c358 Refactored m3u refresh, optimized it, added progress notification on the frontend 2025-03-20 16:55:10 -04:00
dekzter
3bd9e5a2ef increased notification size 2025-03-17 20:52:27 -04:00
dekzter
7a7cd0711d live stats dashboard 2025-03-17 12:42:58 -04:00
dekzter
0dbdabe7bd fixed channel stream tables for now, updated their styling 2025-03-12 15:07:35 -04:00
dekzter
8bcd2a2a7a Fixed notifications 2025-03-12 14:01:27 -04:00
dekzter
e991211c9b full mantine refactor 2025-03-11 17:43:16 -04:00
Renamed from vite/src/App.jsx (Browse further)