Refactor the channel list component to improve readability and
maintainability. Remove unnecessary and streamline the
template structure by using Angular's structural directives. This
enhances the clarity of the code and reduces complexity in the
HTML markup.
Set video player heights to 50vh for better responsiveness.
Update EPG content height to 50vh minus padding for improved
layout. Modify grid template rows to 50% for better space
distribution. Ensure fallback titles and descriptions in
dialog for better user experience.
Ref the EPG item to directly display the category
and description values instead of accessing the first element of
the arrays. Update the EpgListComponent to improve the handling
of EPG data and selected date filtering. Change references from
Electron to Tauri in the component to reflect the
current framework usage.
Add support for multiple EPG sources by introducing a new
`EpgStore` structure that holds a vector of `EpgSource`
instances. Replace the static `EPG_DATA` with a thread-safe
`OnceCell` containing a mutex-protected `EpgStore`.
Implement the `fetch_and_parse_epg` function to fetch and
update EPG data from a given URL, handling both gzipped
and regular XML data formats. Enhance error handling and
logging for better traceability during data fetching and
parsing.
Adds a new translation key "FETCH_SUCCESS" to English
localization, providing a success for when
the EPG is fetched successfully. This improves user
feedback and enhances the overall user experience.
Enhance the `getPortalFavorites` and `getPortalLiveStreamFavorites`
methods to include null checks for the fetched items. This prevents
potential runtime errors when accessing properties of undefined.
Additionally, improve code readability by restructuring the filter
logic a more explicit format. Add a console log for the
parsed playlist in the `addPortalFavorite` method for debugging
purposes.
Add `spellcheck="false"` and `autocomplete="off"` attributes to the
search input field in the channel list component. This improves
user experience by preventing the browser from suggesting
incorrect spellings and previously entered values, ensuring a
cleaner and more focused search experience.
Adds the "core:window:allow-set-fullscreen" capability to the
default configuration. This change enables the application to
support fullscreen mode, enhancing user experience and
providing more flexibility in window management
Enables the macOSPrivateApi in the Tauri configuration for
enhanced functionality. Updates several dependencies in
Cargo.toml to their latest versions, including xmltv,
tokio, chrono, reqwest, and flate2, ensuring better
performance and security.