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));