Add IMDb movie importer feature and unify header

Introduces a new movie importer feature allowing admins to search and import movies from IMDb, including new components for search, result display, and error handling. Replaces the schedule header with a reusable menu header component. Updates routing, navigation, and HTTP service to support the new importer. Adds a poster placeholder image and improves poster error handling.
This commit is contained in:
2025-11-07 01:57:42 +01:00
parent bd7a0ed9f1
commit 4f5a8e9661
25 changed files with 338 additions and 42 deletions

36
package-lock.json generated
View File

@@ -16,7 +16,7 @@
"@angular/material": "^20.2.9",
"@angular/platform-browser": "^20.3.0",
"@angular/router": "^20.3.0",
"@infinimotion/model-frontend": "^0.0.84",
"@infinimotion/model-frontend": "^0.0.85",
"@tailwindcss/postcss": "^4.1.14",
"postcss": "^8.5.6",
"rxjs": "~7.8.0",
@@ -400,6 +400,7 @@
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.2.9.tgz",
"integrity": "sha512-rbY1AMz9389WJI29iAjWp4o0QKRQHCrQQUuP0ctNQzh1tgWpwiRLx8N4yabdVdsCA846vPsyKJtBlSNwKMsjJA==",
"license": "MIT",
"peer": true,
"dependencies": {
"parse5": "^8.0.0",
"tslib": "^2.3.0"
@@ -446,6 +447,7 @@
"node_modules/@angular/common": {
"version": "20.3.5",
"license": "MIT",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
@@ -460,6 +462,7 @@
"node_modules/@angular/compiler": {
"version": "20.3.5",
"license": "MIT",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
@@ -471,6 +474,7 @@
"version": "20.3.5",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/core": "7.28.3",
"@jridgewell/sourcemap-codec": "^1.4.14",
@@ -501,6 +505,7 @@
"node_modules/@angular/core": {
"version": "20.3.5",
"license": "MIT",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
@@ -524,6 +529,7 @@
"node_modules/@angular/forms": {
"version": "20.3.5",
"license": "MIT",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
@@ -557,6 +563,7 @@
"node_modules/@angular/platform-browser": {
"version": "20.3.5",
"license": "MIT",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
@@ -615,6 +622,7 @@
"version": "7.28.3",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
@@ -1290,9 +1298,9 @@
}
},
"node_modules/@infinimotion/model-frontend": {
"version": "0.0.84",
"resolved": "https://git.infinimotion.de/api/packages/infinimotion/npm/%40infinimotion%2Fmodel-frontend/-/0.0.84/model-frontend-0.0.84.tgz",
"integrity": "sha512-+SMFsobPpfh6H9cU54DfVl9sF9Mp1vj6HuB135Y+grWvk/nIN4wzzZLvYPIk3BDURTT1DHgg8O3m66FaBB22sQ==",
"version": "0.0.85",
"resolved": "https://git.infinimotion.de/api/packages/infinimotion/npm/%40infinimotion%2Fmodel-frontend/-/0.0.85/model-frontend-0.0.85.tgz",
"integrity": "sha512-QPiZNl//Y1JdxtXk+VScc67h1K664z68PUCXRff9fRf4IHlYXtqutc+ainK8vxOVSqqL6EEmDAtbLsRwrG6kRg==",
"license": "ISC"
},
"node_modules/@inquirer/ansi": {
@@ -1507,6 +1515,7 @@
"version": "7.8.2",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/checkbox": "^4.2.1",
"@inquirer/confirm": "^5.1.14",
@@ -3593,6 +3602,7 @@
"version": "24.8.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"undici-types": "~7.14.0"
}
@@ -3878,6 +3888,7 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.8.9",
"caniuse-lite": "^1.0.30001746",
@@ -4766,6 +4777,7 @@
"version": "5.1.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"accepts": "^2.0.0",
"body-parser": "^2.2.0",
@@ -5571,7 +5583,8 @@
"node_modules/jasmine-core": {
"version": "5.9.0",
"dev": true,
"license": "MIT"
"license": "MIT",
"peer": true
},
"node_modules/jiti": {
"version": "2.6.1",
@@ -5645,6 +5658,7 @@
"version": "6.4.4",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@colors/colors": "1.5.0",
"body-parser": "^1.19.0",
@@ -6270,6 +6284,7 @@
"version": "9.0.1",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"cli-truncate": "^4.0.0",
"colorette": "^2.0.20",
@@ -7728,6 +7743,7 @@
"node_modules/rxjs": {
"version": "7.8.2",
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"tslib": "^2.1.0"
}
@@ -7776,6 +7792,7 @@
"version": "1.90.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^5.0.2",
@@ -8432,7 +8449,8 @@
},
"node_modules/tslib": {
"version": "2.8.1",
"license": "0BSD"
"license": "0BSD",
"peer": true
},
"node_modules/tuf-js": {
"version": "3.1.0",
@@ -8464,6 +8482,7 @@
"version": "5.9.3",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -8622,6 +8641,7 @@
"version": "7.1.5",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.5.0",
@@ -8971,6 +8991,7 @@
"version": "3.25.76",
"dev": true,
"license": "MIT",
"peer": true,
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
@@ -8985,7 +9006,8 @@
},
"node_modules/zone.js": {
"version": "0.15.1",
"license": "MIT"
"license": "MIT",
"peer": true
}
}
}