- Implemented `withStalkerEpg` for fetching channel EPG data.
- Added `withStalkerFavorites` for managing favorite items.
- Created `withStalkerPlayer` for playback functionalities including link generation and error handling.
- Developed `withStalkerPortal` for managing portal state and requests.
- Introduced `withStalkerRecent` for handling recently viewed items.
- Added `withStalkerSelection` for managing selection state and pagination.
- Implemented `withStalkerSeries` for managing series and episodes, including fetching and sorting functionalities.
- Created utility functions for content mapping and sorting.
- Updated index files to export new features and utilities.
- Implemented `stalker-series.adapters.ts` for mapping VOD series seasons and episodes.
- Added utility functions for handling VOD series items and mapping to view models.
- Created unit tests for the new adapter functions in `stalker-series.adapters.spec.ts`.
- Updated `stalker.store.ts` to manage VOD series state and handle favorites.
- Enhanced `category-content-view` component to support favorite functionality for VOD items.
- Refactored favorite management in `playlists.service.ts` to ensure proper ID handling.
- Implemented `getChannelItemByNumber` utility function to retrieve channels by their number.
- Enhanced `StalkerLiveStreamLayoutComponent` and `LiveStreamLayoutComponent` to handle remote control commands for channel selection and volume adjustments.
- Updated typings to include new remote control commands and status updates.
- Refactored `RemoteControlComponent` to manage numeric input for channel selection and volume control actions.
- Improved UI for remote control with new volume and channel navigation features.
- Added service methods for volume up, down, and mute toggle in `RemoteControlService`.
This PR brings the Turkish localization to full parity with the application's current state.
### 🔄 Synchronization & Updates
- **Complete Sync:** Added ~165 missing translation keys, achieving 100% coverage.
- *New Features Covered:* Xtream Codes management, Stalker Portal settings, EPG status messages, Download manager states, and Welcome screen onboarding.
- **Correction:** Updated remote control port description to reflect the correct default port (`8765`), fixing a legacy mismatch.
- **Structure:** Ensured the translation file strictly follows the hierarchical key order of the source configuration.
- Added new component for live stream layout with sidebar and content area.
- Integrated playlist switcher and category view for better navigation.
- Implemented channel list with loading indicators and favorite functionality.
- Added EPG (Electronic Program Guide) support for channels with loading and pagination.
- Enhanced styles for responsive design and improved user experience.
- Updated routing to use the new live stream layout component.
- Modified stalker store to handle EPG fetching and search functionality.
- Introduced new actions in the StalkerPortalActions enum for EPG operations.
Add a new "Custom order" sort option that allows users to manually
reorder playlists via drag-and-drop. When this sort mode is active,
drag handles appear in front of each playlist item.
- Add SortBy.CUSTOM enum value to SortService
- Add custom order button to filter-sort-menu
- Add isDraggable input and cdkDrag support to PlaylistItemComponent
- Enable cdkDropList in RecentPlaylistsComponent when custom sort active
- Add translation key for custom order option
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace @Output() decorator with EventEmitter with modern Angular
signal-based output() function for consistency with other components.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changed from direct signal assignment to computed() wrapper to ensure
consistent reactive pattern and clearer intent.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>