Removed ui/ux and websites + upgrade to v22
Copy Files to Samba Share dev / Copy Files (push) Has been cancelled
Copy Files to Samba Share dev / Copy Files (push) Has been cancelled
This commit is contained in:
+4
-4
@@ -15,7 +15,7 @@
|
|||||||
"prefix": "app",
|
"prefix": "app",
|
||||||
"architect": {
|
"architect": {
|
||||||
"build": {
|
"build": {
|
||||||
"builder": "@angular-devkit/build-angular:application",
|
"builder": "@angular/build:application",
|
||||||
"options": {
|
"options": {
|
||||||
"outputPath": "dist/ontvlambaar",
|
"outputPath": "dist/ontvlambaar",
|
||||||
"index": "src/index.html",
|
"index": "src/index.html",
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
"defaultConfiguration": "production"
|
"defaultConfiguration": "production"
|
||||||
},
|
},
|
||||||
"serve": {
|
"serve": {
|
||||||
"builder": "@angular-devkit/build-angular:dev-server",
|
"builder": "@angular/build:dev-server",
|
||||||
"configurations": {
|
"configurations": {
|
||||||
"production": {
|
"production": {
|
||||||
"buildTarget": "ontvlambaar:build:production"
|
"buildTarget": "ontvlambaar:build:production"
|
||||||
@@ -78,10 +78,10 @@
|
|||||||
"defaultConfiguration": "development"
|
"defaultConfiguration": "development"
|
||||||
},
|
},
|
||||||
"extract-i18n": {
|
"extract-i18n": {
|
||||||
"builder": "@angular-devkit/build-angular:extract-i18n"
|
"builder": "@angular/build:extract-i18n"
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"builder": "@angular-devkit/build-angular:karma",
|
"builder": "@angular/build:karma",
|
||||||
"options": {
|
"options": {
|
||||||
"polyfills": [
|
"polyfills": [
|
||||||
"zone.js",
|
"zone.js",
|
||||||
|
|||||||
Generated
+5517
-11991
File diff suppressed because it is too large
Load Diff
+18
-18
@@ -10,33 +10,33 @@
|
|||||||
"serve:ssr:ontvlambaar": "node dist/ontvlambaar/server/server.mjs"
|
"serve:ssr:ontvlambaar": "node dist/ontvlambaar/server/server.mjs"
|
||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"engines": {
|
||||||
|
"node": "^22.22.3 || ^24.15.0 || ^26.0.0"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "^19.2.25",
|
"@angular/animations": "^22.0.0",
|
||||||
"@angular/common": "^19.2.25",
|
"@angular/common": "^22.0.0",
|
||||||
"@angular/compiler": "^19.2.25",
|
"@angular/compiler": "^22.0.0",
|
||||||
"@angular/core": "^19.2.25",
|
"@angular/core": "^22.0.0",
|
||||||
"@angular/forms": "^19.2.25",
|
"@angular/forms": "^22.0.0",
|
||||||
"@angular/platform-browser": "^19.2.25",
|
"@angular/platform-browser": "^22.0.0",
|
||||||
"@angular/platform-browser-dynamic": "^19.2.25",
|
"@angular/platform-browser-dynamic": "^22.0.0",
|
||||||
"@angular/platform-server": "^19.2.25",
|
"@angular/platform-server": "^22.0.0",
|
||||||
"@angular/router": "^19.2.25",
|
"@angular/router": "^22.0.0",
|
||||||
"@angular/ssr": "^19.2.27",
|
"@angular/ssr": "^22.0.0",
|
||||||
"@lottiefiles/dotlottie-web": "^0.36.1",
|
"@lottiefiles/dotlottie-web": "^0.36.1",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"install": "^0.13.0",
|
|
||||||
"npm": "^10.9.0",
|
|
||||||
"rxjs": "~7.8.0",
|
"rxjs": "~7.8.0",
|
||||||
"tslib": "^2.3.0",
|
"tslib": "^2.3.0",
|
||||||
"zone.js": "~0.15.1"
|
"zone.js": "~0.15.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "^19.2.27",
|
"@angular/build": "^22.0.0",
|
||||||
"@angular/cli": "^19.2.27",
|
"@angular/cli": "^22.0.0",
|
||||||
"@angular/compiler-cli": "^19.2.25",
|
"@angular/compiler-cli": "^22.0.0",
|
||||||
"@types/express": "^4.17.17",
|
"@types/express": "^4.17.17",
|
||||||
"@types/jasmine": "~5.1.0",
|
"@types/jasmine": "~5.1.0",
|
||||||
"@types/node": "^18.18.0",
|
"@types/node": "^22.0.0",
|
||||||
"compression-webpack-plugin": "^11.1.0",
|
|
||||||
"gzipper": "^7.2.0",
|
"gzipper": "^7.2.0",
|
||||||
"jasmine-core": "~5.2.0",
|
"jasmine-core": "~5.2.0",
|
||||||
"karma": "~6.4.0",
|
"karma": "~6.4.0",
|
||||||
@@ -44,6 +44,6 @@
|
|||||||
"karma-coverage": "~2.2.0",
|
"karma-coverage": "~2.2.0",
|
||||||
"karma-jasmine": "~5.1.0",
|
"karma-jasmine": "~5.1.0",
|
||||||
"karma-jasmine-html-reporter": "~2.1.0",
|
"karma-jasmine-html-reporter": "~2.1.0",
|
||||||
"typescript": "~5.5.2"
|
"typescript": "~6.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,57 +1,39 @@
|
|||||||
import { APP_BASE_HREF } from '@angular/common';
|
import {
|
||||||
import { CommonEngine } from '@angular/ssr';
|
AngularNodeAppEngine,
|
||||||
|
createNodeRequestHandler,
|
||||||
|
isMainModule,
|
||||||
|
writeResponseToNodeResponse,
|
||||||
|
} from '@angular/ssr/node';
|
||||||
import express from 'express';
|
import express from 'express';
|
||||||
import { fileURLToPath } from 'node:url';
|
import { join } from 'node:path';
|
||||||
import { dirname, join, resolve } from 'node:path';
|
|
||||||
import bootstrap from './src/main.server';
|
|
||||||
|
|
||||||
// The Express app is exported so that it can be used by serverless Functions.
|
const browserDistFolder = join(import.meta.dirname, '../browser');
|
||||||
export function app(): express.Express {
|
|
||||||
const server = express();
|
|
||||||
const serverDistFolder = dirname(fileURLToPath(import.meta.url));
|
|
||||||
const browserDistFolder = resolve(serverDistFolder, '../browser');
|
|
||||||
const indexHtml = join(serverDistFolder, 'index.server.html');
|
|
||||||
|
|
||||||
const commonEngine = new CommonEngine();
|
const app = express();
|
||||||
|
const angularApp = new AngularNodeAppEngine();
|
||||||
|
|
||||||
server.set('view engine', 'html');
|
app.use(
|
||||||
server.set('views', browserDistFolder);
|
express.static(browserDistFolder, {
|
||||||
|
|
||||||
// Example Express Rest API endpoints
|
|
||||||
// server.get('/api/**', (req, res) => { });
|
|
||||||
// Serve static files from /browser
|
|
||||||
server.get('**', express.static(browserDistFolder, {
|
|
||||||
maxAge: '1y',
|
maxAge: '1y',
|
||||||
index: 'index.html',
|
index: false,
|
||||||
}));
|
redirect: false,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
// All regular routes use the Angular engine
|
app.use((req, res, next) => {
|
||||||
server.get('**', (req, res, next) => {
|
angularApp
|
||||||
const { protocol, originalUrl, baseUrl, headers } = req;
|
.handle(req)
|
||||||
|
.then((response) =>
|
||||||
|
response ? writeResponseToNodeResponse(response, res) : next(),
|
||||||
|
)
|
||||||
|
.catch(next);
|
||||||
|
});
|
||||||
|
|
||||||
commonEngine
|
if (isMainModule(import.meta.url) || process.env['pm_id']) {
|
||||||
.render({
|
|
||||||
bootstrap,
|
|
||||||
documentFilePath: indexHtml,
|
|
||||||
url: `${protocol}://${headers.host}${originalUrl}`,
|
|
||||||
publicPath: browserDistFolder,
|
|
||||||
providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],
|
|
||||||
})
|
|
||||||
.then((html) => res.send(html))
|
|
||||||
.catch((err) => next(err));
|
|
||||||
});
|
|
||||||
|
|
||||||
return server;
|
|
||||||
}
|
|
||||||
|
|
||||||
function run(): void {
|
|
||||||
const port = process.env['PORT'] || 4000;
|
const port = process.env['PORT'] || 4000;
|
||||||
|
app.listen(port, () => {
|
||||||
// Start up the Node server
|
|
||||||
const server = app();
|
|
||||||
server.listen(port, () => {
|
|
||||||
console.log(`Node Express server listening on http://localhost:${port}`);
|
console.log(`Node Express server listening on http://localhost:${port}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
run();
|
export const reqHandler = createNodeRequestHandler(app);
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
<li>Illustrator</li>
|
<li>Illustrator</li>
|
||||||
<li class="indent">verpakkingen<span>10+</span></li>
|
<li class="indent">verpakkingen<span>10+</span></li>
|
||||||
<li class="indent">logo's & huisstijlen<span>20+</span></li>
|
<li class="indent">logo's & huisstijlen<span>20+</span></li>
|
||||||
<li>UI/UX<span>5+</span></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "../../vars.scss";
|
@use "../../vars" as *;
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
padding: 2rem 0;
|
padding: 2rem 0;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component, inject, OnInit, PLATFORM_ID } from '@angular/core';
|
||||||
import { RouterOutlet } from '@angular/router';
|
import { isPlatformBrowser } from '@angular/common';
|
||||||
import { HeroComponent } from "./hero/hero.component";
|
import { HeroComponent } from "./hero/hero.component";
|
||||||
import { HeaderComponent } from "./header/header.component";
|
import { HeaderComponent } from "./header/header.component";
|
||||||
import { ServicesComponent } from "./services/services.component";
|
import { ServicesComponent } from "./services/services.component";
|
||||||
@@ -10,15 +10,21 @@ import { AboutComponent } from "./about/about.component";
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
standalone: true,
|
standalone: true,
|
||||||
imports: [RouterOutlet, HeroComponent, HeaderComponent, ServicesComponent, FooterComponent, PortfolioComponent, AboutComponent],
|
imports: [HeroComponent, HeaderComponent, ServicesComponent, FooterComponent, PortfolioComponent, AboutComponent],
|
||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
styleUrl: './app.component.scss'
|
styleUrl: './app.component.scss'
|
||||||
})
|
})
|
||||||
export class AppComponent {
|
export class AppComponent implements OnInit {
|
||||||
title = 'Ontvlambaar';
|
title = 'Ontvlambaar';
|
||||||
theme = "dark"
|
theme = "dark"
|
||||||
|
|
||||||
|
private readonly platformId = inject(PLATFORM_ID);
|
||||||
|
|
||||||
private detectColorScheme(): void {
|
private detectColorScheme(): void {
|
||||||
|
// if (!isPlatformBrowser(this.platformId)) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
this.theme = localStorage.getItem("theme") ?? 'dark';
|
this.theme = localStorage.getItem("theme") ?? 'dark';
|
||||||
document.documentElement.setAttribute("data-theme", this.theme);
|
document.documentElement.setAttribute("data-theme", this.theme);
|
||||||
}
|
}
|
||||||
@@ -28,8 +34,13 @@ export class AppComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
themeChange(theme: string) {
|
themeChange(theme: string) {
|
||||||
localStorage.setItem("theme", theme);
|
|
||||||
this.theme = theme;
|
this.theme = theme;
|
||||||
|
|
||||||
|
// if (!isPlatformBrowser(this.platformId)) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
localStorage.setItem("theme", theme);
|
||||||
document.documentElement.setAttribute("data-theme", this.theme);
|
document.documentElement.setAttribute("data-theme", this.theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
|
import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
|
||||||
import { provideServerRendering } from '@angular/platform-server';
|
import { provideServerRendering, withRoutes } from '@angular/ssr';
|
||||||
import { appConfig } from './app.config';
|
import { appConfig } from './app.config';
|
||||||
|
import { serverRoutes } from './app.routes.server';
|
||||||
|
|
||||||
const serverConfig: ApplicationConfig = {
|
const serverConfig: ApplicationConfig = {
|
||||||
providers: [
|
providers: [
|
||||||
provideServerRendering()
|
provideServerRendering(withRoutes(serverRoutes)),
|
||||||
]
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import { RenderMode, ServerRoute } from '@angular/ssr';
|
||||||
|
|
||||||
|
export const serverRoutes: ServerRoute[] = [
|
||||||
|
{
|
||||||
|
path: '**',
|
||||||
|
renderMode: RenderMode.Prerender,
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "../../vars.scss";
|
@use "../../vars" as *;
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "../../vars.scss";
|
@use "../../vars" as *;
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "../../vars.scss";
|
@use "../../vars" as *;
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|||||||
@@ -12,10 +12,3 @@
|
|||||||
</div>
|
</div>
|
||||||
<img src="assets/services/Branding-800.webp" alt="Zetwerk voorbeeld">
|
<img src="assets/services/Branding-800.webp" alt="Zetwerk voorbeeld">
|
||||||
</div>
|
</div>
|
||||||
<div class="left">
|
|
||||||
<div>
|
|
||||||
<h2>UI/UX</h2>
|
|
||||||
<p>Een goede vormgeving gaat verder dan alleen mooi zijn; het moet ook gebruiksvriendelijk zijn. Met een sterk ontwerp voor jouw website zorg ik ervoor dat gebruikers moeiteloos hun weg vinden. Door een combinatie van esthetiek en functionaliteit creëer ik een intuïtieve ervaring die aansluit bij de behoeften van de gebruiker en het doel van jouw project.</p>
|
|
||||||
</div>
|
|
||||||
<img src="assets/services/UX-UI-800.webp" alt="Zetwerk voorbeeld">
|
|
||||||
</div>
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "../../vars.scss";
|
@use "../../vars" as *;
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -14,9 +14,4 @@
|
|||||||
<img src="assets/logos-light.svg" alt="Logos" class="only-on-light" />
|
<img src="assets/logos-light.svg" alt="Logos" class="only-on-light" />
|
||||||
<h2>Logo's en huisstijlen</h2>
|
<h2>Logo's en huisstijlen</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="service">
|
|
||||||
<img src="assets/ui-ux-dark.svg" alt="UI/UX" class="only-on-dark" />
|
|
||||||
<img src="assets/ui-ux-light.svg" alt="UI/UX" class="only-on-light" />
|
|
||||||
<h2>UI/UX</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@import "../../vars";
|
@use "../../vars" as *;
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
.service {
|
.service {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: calc(50% - 1rem);
|
|
||||||
height: 4rem;
|
height: 4rem;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { Component, input, output, signal, WritableSignal } from '@angular/core';
|
import { isPlatformBrowser } from '@angular/common';
|
||||||
|
import { AfterViewInit, Component, inject, input, output, PLATFORM_ID, signal, WritableSignal } from '@angular/core';
|
||||||
import { DotLottie } from '@lottiefiles/dotlottie-web';
|
import { DotLottie } from '@lottiefiles/dotlottie-web';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@@ -8,10 +9,12 @@ import { DotLottie } from '@lottiefiles/dotlottie-web';
|
|||||||
templateUrl: './toggle.component.html',
|
templateUrl: './toggle.component.html',
|
||||||
styleUrl: './toggle.component.scss'
|
styleUrl: './toggle.component.scss'
|
||||||
})
|
})
|
||||||
export class ToggleComponent {
|
export class ToggleComponent implements AfterViewInit {
|
||||||
private darkLottie: any = undefined;
|
private darkLottie: any = undefined;
|
||||||
private lightLottie: any = undefined;
|
private lightLottie: any = undefined;
|
||||||
|
|
||||||
|
private readonly platformId = inject(PLATFORM_ID);
|
||||||
|
|
||||||
toggleOn = output<boolean>();
|
toggleOn = output<boolean>();
|
||||||
toggleValue = input<boolean>();
|
toggleValue = input<boolean>();
|
||||||
private isChanging: WritableSignal<boolean> = signal<boolean>(false);
|
private isChanging: WritableSignal<boolean> = signal<boolean>(false);
|
||||||
@@ -20,6 +23,10 @@ export class ToggleComponent {
|
|||||||
|
|
||||||
|
|
||||||
ngAfterViewInit(): void {
|
ngAfterViewInit(): void {
|
||||||
|
if (!isPlatformBrowser(this.platformId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.isDarkMode.set(this.toggleValue());
|
this.isDarkMode.set(this.toggleValue());
|
||||||
this.darkLottie = new DotLottie({
|
this.darkLottie = new DotLottie({
|
||||||
autoplay: false,
|
autoplay: false,
|
||||||
|
|||||||
+2
-2
@@ -4,8 +4,8 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Ontvlambaar</title>
|
<title>Ontvlambaar</title>
|
||||||
<base href="/">
|
<base href="/">
|
||||||
<meta name="description" content="Grafische vormgeving en zetwerk voor boeken, verpakkingen, logos, huisttijlen en UI/UX ">
|
<meta name="description" content="Grafische vormgeving en zetwerk voor boeken, verpakkingen, logos en huisttijlen">
|
||||||
<meta name="keywords" content="Graphic Designer, Design, Logo design, ontwerp, vormgeving, visitekaartjes, huisstijl, website, dtp, flyer, affiche, poster, magazine, boek, ontvlambaar, gent">
|
<meta name="keywords" content="Graphic Designer, Design, Logo design, ontwerp, vormgeving, visitekaartjes, huisstijl, dtp, flyer, affiche, poster, magazine, boek, ontvlambaar, gent, oost-vlaanderen, oost vlaanderen, vlaamse ardennen">
|
||||||
<meta name="author" content="Lotte De Vlam (Ontvlambaar)">
|
<meta name="author" content="Lotte De Vlam (Ontvlambaar)">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||||
|
|||||||
+3
-2
@@ -1,7 +1,8 @@
|
|||||||
import { bootstrapApplication } from '@angular/platform-browser';
|
import { BootstrapContext, bootstrapApplication } from '@angular/platform-browser';
|
||||||
import { AppComponent } from './app/app.component';
|
import { AppComponent } from './app/app.component';
|
||||||
import { config } from './app/app.config.server';
|
import { config } from './app/app.config.server';
|
||||||
|
|
||||||
const bootstrap = () => bootstrapApplication(AppComponent, config);
|
const bootstrap = (context: BootstrapContext) =>
|
||||||
|
bootstrapApplication(AppComponent, config, context);
|
||||||
|
|
||||||
export default bootstrap;
|
export default bootstrap;
|
||||||
|
|||||||
+1
-2
@@ -15,10 +15,9 @@
|
|||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"declaration": false,
|
"declaration": false,
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"moduleResolution": "bundler",
|
|
||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"target": "ES2022",
|
"target": "ES2022",
|
||||||
"module": "ES2022",
|
"module": "preserve",
|
||||||
"lib": [
|
"lib": [
|
||||||
"ES2022",
|
"ES2022",
|
||||||
"dom"
|
"dom"
|
||||||
|
|||||||
Reference in New Issue
Block a user