From 865555a19bb0b25ee4a17e3fc7d97e95a8942c20 Mon Sep 17 00:00:00 2001
From: TO
Date: Wed, 29 Oct 2025 00:55:22 +0100
Subject: [PATCH] don't generate numbers on server side
---
src/app/services/user-input-service.ts | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/src/app/services/user-input-service.ts b/src/app/services/user-input-service.ts
index 53a7527..4c7c466 100644
--- a/src/app/services/user-input-service.ts
+++ b/src/app/services/user-input-service.ts
@@ -1,4 +1,5 @@
-import { Injectable, signal } from '@angular/core';
+import { Injectable, signal, PLATFORM_ID, inject } from '@angular/core';
+import { isPlatformBrowser } from '@angular/common';
import Holidays, { HolidaysTypes } from 'date-holidays';
import { VacationsNumber } from './calendar-service';
@@ -8,15 +9,28 @@ import { VacationsNumber } from './calendar-service';
providedIn: 'root'
})
export class UserInputService {
+ private platformId = inject(PLATFORM_ID);
+
private getRandomNumber(): number {
return Math.floor(Math.random() * 9) + 1;
}
- vacationNumberSignal = signal({
- cp: this.getRandomNumber(),
- rtt: this.getRandomNumber(),
- other: this.getRandomNumber()
- });
+ private getInitialValues(): VacationsNumber {
+ if (isPlatformBrowser(this.platformId)) {
+ return {
+ cp: this.getRandomNumber(),
+ rtt: this.getRandomNumber(),
+ other: this.getRandomNumber()
+ };
+ }
+ return {
+ cp: 0,
+ rtt: 0,
+ other: 0
+ };
+ }
+
+ vacationNumberSignal = signal(this.getInitialValues());
get vacationNumber() {
return this.vacationNumberSignal();