diff --git a/itenium-socks/angular.json b/itenium-socks/angular.json index e7cfa50..788afa0 100644 --- a/itenium-socks/angular.json +++ b/itenium-socks/angular.json @@ -57,7 +57,13 @@ "development": { "optimization": false, "extractLicenses": false, - "sourceMap": true + "sourceMap": true, + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.development.ts" + } + ] } }, "defaultConfiguration": "production" @@ -100,5 +106,8 @@ } } } + }, + "cli": { + "analytics": false } } diff --git a/itenium-socks/package-lock.json b/itenium-socks/package-lock.json index 295c374..4076e3c 100644 --- a/itenium-socks/package-lock.json +++ b/itenium-socks/package-lock.json @@ -18,6 +18,7 @@ "@angular/router": "^18.0.0", "@fortawesome/angular-fontawesome": "^0.15.0", "@fortawesome/fontawesome-free": "^6.5.2", + "locale-codes": "^1.3.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.3" @@ -7690,6 +7691,14 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/iso639-codes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/iso639-codes/-/iso639-codes-1.0.1.tgz", + "integrity": "sha512-jdTSv8yn6D7GODDrRtuWG7y3du3aoa+ki5H8h/Y48/NleNAd7Fw/M2niTTLXGH4QnqhJ98hg1JMQtP9csQ31Lg==", + "engines": { + "node": ">=8" + } + }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -8183,6 +8192,11 @@ "node": ">=0.10.0" } }, + "node_modules/langs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/langs/-/langs-2.0.0.tgz", + "integrity": "sha512-v4pxOBEQVN1WBTfB1crhTtxzNLZU9HPWgadlwzWKISJtt6Ku/CnpBrwVy+jFv8StjxsPfwPFzO0CMwdZLJ0/BA==" + }, "node_modules/launch-editor": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", @@ -8358,6 +8372,19 @@ "node": ">= 12.13.0" } }, + "node_modules/locale-codes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/locale-codes/-/locale-codes-1.3.1.tgz", + "integrity": "sha512-C7fxGkU4jAuHqavtKj4IhSD2yPEzChFMRfNHjzwIAz9JTbYHtBJDcQQgmJDezBogk9/vvgS7chKMhpVEKavk5A==", + "dependencies": { + "iso639-codes": "^1.0.1", + "langs": "^2.0.0", + "windows-locale": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -12931,6 +12958,14 @@ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, + "node_modules/windows-locale": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/windows-locale/-/windows-locale-1.1.3.tgz", + "integrity": "sha512-0OlMOPNGj7GTB6C7WmqS3o4eydjnoYj0uwot2KJf7E0JUucwYwzkcvCWQwnuOV60WqDMeGJpSankgveNMj5r0g==", + "engines": { + "node": ">=v10.24.1" + } + }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", diff --git a/itenium-socks/package.json b/itenium-socks/package.json index 6b3a9d6..3efc18a 100644 --- a/itenium-socks/package.json +++ b/itenium-socks/package.json @@ -20,6 +20,7 @@ "@angular/router": "^18.0.0", "@fortawesome/angular-fontawesome": "^0.15.0", "@fortawesome/fontawesome-free": "^6.5.2", + "locale-codes": "^1.3.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.3" diff --git a/itenium-socks/src/app/app.component.css b/itenium-socks/src/app/app.component.css new file mode 100644 index 0000000..8fdc9ea --- /dev/null +++ b/itenium-socks/src/app/app.component.css @@ -0,0 +1,6 @@ +#notProdIndicator { + position: fixed; + display: inline; + padding:1em; + background-color:lightgreen; +} diff --git a/itenium-socks/src/app/app.component.html b/itenium-socks/src/app/app.component.html index 67e7bd4..98da068 100644 --- a/itenium-socks/src/app/app.component.html +++ b/itenium-socks/src/app/app.component.html @@ -1 +1,4 @@ +
+ You are not in production :-) +
diff --git a/itenium-socks/src/app/app.component.ts b/itenium-socks/src/app/app.component.ts index 8ad7283..4d5df55 100644 --- a/itenium-socks/src/app/app.component.ts +++ b/itenium-socks/src/app/app.component.ts @@ -1,5 +1,6 @@ -import { Component } from '@angular/core'; +import { Component, LOCALE_ID } from '@angular/core'; import { RouterOutlet } from '@angular/router'; +import { environment } from '../environments/environment'; @Component({ selector: 'app-root', @@ -9,4 +10,6 @@ import { RouterOutlet } from '@angular/router'; ], templateUrl: './app.component.html', }) -export class AppComponent {} +export class AppComponent { + public env = environment; +} diff --git a/itenium-socks/src/app/app.config.ts b/itenium-socks/src/app/app.config.ts index 3450030..945a1f7 100644 --- a/itenium-socks/src/app/app.config.ts +++ b/itenium-socks/src/app/app.config.ts @@ -1,4 +1,4 @@ -import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; +import { ApplicationConfig, provideZoneChangeDetection, LOCALE_ID } from '@angular/core'; import { provideRouter } from '@angular/router'; import { provideHttpClient, withFetch } from '@angular/common/http'; @@ -9,5 +9,6 @@ export const appConfig: ApplicationConfig = { provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes), provideHttpClient(withFetch()), + { provide: LOCALE_ID, useValue: 'nl-BE' } ] }; diff --git a/itenium-socks/src/app/home/latest-socks.component.html b/itenium-socks/src/app/home/latest-socks.component.html index 9cd2eb7..a3028e0 100644 --- a/itenium-socks/src/app/home/latest-socks.component.html +++ b/itenium-socks/src/app/home/latest-socks.component.html @@ -14,7 +14,7 @@

