mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 10:06:15 -08:00
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.
This commit is contained in:
1 parent
9e1ef0b0bd
commit
3b04b5105f
15 files changed
+1462
-16
No files matched your search
@@ -232,6 +232,8 @@ const MIGRATION_STATEMENTS = [
|
||||
`ALTER TABLE playlists ADD COLUMN favorites TEXT`,
|
||||
`ALTER TABLE playlists ADD COLUMN recently_viewed TEXT`,
|
||||
`ALTER TABLE playlists ADD COLUMN payload TEXT`,
|
||||
// v1.2.0 -> v1.3.0: Add position column to favorites for global favorites ordering
|
||||
`ALTER TABLE favorites ADD COLUMN position INTEGER DEFAULT 0`,
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -129,6 +129,8 @@ export const favorites = sqliteTable(
|
||||
.notNull()
|
||||
.references(() => playlists.id, { onDelete: 'cascade' }),
|
||||
addedAt: text('added_at').default(sql`CURRENT_TIMESTAMP`),
|
||||
/** Display order position in the global favorites list (lower = first) */
|
||||
position: integer('position').default(0),
|
||||
},
|
||||
(table) => ({
|
||||
contentPlaylistUnique: uniqueIndex(
|
||||
|
||||
Reference in new issue
Block a user