feat(unified-collection): add unified collection detail directive

Entire-Checkpoint: c6e522b4276c
This commit is contained in:
4gray committed 2026-04-18 10:13:41 +02:00
1 parent e0f6b34aa0
commit 562bfd009c
4 files changed
+27 -28

No files matched your search

+1
View File
@@ -12,6 +12,7 @@ export * from './lib/components/search-form/search-form.component';
export * from './lib/components/search-layout/search-layout.component';
export { WatchedBadgeComponent } from 'components';
export * from './lib/components/unified-collection/unified-collection-page.component';
export * from './lib/components/unified-collection/unified-collection-detail.directive';
export * from './lib/components/unified-collection/unified-live-tab.component';
export * from './lib/navigation/navigation.component';
export * from './lib/navigation/portal-rail-links.component';
@@ -0,0 +1,15 @@
import { Directive, inject, TemplateRef } from '@angular/core';
import { UnifiedCollectionItem } from '@iptvnator/portal/shared/util';
export interface UnifiedCollectionDetailContext {
$implicit: UnifiedCollectionItem;
item: UnifiedCollectionItem;
close: () => void;
}
@Directive({
selector: 'ng-template[unifiedCollectionDetail]',
})
export class UnifiedCollectionDetailDirective {
readonly templateRef = inject(TemplateRef<UnifiedCollectionDetailContext>);
}
+6 -21
View File
@@ -1,10 +1,7 @@
{
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"namedInputs": {
"default": [
"{projectRoot}/**/*",
"sharedGlobals"
],
"default": ["{projectRoot}/**/*", "sharedGlobals"],
"production": [
"default",
"!{projectRoot}/.eslintrc.json",
@@ -15,20 +12,13 @@
"!{projectRoot}/src/test-setup.[jt]s",
"!{projectRoot}/test-setup.[jt]s"
],
"sharedGlobals": [
"{workspaceRoot}/.github/workflows/ci.yml"
]
"sharedGlobals": ["{workspaceRoot}/.github/workflows/ci.yml"]
},
"targetDefaults": {
"@angular/build:application": {
"cache": true,
"dependsOn": [
"^build"
],
"inputs": [
"production",
"^production"
]
"dependsOn": ["^build"],
"inputs": ["production", "^production"]
},
"@nx/eslint:lint": {
"cache": true,
@@ -58,13 +48,8 @@
},
"@nx/js:tsc": {
"cache": true,
"dependsOn": [
"^build"
],
"inputs": [
"production",
"^production"
]
"dependsOn": ["^build"],
"inputs": ["production", "^production"]
}
},
"plugins": [
+5 -7
View File
@@ -27,9 +27,7 @@
"@iptvnator/portal/shared/util": [
"libs/portal/shared/util/src/index.ts"
],
"@iptvnator/epg/data-access": [
"libs/epg/data-access/src/index.ts"
],
"@iptvnator/epg/data-access": ["libs/epg/data-access/src/index.ts"],
"@iptvnator/playlist/shared/ui": [
"libs/playlist/shared/ui/src/index.ts"
],
@@ -78,9 +76,7 @@
"shared-portals": ["libs/ui/shared-portals/src/index.ts"],
"remote-control": ["libs/ui/remote-control/src/index.ts"],
"database": ["libs/shared/database/src/index.ts"],
"database-schema": [
"libs/shared/database/src/lib/schema.ts"
],
"database-schema": ["libs/shared/database/src/lib/schema.ts"],
"database-path-utils": [
"libs/shared/database/src/lib/path-utils.ts"
],
@@ -90,7 +86,9 @@
"workspace-dashboard-data-access": [
"libs/workspace/dashboard/data-access/src/index.ts"
],
"workspace-dashboard-ui": ["libs/workspace/dashboard/ui/src/index.ts"]
"workspace-dashboard-ui": [
"libs/workspace/dashboard/ui/src/index.ts"
]
}
},
"exclude": ["node_modules", "tmp"],