{{ sock.name }}
-
{{ sock.price }}
+
{{ sock.price | currency : 'EUR' }}
diff --git a/itenium-socks/src/app/home/latest-socks.component.ts b/itenium-socks/src/app/home/latest-socks.component.ts index 9b03950..c27c5db 100644 --- a/itenium-socks/src/app/home/latest-socks.component.ts +++ b/itenium-socks/src/app/home/latest-socks.component.ts @@ -1,14 +1,19 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, LOCALE_ID, OnInit } from '@angular/core'; import { SocksService } from '../socks/socks.service'; import { Observable } from 'rxjs'; import { Sock } from '../socks/sock.model'; -import { AsyncPipe, NgFor } from '@angular/common'; +import { AsyncPipe, NgFor, CurrencyPipe } from '@angular/common'; import { RouterLink } from '@angular/router'; @Component({ selector: 'app-latest-socks', standalone: true, - imports: [NgFor, AsyncPipe, RouterLink], + imports: [ + NgFor, + AsyncPipe, + RouterLink, + CurrencyPipe + ], templateUrl: './latest-socks.component.html' }) export class LatestSocksComponent implements OnInit { diff --git a/itenium-socks/src/environments/environment.development.ts b/itenium-socks/src/environments/environment.development.ts new file mode 100644 index 0000000..1d0edfd --- /dev/null +++ b/itenium-socks/src/environments/environment.development.ts @@ -0,0 +1,3 @@ +export const environment = { + production: false +}; diff --git a/itenium-socks/src/environments/environment.ts b/itenium-socks/src/environments/environment.ts new file mode 100644 index 0000000..5d08331 --- /dev/null +++ b/itenium-socks/src/environments/environment.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/itenium-socks/src/main.ts b/itenium-socks/src/main.ts index 35b00f3..ff34d5c 100644 --- a/itenium-socks/src/main.ts +++ b/itenium-socks/src/main.ts @@ -1,6 +1,11 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; +import { registerLocaleData } from '@angular/common'; +import localeNlBe from '@angular/common/locales/nl-BE'; +import localeNlBeExtra from '@angular/common/locales/extra/nl-BE' + +registerLocaleData(localeNlBe, localeNlBeExtra); bootstrapApplication(AppComponent, appConfig) .catch((err) => console.error(err));