Commit Graph
1824 Commits
Author SHA1 Message Date
4gray 7f67962dd7 refactor(nx): update repository structure for portals 2026-03-08 20:09:50 +01:00
4gray 256f0e0136 refactor(nx): update repository structure
Introduce new libraries to improve the boundaries and dependencies in mono repo
2026-03-08 20:01:42 +01:00
4gray 1780bb0e53 refactor: remove 'on-air' widget and related functionality from dashboard 2026-03-08 18:55:18 +01:00
4gray 3b04b5105f feat(global-favorites): implement global favorites feature with drag-and-drop support
- Added GlobalFavoritesListComponent to manage and display favorite channels.
- Created GlobalFavoritesPageComponent to serve as the main page for global favorites.
- Implemented loading and displaying of EPG data for channels.
- Introduced GlobalFavoritesService to handle fetching, removing, and reordering favorites from various sources (M3U, Xtream, Stalker).
- Enhanced unified favorite channel interface to support new features and data structures.
- Added necessary HTML and SCSS for the global favorites page layout and styling.
- Updated database schema to include position column for favorites to support ordering.
- Added typings for new database operations related to global favorites.
2026-03-08 18:17:04 +01:00
4gray 9e1ef0b0bd refactor: enhance playlist favorites handling and introduce portal activity items
- Updated the `selectFavorites` selector to filter favorites ensuring they are strings.
- Added new interfaces for `PortalActivityItem`, `PortalRecentItem`, and `PortalFavoriteItem` to standardize activity item representation.
- Introduced `StalkerPortalItem` interface to represent items in Stalker portals.
- Created utility functions for extracting and normalizing data from Stalker portal items.
- Refactored `DashboardDataService` to utilize new interfaces and utility functions for managing recent and favorite items.
- Removed deprecated mapping functions and replaced them with direct usage of new interfaces.
- Added navigation utilities for recent and favorite items to streamline routing logic.
2026-03-08 15:48:37 +01:00
4gray 39dff635eb refactor(types): add getNowPlayingPrograms method and improve type definitions 2026-03-08 11:25:38 +01:00
4gray c6bd861b49 refactor: streamline layout and styling for live stream component
- Consolidated SCSS styles for the live stream layout, reducing redundancy and improving maintainability.
- Introduced a new portal layout mixin for better structure.
- Enhanced sidebar and content container styles for improved user experience.
- Updated TypeScript component to utilize new styles and improve readability.
- Refactored channel list and recently viewed components for consistency in design.
- Optimized playlist service and store interactions for better performance.
- Added new translations for enhanced user interface clarity.
- Improved database schema with additional indexing for EPG programs.
2026-03-08 11:25:26 +01:00
4gray fb4553c55f refactor(styles): streamline style files by forwarding mixins for content grid, portal layout, and sidebar 2026-03-08 11:24:14 +01:00
4gray 268a710bf2 refactor(dashboard): improvements for dashboard widgets
- Updated dashboard activity items styles for improved layout and media representation.
- Introduced new styles for movie and series media types.
- Enhanced placeholder styles for live, movie, and series items using oklch color model.
- Added hover effects for activity items and action buttons in grid mode.
- Refactored dashboard widget shell styles for better alignment and padding.
- Created new on-air widget component with category filtering and loading skeletons.
- Implemented responsive design for on-air widget and improved empty state handling.
- Removed deprecated recent sources widget and integrated recent sources functionality into existing components.
- Updated recently watched widget to include action links for adding sources.
- Enhanced source stats widget with new styling for different source types (Xtream, Stalker, M3U).
2026-03-08 11:23:34 +01:00
4gray a8fd16b16d style: add shared styles for content grid, portal layout, and sidebar components 2026-03-08 11:21:44 +01:00
4gray bd0a1f36bf refactor: enhance error handling for playlist fetching with user-friendly messages 2026-03-07 21:45:59 +01:00
4gray 4732af8a38 feat: add external playback support and UI enhancements
- Integrated external playback functionality in category and detail views.
- Updated styles for play buttons to reflect different states (idle, launching, stop).
- Enhanced episode cards to indicate launching and active external playback states.
- Added new computed properties for managing external playback session states.
- Improved user interface for playback buttons with dynamic labels and icons based on playback state.
- Introduced new settings option to show external playback status bar on desktop.
- Updated translations for new features and UI elements.
2026-03-07 19:06:40 +01:00
4gray 3a2114c932 refactor: add portal debug logging utilities and corresponding tests 2026-03-07 19:05:56 +01:00
4gray d847524d0d feat: implement Stalker playback utilities and enhance live stream layout
- Add utility functions for handling Stalker playback, including building headers and checking cross-origin streams.
- Update the live stream layout to improve the user experience with a new empty state design.
- Refactor favorites and recently viewed components to support live channel selection and sorting.
- Introduce a new live channel sorting feature in favorites and recently viewed sections.
- Enhance the portal channels list component to handle channel overrides and sorting.
- Remove unnecessary styles and improve the overall layout for better responsiveness.
2026-03-07 12:07:13 +01:00
4gray e2cdcd5f22 feat: add portal inline player component and integrate with existing views
- Introduced `PortalInlinePlayerComponent` with SCSS styles for inline playback.
- Updated `StalkerSeriesViewComponent` to utilize the new inline player for episode playback.
- Enhanced `CategoryContentViewComponent`, `SerialDetailsComponent`, and `VodDetailsRouteComponent` to support inline playback functionality.
- Implemented time update handling and stream URL copy notifications across components.
- Created `ResolvedPortalPlayback` and `PlayerContentInfo` interfaces for structured playback data.
- Updated relevant services and stores to manage playback state and positions.
2026-03-06 23:30:16 +01:00
4gray 7bb61ab64c refactor: streamline navigation and layout handling across components
- Updated StalkerShellComponent to utilize utility functions for workspace layout detection and portal section resolution.
- Refactored StalkerVod utilities to include inline detail state normalization and added tests for new functionality.
- Modified workspace context panels to import shared components for better organization.
- Enhanced DownloadsComponent to utilize a collection context for managing categories and downloads.
- Updated FavoritesComponent to leverage a portal collection shell layout and improved category management.
- Refactored RecentlyViewedComponent to use a shared collection shell layout and optimized item filtering.
- Improved SearchResultsComponent to utilize query parameter signals for search term handling.
- Updated XtreamMainContainer and XtreamShell components to streamline layout detection and section management.
2026-03-06 23:20:57 +01:00
4gray ea55c485a7 Merge pull request #801 from markc1984/master
fix: support raw MPEG-TS (.ts) streams in all embedded video players
2026-03-05 23:42:38 +01:00
4gray 5926b152fd chore: add remote debugging port option to serve-electron command 2026-03-05 23:36:06 +01:00
4gray ee411393ce feat: Enhance settings context service with pending scroll target management
feat: Update category view to improve empty state representation

