diff --git a/src/angular/frontend/package.json b/src/angular/frontend/package.json
index 4028718..40cb352 100644
--- a/src/angular/frontend/package.json
+++ b/src/angular/frontend/package.json
@@ -17,7 +17,9 @@
"@angular/forms": "^19.1.0",
"@angular/platform-browser": "^19.1.0",
"@angular/platform-browser-dynamic": "^19.1.0",
+ "@angular/platform-server": "^19.1.0",
"@angular/router": "^19.1.0",
+ "@angular/ssr": "^19.2.14",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.15.0"
@@ -27,6 +29,7 @@
"@angular/cli": "^19.1.7",
"@angular/compiler-cli": "^19.1.0",
"@types/jasmine": "~5.1.0",
+ "@types/node": "^18.18.0",
"jasmine-core": "~5.5.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
@@ -35,4 +38,4 @@
"karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.7.2"
}
-}
+}
\ No newline at end of file
diff --git a/src/angular/frontend/pnpm-lock.yaml b/src/angular/frontend/pnpm-lock.yaml
index 3d5cfab..fe481b3 100644
--- a/src/angular/frontend/pnpm-lock.yaml
+++ b/src/angular/frontend/pnpm-lock.yaml
@@ -29,9 +29,15 @@ importers:
'@angular/platform-browser-dynamic':
specifier: ^19.1.0
version: 19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))
+ '@angular/platform-server':
+ specifier: ^19.1.0
+ version: 19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
'@angular/router':
specifier: ^19.1.0
version: 19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
+ '@angular/ssr':
+ specifier: ^19.2.14
+ version: 19.2.18(fa7767f49f86fa85c067e27d35b0c201)
rxjs:
specifier: ~7.8.0
version: 7.8.2
@@ -44,16 +50,19 @@ importers:
devDependencies:
'@angular-devkit/build-angular':
specifier: ^19.1.7
- version: 19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@types/node@22.15.30)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(typescript@5.7.3)(vite@6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))
+ version: 19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2))(@angular/ssr@19.2.18(fa7767f49f86fa85c067e27d35b0c201))(@types/node@18.19.130)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(typescript@5.7.3)(vite@6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))
'@angular/cli':
specifier: ^19.1.7
- version: 19.2.14(@types/node@22.15.30)(chokidar@4.0.3)
+ version: 19.2.14(@types/node@18.19.130)(chokidar@4.0.3)
'@angular/compiler-cli':
specifier: ^19.1.0
version: 19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3)
'@types/jasmine':
specifier: ~5.1.0
version: 5.1.8
+ '@types/node':
+ specifier: ^18.18.0
+ version: 18.19.130
jasmine-core:
specifier: ~5.5.0
version: 5.5.0
@@ -253,6 +262,16 @@ packages:
'@angular/animations':
optional: true
+ '@angular/platform-server@19.2.15':
+ resolution: {integrity: sha512-VKuEmzFylYLnFjjFTctnbckgYdXEyt3wU0AwT3uuLrSU/3EgfHlqd33ONuYaIxSRES81GaLcV9cc9uiZYT2QMg==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0}
+ peerDependencies:
+ '@angular/common': 19.2.15
+ '@angular/compiler': 19.2.15
+ '@angular/core': 19.2.15
+ '@angular/platform-browser': 19.2.15
+ rxjs: ^6.5.3 || ^7.4.0
+
'@angular/router@19.2.14':
resolution: {integrity: sha512-cBTWY9Jx7YhbmDYDb7Hqz4Q7UNIMlKTkdKToJd2pbhIXyoS+kHVQrySmyca+jgvYMjWnIjsAEa3dpje12D4mFw==}
engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0}
@@ -262,6 +281,17 @@ packages:
'@angular/platform-browser': 19.2.14
rxjs: ^6.5.3 || ^7.4.0
+ '@angular/ssr@19.2.18':
+ resolution: {integrity: sha512-3mcTMFpksELKSAAsOZ0XLvrSsbvZMRJ0+mkgOdw6VsKCvnmWn2jkjQGBJwuUmeIYSfmM0PwEyhrXiZA7cdGPjQ==}
+ peerDependencies:
+ '@angular/common': ^19.0.0 || ^19.2.0-next.0
+ '@angular/core': ^19.0.0 || ^19.2.0-next.0
+ '@angular/platform-server': ^19.0.0 || ^19.2.0-next.0
+ '@angular/router': ^19.0.0 || ^19.2.0-next.0
+ peerDependenciesMeta:
+ '@angular/platform-server':
+ optional: true
+
'@babel/code-frame@7.27.1':
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
engines: {node: '>=6.9.0'}
@@ -1626,8 +1656,8 @@ packages:
'@types/node-forge@1.3.11':
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
- '@types/node@22.15.30':
- resolution: {integrity: sha512-6Q7lr06bEHdlfplU6YRbgG1SFBdlsfNC4/lX+SkhiTs0cpJkOElmWls8PxDFv4yY/xKb8Y6SO0OmSX4wgqTZbA==}
+ '@types/node@18.19.130':
+ resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==}
'@types/qs@6.14.0':
resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
@@ -3938,8 +3968,8 @@ packages:
resolution: {integrity: sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ==}
hasBin: true
- undici-types@6.21.0:
- resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+ undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
unicode-canonical-property-names-ecmascript@2.0.1:
resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
@@ -4184,6 +4214,10 @@ packages:
utf-8-validate:
optional: true
+ xhr2@0.2.1:
+ resolution: {integrity: sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==}
+ engines: {node: '>= 6'}
+
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -4239,13 +4273,13 @@ snapshots:
transitivePeerDependencies:
- chokidar
- '@angular-devkit/build-angular@19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@types/node@22.15.30)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(typescript@5.7.3)(vite@6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))':
+ '@angular-devkit/build-angular@19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2))(@angular/ssr@19.2.18(fa7767f49f86fa85c067e27d35b0c201))(@types/node@18.19.130)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(typescript@5.7.3)(vite@6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))':
dependencies:
'@ampproject/remapping': 2.3.0
'@angular-devkit/architect': 0.1902.14(chokidar@4.0.3)
'@angular-devkit/build-webpack': 0.1902.14(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.98.0))(webpack@5.98.0(esbuild@0.25.4))
'@angular-devkit/core': 19.2.14(chokidar@4.0.3)
- '@angular/build': 19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@types/node@22.15.30)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(terser@5.39.0)(typescript@5.7.3)
+ '@angular/build': 19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2))(@angular/ssr@19.2.18(fa7767f49f86fa85c067e27d35b0c201))(@types/node@18.19.130)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(terser@5.39.0)(typescript@5.7.3)
'@angular/compiler-cli': 19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3)
'@babel/core': 7.26.10
'@babel/generator': 7.26.10
@@ -4258,7 +4292,7 @@ snapshots:
'@babel/runtime': 7.26.10
'@discoveryjs/json-ext': 0.6.3
'@ngtools/webpack': 19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(typescript@5.7.3)(webpack@5.98.0(esbuild@0.25.4))
- '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))
+ '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))
ansi-colors: 4.1.3
autoprefixer: 10.4.20(postcss@8.5.2)
babel-loader: 9.2.1(@babel/core@7.26.10)(webpack@5.98.0(esbuild@0.25.4))
@@ -4299,6 +4333,8 @@ snapshots:
webpack-merge: 6.0.1
webpack-subresource-integrity: 5.1.0(webpack@5.98.0(esbuild@0.25.4))
optionalDependencies:
+ '@angular/platform-server': 19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
+ '@angular/ssr': 19.2.18(fa7767f49f86fa85c067e27d35b0c201)
esbuild: 0.25.4
karma: 6.4.4
transitivePeerDependencies:
@@ -4360,7 +4396,7 @@ snapshots:
'@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1)
tslib: 2.8.1
- '@angular/build@19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@types/node@22.15.30)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(terser@5.39.0)(typescript@5.7.3)':
+ '@angular/build@19.2.14(@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.7.3))(@angular/compiler@19.2.14)(@angular/platform-server@19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2))(@angular/ssr@19.2.18(fa7767f49f86fa85c067e27d35b0c201))(@types/node@18.19.130)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.2.2)(postcss@8.5.2)(terser@5.39.0)(typescript@5.7.3)':
dependencies:
'@ampproject/remapping': 2.3.0
'@angular-devkit/architect': 0.1902.14(chokidar@4.0.3)
@@ -4370,8 +4406,8 @@ snapshots:
'@babel/helper-annotate-as-pure': 7.25.9
'@babel/helper-split-export-declaration': 7.24.7
'@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10)
- '@inquirer/confirm': 5.1.6(@types/node@22.15.30)
- '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))
+ '@inquirer/confirm': 5.1.6(@types/node@18.19.130)
+ '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))
beasties: 0.3.2
browserslist: 4.25.0
esbuild: 0.25.4
@@ -4389,9 +4425,11 @@ snapshots:
semver: 7.7.1
source-map-support: 0.5.21
typescript: 5.7.3
- vite: 6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)
+ vite: 6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)
watchpack: 2.4.2
optionalDependencies:
+ '@angular/platform-server': 19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
+ '@angular/ssr': 19.2.18(fa7767f49f86fa85c067e27d35b0c201)
karma: 6.4.4
less: 4.2.2
lmdb: 3.2.6
@@ -4409,13 +4447,13 @@ snapshots:
- tsx
- yaml
- '@angular/cli@19.2.14(@types/node@22.15.30)(chokidar@4.0.3)':
+ '@angular/cli@19.2.14(@types/node@18.19.130)(chokidar@4.0.3)':
dependencies:
'@angular-devkit/architect': 0.1902.14(chokidar@4.0.3)
'@angular-devkit/core': 19.2.14(chokidar@4.0.3)
'@angular-devkit/schematics': 19.2.14(chokidar@4.0.3)
- '@inquirer/prompts': 7.3.2(@types/node@22.15.30)
- '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.3.2(@types/node@22.15.30))
+ '@inquirer/prompts': 7.3.2(@types/node@18.19.130)
+ '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.3.2(@types/node@18.19.130))
'@schematics/angular': 19.2.14(chokidar@4.0.3)
'@yarnpkg/lockfile': 1.1.0
ini: 5.0.0
@@ -4488,6 +4526,16 @@ snapshots:
optionalDependencies:
'@angular/animations': 19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))
+ '@angular/platform-server@19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)':
+ dependencies:
+ '@angular/common': 19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2)
+ '@angular/compiler': 19.2.14
+ '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1)
+ '@angular/platform-browser': 19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))
+ rxjs: 7.8.2
+ tslib: 2.8.1
+ xhr2: 0.2.1
+
'@angular/router@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)':
dependencies:
'@angular/common': 19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2)
@@ -4496,6 +4544,15 @@ snapshots:
rxjs: 7.8.2
tslib: 2.8.1
+ '@angular/ssr@19.2.18(fa7767f49f86fa85c067e27d35b0c201)':
+ dependencies:
+ '@angular/common': 19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2)
+ '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1)
+ '@angular/router': 19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@angular/platform-server': 19.2.15(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.14)(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.14(@angular/animations@19.2.14(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@19.2.14(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)
+
'@babel/code-frame@7.27.1':
dependencies:
'@babel/helper-validator-identifier': 7.27.1
@@ -5305,34 +5362,34 @@ snapshots:
'@esbuild/win32-x64@0.25.4':
optional: true
- '@inquirer/checkbox@4.1.8(@types/node@22.15.30)':
+ '@inquirer/checkbox@4.1.8(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
'@inquirer/figures': 1.0.12
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
ansi-escapes: 4.3.2
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/confirm@5.1.12(@types/node@22.15.30)':
+ '@inquirer/confirm@5.1.12(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/confirm@5.1.6(@types/node@22.15.30)':
+ '@inquirer/confirm@5.1.6(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/core@10.1.13(@types/node@22.15.30)':
+ '@inquirer/core@10.1.13(@types/node@18.19.130)':
dependencies:
'@inquirer/figures': 1.0.12
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
ansi-escapes: 4.3.2
cli-width: 4.1.0
mute-stream: 2.0.0
@@ -5340,97 +5397,97 @@ snapshots:
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/editor@4.2.13(@types/node@22.15.30)':
+ '@inquirer/editor@4.2.13(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
external-editor: 3.1.0
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/expand@4.0.15(@types/node@22.15.30)':
+ '@inquirer/expand@4.0.15(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@inquirer/figures@1.0.12': {}
- '@inquirer/input@4.1.12(@types/node@22.15.30)':
+ '@inquirer/input@4.1.12(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/number@3.0.15(@types/node@22.15.30)':
+ '@inquirer/number@3.0.15(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/password@4.0.15(@types/node@22.15.30)':
+ '@inquirer/password@4.0.15(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
ansi-escapes: 4.3.2
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/prompts@7.3.2(@types/node@22.15.30)':
+ '@inquirer/prompts@7.3.2(@types/node@18.19.130)':
dependencies:
- '@inquirer/checkbox': 4.1.8(@types/node@22.15.30)
- '@inquirer/confirm': 5.1.12(@types/node@22.15.30)
- '@inquirer/editor': 4.2.13(@types/node@22.15.30)
- '@inquirer/expand': 4.0.15(@types/node@22.15.30)
- '@inquirer/input': 4.1.12(@types/node@22.15.30)
- '@inquirer/number': 3.0.15(@types/node@22.15.30)
- '@inquirer/password': 4.0.15(@types/node@22.15.30)
- '@inquirer/rawlist': 4.1.3(@types/node@22.15.30)
- '@inquirer/search': 3.0.15(@types/node@22.15.30)
- '@inquirer/select': 4.2.3(@types/node@22.15.30)
+ '@inquirer/checkbox': 4.1.8(@types/node@18.19.130)
+ '@inquirer/confirm': 5.1.12(@types/node@18.19.130)
+ '@inquirer/editor': 4.2.13(@types/node@18.19.130)
+ '@inquirer/expand': 4.0.15(@types/node@18.19.130)
+ '@inquirer/input': 4.1.12(@types/node@18.19.130)
+ '@inquirer/number': 3.0.15(@types/node@18.19.130)
+ '@inquirer/password': 4.0.15(@types/node@18.19.130)
+ '@inquirer/rawlist': 4.1.3(@types/node@18.19.130)
+ '@inquirer/search': 3.0.15(@types/node@18.19.130)
+ '@inquirer/select': 4.2.3(@types/node@18.19.130)
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/rawlist@4.1.3(@types/node@22.15.30)':
+ '@inquirer/rawlist@4.1.3(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/search@3.0.15(@types/node@22.15.30)':
+ '@inquirer/search@3.0.15(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
'@inquirer/figures': 1.0.12
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@inquirer/select@4.2.3(@types/node@22.15.30)':
+ '@inquirer/select@4.2.3(@types/node@18.19.130)':
dependencies:
- '@inquirer/core': 10.1.13(@types/node@22.15.30)
+ '@inquirer/core': 10.1.13(@types/node@18.19.130)
'@inquirer/figures': 1.0.12
- '@inquirer/type': 3.0.7(@types/node@22.15.30)
+ '@inquirer/type': 3.0.7(@types/node@18.19.130)
ansi-escapes: 4.3.2
yoctocolors-cjs: 2.1.2
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@inquirer/type@1.5.5':
dependencies:
mute-stream: 1.0.0
- '@inquirer/type@3.0.7(@types/node@22.15.30)':
+ '@inquirer/type@3.0.7(@types/node@18.19.130)':
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@isaacs/cliui@8.0.2':
dependencies:
@@ -5487,9 +5544,9 @@ snapshots:
'@leichtgewicht/ip-codec@2.0.5': {}
- '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.3.2(@types/node@22.15.30))':
+ '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.3.2(@types/node@18.19.130))':
dependencies:
- '@inquirer/prompts': 7.3.2(@types/node@22.15.30)
+ '@inquirer/prompts': 7.3.2(@types/node@18.19.130)
'@inquirer/type': 1.5.5
'@lmdb/lmdb-darwin-arm64@3.2.6':
@@ -5848,24 +5905,24 @@ snapshots:
'@types/body-parser@1.19.6':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/bonjour@3.5.13':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/connect-history-api-fallback@1.5.4':
dependencies:
'@types/express-serve-static-core': 5.0.6
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/connect@3.4.38':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/cors@2.8.19':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/eslint-scope@3.7.7':
dependencies:
@@ -5883,14 +5940,14 @@ snapshots:
'@types/express-serve-static-core@4.19.6':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/qs': 6.14.0
'@types/range-parser': 1.2.7
'@types/send': 0.17.5
'@types/express-serve-static-core@5.0.6':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/qs': 6.14.0
'@types/range-parser': 1.2.7
'@types/send': 0.17.5
@@ -5906,7 +5963,7 @@ snapshots:
'@types/http-proxy@1.17.16':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/jasmine@5.1.8': {}
@@ -5916,11 +5973,11 @@ snapshots:
'@types/node-forge@1.3.11':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@types/node@22.15.30':
+ '@types/node@18.19.130':
dependencies:
- undici-types: 6.21.0
+ undici-types: 5.26.5
'@types/qs@6.14.0': {}
@@ -5931,7 +5988,7 @@ snapshots:
'@types/send@0.17.5':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/serve-index@1.9.4':
dependencies:
@@ -5940,20 +5997,20 @@ snapshots:
'@types/serve-static@1.15.8':
dependencies:
'@types/http-errors': 2.0.5
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/send': 0.17.5
'@types/sockjs@0.3.36':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
'@types/ws@8.18.1':
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
- '@vitejs/plugin-basic-ssl@1.2.0(vite@6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))':
+ '@vitejs/plugin-basic-ssl@1.2.0(vite@6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0))':
dependencies:
- vite: 6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)
+ vite: 6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0)
'@webassemblyjs/ast@1.14.1':
dependencies:
@@ -6556,7 +6613,7 @@ snapshots:
engine.io@6.6.4:
dependencies:
'@types/cors': 2.8.19
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.7.2
@@ -7158,7 +7215,7 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -8433,7 +8490,7 @@ snapshots:
ua-parser-js@0.7.40: {}
- undici-types@6.21.0: {}
+ undici-types@5.26.5: {}
unicode-canonical-property-names-ecmascript@2.0.1: {}
@@ -8481,13 +8538,13 @@ snapshots:
vary@1.1.2: {}
- vite@6.2.7(@types/node@22.15.30)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0):
+ vite@6.2.7(@types/node@18.19.130)(jiti@1.21.7)(less@4.2.2)(sass@1.85.0)(terser@5.39.0):
dependencies:
esbuild: 0.25.4
postcss: 8.5.4
rollup: 4.34.8
optionalDependencies:
- '@types/node': 22.15.30
+ '@types/node': 18.19.130
fsevents: 2.3.3
jiti: 1.21.7
less: 4.2.2
@@ -8660,6 +8717,8 @@ snapshots:
ws@8.18.2: {}
+ xhr2@0.2.1: {}
+
y18n@5.0.8: {}
yallist@3.1.1: {}
diff --git a/src/angular/frontend/src/app/app.component.html b/src/angular/frontend/src/app/app.component.html
index a6c19d2..7dd570e 100644
--- a/src/angular/frontend/src/app/app.component.html
+++ b/src/angular/frontend/src/app/app.component.html
@@ -1,2 +1 @@
-
home works!
diff --git a/src/angular/frontend/src/app/components/home/home.component.scss b/src/angular/frontend/src/app/components/home/home.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/angular/frontend/src/app/components/home/home.component.ts b/src/angular/frontend/src/app/components/home/home.component.ts new file mode 100644 index 0000000..2692e8b --- /dev/null +++ b/src/angular/frontend/src/app/components/home/home.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-home', + imports: [], + templateUrl: './home.component.html', + styleUrl: './home.component.scss', + standalone: true, +}) +export class HomeComponent { + +} diff --git a/src/angular/frontend/src/app/components/login/login.component.ts b/src/angular/frontend/src/app/components/login/login.component.ts index 90e64d4..1ae5019 100644 --- a/src/angular/frontend/src/app/components/login/login.component.ts +++ b/src/angular/frontend/src/app/components/login/login.component.ts @@ -19,7 +19,7 @@ export class LoginComponent { private router = inject(Router); protected loginFormGroup = new FormGroup({ - usernameOrEmail: new FormControl('housemasterr'), + usernameOrEmail: new FormControl('housemaster'), password: new FormControl('kR0pNCspBKx8lOzAIch5'), keep: new FormControl(false), }); diff --git a/src/angular/frontend/src/app/components/panel/panel.component.html b/src/angular/frontend/src/app/components/panel/panel.component.html new file mode 100644 index 0000000..6dbc743 --- /dev/null +++ b/src/angular/frontend/src/app/components/panel/panel.component.html @@ -0,0 +1 @@ +nav-profile works!
diff --git a/src/angular/frontend/src/app/components/shell/nav-profile/nav-profile.component.scss b/src/angular/frontend/src/app/components/shell/nav-profile/nav-profile.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/angular/frontend/src/app/components/shell/nav-profile/nav-profile.component.spec.ts b/src/angular/frontend/src/app/components/shell/nav-profile/nav-profile.component.spec.ts new file mode 100644 index 0000000..92416bc --- /dev/null +++ b/src/angular/frontend/src/app/components/shell/nav-profile/nav-profile.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NavProfileComponent } from './nav-profile.component'; + +describe('NavProfileComponent', () => { + let component: NavProfileComponent; + let fixture: ComponentFixture