feat(channel): page details chaine multi-providers avec onglets et infinite scroll
CI / build-and-test (push) Successful in 13m34s
CI / build-and-test (push) Successful in 13m34s
- Strategy Pattern front: ChannelProviderInterface + 6 providers (yt/dm/tw/pt/od/ru) + factory (ids longs/courts) - ChannelContentService: cache par onglet/tri/recherche (TTL 5min), pagination nextPage - ChannelPage: header (banniere/avatar/subs/description ...plus), tabs dynamiques par capabilities, grilles videos/shorts 9:16/playlists/live, recherche debounced, tri recent/populaire, infinite scroll IntersectionObserver, skeletons/empty/error - Backend: GET /api/channels/:provider/:id/content (videos/shorts/playlists/live) natif par provider
This commit is contained in:
+12
-3
@@ -9,7 +9,13 @@
|
||||
"preview": "ng serve --configuration=production",
|
||||
"api": "node --env-file=.env.local ./server/index.mjs",
|
||||
"api:watch": "node --watch --env-file=.env.local ./server/index.mjs",
|
||||
"test:playlists": "node ./server/tests/playlist_visibility.test.mjs"
|
||||
"test:playlists": "node ./server/tests/playlist_visibility.test.mjs",
|
||||
"test:preferences": "node ./server/tests/preferences.test.mjs",
|
||||
"test:search-e2e": "node ./server/tests/search.e2e.test.mjs",
|
||||
"test:telemetry": "node ./server/tests/telemetry.test.mjs",
|
||||
"test:downloads": "node ./server/tests/download_jobs.test.mjs",
|
||||
"test:subscriptions": "node --loader ts-node/esm --experimental-specifier-resolution=node src/services/subscriptions.service.spec.ts",
|
||||
"test:search": "node --loader ts-node/esm --experimental-specifier-resolution=node src/app/search/search.service.spec.ts && node --loader ts-node/esm --experimental-specifier-resolution=node src/app/search/search-components.spec.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/build": "^20.1.0",
|
||||
@@ -21,6 +27,7 @@
|
||||
"@angular/core": "^20.1.0",
|
||||
"@angular/forms": "^20.1.0",
|
||||
"@angular/platform-browser": "^20.1.0",
|
||||
"@angular/platform-browser-dynamic": "~20.2.4",
|
||||
"@angular/router": "^20.1.6-0",
|
||||
"@google/genai": "latest",
|
||||
"axios": "^1.12.1",
|
||||
@@ -36,11 +43,13 @@
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"rxjs": "^7.8.2",
|
||||
"tailwindcss": "latest",
|
||||
"youtube-dl-exec": "^3.0.0"
|
||||
"youtube-dl-exec": "^3.0.0",
|
||||
"zone.js": "~0.15.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.14.0",
|
||||
"typescript": "~5.8.2",
|
||||
"vite": "^6.2.0"
|
||||
"vite": "^6.2.0",
|
||||
"ts-node": "^10.9.2"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user