style: Refactor category view styles for better layout and responsiveness

fix: Adjust favorites component navigation logic for better routing

refactor: Improve playlist error view structure and styles for clarity

style: Revamp playlist error view styles for consistency and readability

feat: Update portal channels list to use new channel list item component

style: Clean up portal channels list styles for improved layout

refactor: Optimize portal channels list component logic and structure

feat: Implement recently viewed component navigation improvements

fix: Update global search results component for better routing

test: Add unit tests for search results component functionality

feat: Enhance search results component to handle initial query

fix: Update EPG queue service to manage preview limits effectively

style: Clean up nav list styles for better visual consistency
2026-03-05 23:35:45 +01:00
4gray e24967fc68 feat: implement Stalker portal normalization and watchdog functionality in playlists and session services
feat: enhance EPG list component with channel icon fallback and scrolling behavior
style: update styles for EPG list and playlist item components for improved UI
fix: add selection state to playlist items in recent playlists component
2026-03-05 23:35:24 +01:00
4gray 7f4c8ae9ad feat: add workspace command palette component with tests
- Implemented WorkspaceCommandPaletteComponent for executing commands.
- Added unit tests for command palette functionality.
- Updated WorkspaceShellComponent to integrate command palette and keyboard shortcuts.
- Refactored workspace context panel and shell components for improved UI and functionality.
- Enhanced tooltips and accessibility for various UI elements.
- Removed unused category management functionality from context panel.
2026-03-05 23:34:54 +01:00
4gray 698668f3e3 refactor: Enhance Stalker Live Stream Layout and EPG components
- Refactored StalkerLiveStreamLayoutComponent to improve channel selection and playback handling.
- Introduced new methods for building external playback headers and handling cross-origin streams.
- Updated EPG preview logic to use a more structured approach with EpgProgram type.
- Improved styling for channel list items, including hover effects and active states.
- Enhanced EPG view with a more responsive layout and improved item display.
- Updated video player components to ensure proper sizing and overflow handling.
- Added fallback handling for channel logos and improved action button visibility.
2026-03-05 23:34:17 +01:00
4gray e76466e250 feat: add support for additional HTTP headers in player and Stalker requests 2026-03-05 23:33:07 +01:00
4gray 2fdb8f409f feat(i18n): update translations for settings, playback, and EPG sources across multiple languages 2026-03-05 23:31:35 +01:00
4gray 96f3205868 Merge branch 'vk/dab9-add-sqlite-suppo' 2026-03-03 18:26:51 +01:00
4gray 9787f79176 fix(database): silence expected duplicate-column migration logs 2026-03-03 12:03:01 +01:00
4gray c325b94347 fix(storage): normalize playlist service return types for Electron/PWA 2026-03-03 11:45:36 +01:00
markc1984 b0e1642e6c fix: address code review issues for mpegts.js integration
- ArtPlayer: use getExtensionFromUrl for query-string-aware URL parsing
  instead of naive split('.').pop() and endsWith('.ts')
- VJS player: call player.reset() before initMpegTs() on non-TS to TS
  channel switch to prevent playback conflicts
2026-03-03 07:01:50 +00:00
markc1984 e3d1bf2048 fix: support raw MPEG-TS (.ts) streams in all embedded video players
Xtream Codes live streams with .ts format serve continuous raw MPEG-TS
data over HTTP, not HLS playlists. All three embedded players failed to
handle this: ArtPlayer had no handler, HTML5 player fed it to HLS.js,
and Video.js tried to parse it as an HLS manifest.

Add mpegts.js to handle raw MPEG-TS streams via Media Source Extensions
in ArtPlayer, HTML5 player, and Video.js. Fix the MIME type for .ts
sources from application/x-mpegURL to video/mp2t.
2026-03-03 06:47:34 +00:00
4gray 7370019abe fix: resolve type definition in playlists service 2026-03-02 23:52:42 +01:00
4gray 086eab9306 feat(storage): add SQLite-backed m3u playlists for Electron with IndexedDB migration 2026-03-02 23:41:02 +01:00
4gray 129848c4d4 feat: remove home component, and update workspace UI and routing 2026-03-02 22:31:10 +01:00
4gray 20485972c3 feat: refactor dashboard widgets, and remove the home component. 2026-03-02 22:30:16 +01:00
4gray 992b996ecd feat: general development, update core application components, and enhance build scripts. 2026-03-01 22:52:33 +01:00
4gray 9a57eaff92 fix(playlist): add content initialization state and prevent redundant imports 2026-02-28 13:16:03 +01:00
4gray 09efead104 style: enhance UI components with improved styles, search functionality, and error handling 2026-02-26 00:45:58 +01:00
4gray aa6a753aa5 style: enhance grid list component with loading skeletons and type safety
- Updated GridListComponent to use a skeleton loading UI during data fetching.
- Introduced GridListItem interface for better type safety on items input.
- Improved paginator integration with proper type definitions.
- Refactored loading state handling to utilize computed properties.

feat: Improve portal rail links with accessibility features

- Added aria-current attribute to indicate active links.
- Enhanced styling for active links with new CSS variables for selection colors.

style: Refactor styles for portal rail links and context panels

- Updated SCSS for portal rail links to improve hover and active states.
- Introduced new styles for context skeletons in workspace context panel.

feat: Implement skeleton loaders in stalker main container and workspace context panel

- Replaced ngx-skeleton-loader with custom skeleton components for better control.
- Added skeleton loading states for categories in stalker main container.

style: Refine recently added component styles and interactions

- Enhanced section styling with active state indicators and transitions.
- Improved layout and visual feedback for recently added items.

fix: Correctly handle section activation in recently added component

- Added logic to determine active sections based on selected content type.

refactor: Update XtreamShellComponent to improve import overlay handling

- Changed isImporting check to showImportOverlay for better clarity.
- Refactored section handling to use signals for state management.

style: Introduce new selection colors and effects across the application

- Added new CSS variables for selection colors and effects to enhance UI consistency.
- Updated various components to utilize new selection styles for better user experience.
2026-02-25 07:46:28 +01:00
4gray ad3f6fc206 feat(downloads): enhance downloads UI with new layout, category filtering, and improved functionality 2026-02-25 07:45:29 +01:00
4gray e1b41832a9 feat(playlist-switcher): add playlist type filters and enhance search functionality 2026-02-25 07:45:00 +01:00
4gray 853ba51c25 style(widget): add title class to focus source and improve text overflow handling 2026-02-25 07:44:03 +01:00
4gray ff76eb1af2 feat: Refactor workspace panel resizing to use a unified storage key, enhance downloads UI, and introduce new AI assistant skill definitions. 2026-02-25 00:17:34 +01:00
4gray 6cae7ade76 style(ui): enhance workspace UI with new styles and layout adjustments 2026-02-24 21:15:34 +01:00
4gray 9193f8bb80 feat(workspace): add i18n support for dashboard widgets and update translations 2026-02-24 21:14:34 +01:00
4gray edfcffb7d9 feat(routes): implement workspace layout for routing and enhance navigation structure 2026-02-24 19:18:27 +01:00
4gray 22c1e5462c refactor: code style improvements 2026-02-24 19:18:09 +01:00
4gray ae5ee88495 feat(search): conditionally render search input and add showSearchInput property 2026-02-24 19:17:08 +01:00
4gray 5e46731d26 feat(favorites): add global favorites retrieval and update layout for workspace support 2026-02-24 19:16:41 +01:00
4gray 09076d1046 style(tailwind): update form field classes to use 'w-full' for consistent styling 2026-02-24 19:15:50 +01:00
4gray 5dcdb2d305 feat(settings): enhance UI layout and improve settings navigation 2026-02-24 19:15:25 +01:00
4gray 8f799e338a feat: implement portal rail links component with dynamic navigation 2026-02-24 19:15:01 +01:00