diff --git a/apps/calendar/apps/web/src/app.d.ts b/apps/calendar/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/calendar/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/calendar/apps/web/src/lib/version.ts b/apps/calendar/apps/web/src/lib/version.ts
index 9c2e447ab..4f221f09f 100644
--- a/apps/calendar/apps/web/src/lib/version.ts
+++ b/apps/calendar/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '1.0.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/calendar/apps/web/src/routes/(auth)/login/+page.svelte b/apps/calendar/apps/web/src/routes/(auth)/login/+page.svelte
index c268746b3..82ccc224c 100644
--- a/apps/calendar/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/calendar/apps/web/src/routes/(auth)/login/+page.svelte
@@ -9,7 +9,7 @@
import { authStore } from '$lib/stores/auth.svelte';
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params or sessionStorage (set by AuthGateModal)
@@ -68,6 +68,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/calendar/apps/web/vite.config.ts b/apps/calendar/apps/web/vite.config.ts
index 57e935fc0..89245d998 100644
--- a/apps/calendar/apps/web/vite.config.ts
+++ b/apps/calendar/apps/web/vite.config.ts
@@ -4,7 +4,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createOfflineFirstPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -34,4 +34,7 @@ export default defineConfig({
include: ['src/**/*.test.ts'],
globals: true,
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/chat/apps/web/src/app.d.ts b/apps/chat/apps/web/src/app.d.ts
index 399f192fd..2ae80f0cd 100644
--- a/apps/chat/apps/web/src/app.d.ts
+++ b/apps/chat/apps/web/src/app.d.ts
@@ -1,3 +1,6 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
+
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
diff --git a/apps/chat/apps/web/src/lib/version.ts b/apps/chat/apps/web/src/lib/version.ts
index a41a82ec7..083910420 100644
--- a/apps/chat/apps/web/src/lib/version.ts
+++ b/apps/chat/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.3.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/chat/apps/web/src/routes/(auth)/login/+page.svelte b/apps/chat/apps/web/src/routes/(auth)/login/+page.svelte
index 48e5137b0..808e7ec26 100644
--- a/apps/chat/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/chat/apps/web/src/routes/(auth)/login/+page.svelte
@@ -9,7 +9,7 @@
import { authStore } from '$lib/stores/auth.svelte';
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Dev credentials - pre-filled in development mode
@@ -76,6 +76,7 @@
{initialEmail}
{initialPassword}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/chat/apps/web/vite.config.ts b/apps/chat/apps/web/vite.config.ts
index 46f95999b..2d683aa52 100644
--- a/apps/chat/apps/web/vite.config.ts
+++ b/apps/chat/apps/web/vite.config.ts
@@ -2,7 +2,7 @@ import { sveltekit } from '@sveltejs/kit/vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
import { createPWAConfig } from '@manacore/shared-pwa';
export default defineConfig({
@@ -29,4 +29,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES, 'marked'],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/clock/apps/web/src/app.d.ts b/apps/clock/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/clock/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/clock/apps/web/src/lib/version.ts b/apps/clock/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/clock/apps/web/src/lib/version.ts
+++ b/apps/clock/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/clock/apps/web/src/routes/(auth)/login/+page.svelte b/apps/clock/apps/web/src/routes/(auth)/login/+page.svelte
index ac0a7765d..6ae8b40bf 100644
--- a/apps/clock/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/clock/apps/web/src/routes/(auth)/login/+page.svelte
@@ -7,7 +7,7 @@
import { getLoginTranslations } from '@manacore/shared-i18n';
import { ClockLogo } from '@manacore/shared-branding';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Read verification status from query params (set after email verification)
@@ -66,4 +66,5 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
/>
diff --git a/apps/clock/apps/web/vite.config.ts b/apps/clock/apps/web/vite.config.ts
index 0f2897fac..b82ef0e7e 100644
--- a/apps/clock/apps/web/vite.config.ts
+++ b/apps/clock/apps/web/vite.config.ts
@@ -2,7 +2,7 @@ import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -27,4 +27,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/contacts/apps/web/src/app.d.ts b/apps/contacts/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/contacts/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/contacts/apps/web/src/lib/version.ts b/apps/contacts/apps/web/src/lib/version.ts
index 9c2e447ab..4f221f09f 100644
--- a/apps/contacts/apps/web/src/lib/version.ts
+++ b/apps/contacts/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '1.0.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/contacts/apps/web/src/routes/(auth)/login/+page.svelte b/apps/contacts/apps/web/src/routes/(auth)/login/+page.svelte
index fbdb1bdbc..af14d7c36 100644
--- a/apps/contacts/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/contacts/apps/web/src/routes/(auth)/login/+page.svelte
@@ -9,7 +9,7 @@
import { authStore } from '$lib/stores/auth.svelte';
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params or sessionStorage
@@ -65,6 +65,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/contacts/apps/web/vite.config.ts b/apps/contacts/apps/web/vite.config.ts
index 64eb78a6c..815bdbd80 100644
--- a/apps/contacts/apps/web/vite.config.ts
+++ b/apps/contacts/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
///
export default defineConfig({
@@ -34,4 +34,7 @@ export default defineConfig({
include: ['src/**/*.test.ts'],
globals: true,
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/context/apps/web/vite.config.ts b/apps/context/apps/web/vite.config.ts
index 14db96e84..539cf4c33 100644
--- a/apps/context/apps/web/vite.config.ts
+++ b/apps/context/apps/web/vite.config.ts
@@ -2,7 +2,7 @@ import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -27,4 +27,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/manacore/apps/web/src/app.d.ts b/apps/manacore/apps/web/src/app.d.ts
index 1476def65..d9d6fc6b5 100644
--- a/apps/manacore/apps/web/src/app.d.ts
+++ b/apps/manacore/apps/web/src/app.d.ts
@@ -1,3 +1,6 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
+
/**
* App type declarations for ManaCore web app
*
diff --git a/apps/manacore/apps/web/src/lib/version.ts b/apps/manacore/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/manacore/apps/web/src/lib/version.ts
+++ b/apps/manacore/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/manacore/apps/web/src/routes/(auth)/login/+page.svelte b/apps/manacore/apps/web/src/routes/(auth)/login/+page.svelte
index eed582800..85509b672 100644
--- a/apps/manacore/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/manacore/apps/web/src/routes/(auth)/login/+page.svelte
@@ -8,7 +8,7 @@
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
// Get translations based on current locale
const translations = $derived(getLoginTranslations($locale || 'de'));
@@ -44,6 +44,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/manacore/apps/web/vite.config.ts b/apps/manacore/apps/web/vite.config.ts
index a3cefbb2d..ec127b4fe 100644
--- a/apps/manacore/apps/web/vite.config.ts
+++ b/apps/manacore/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -32,4 +32,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/manadeck/apps/web/src/app.d.ts b/apps/manadeck/apps/web/src/app.d.ts
index da08e6da5..8e8e79928 100644
--- a/apps/manadeck/apps/web/src/app.d.ts
+++ b/apps/manadeck/apps/web/src/app.d.ts
@@ -1,3 +1,6 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
+
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
declare global {
diff --git a/apps/manadeck/apps/web/src/lib/version.ts b/apps/manadeck/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/manadeck/apps/web/src/lib/version.ts
+++ b/apps/manadeck/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/manadeck/apps/web/src/routes/(auth)/login/+page.svelte b/apps/manadeck/apps/web/src/routes/(auth)/login/+page.svelte
index 1f8573ea8..ef2c3d87b 100644
--- a/apps/manadeck/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/manadeck/apps/web/src/routes/(auth)/login/+page.svelte
@@ -8,7 +8,7 @@
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
// Get translations based on current locale
const translations = $derived(getLoginTranslations($locale || 'de'));
@@ -44,6 +44,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/manadeck/apps/web/vite.config.ts b/apps/manadeck/apps/web/vite.config.ts
index f11e75b1c..9dc2f1570 100644
--- a/apps/manadeck/apps/web/vite.config.ts
+++ b/apps/manadeck/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -28,4 +28,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/matrix/apps/web/src/app.d.ts b/apps/matrix/apps/web/src/app.d.ts
index b15512ca1..db149168c 100644
--- a/apps/matrix/apps/web/src/app.d.ts
+++ b/apps/matrix/apps/web/src/app.d.ts
@@ -1,3 +1,6 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
+
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
declare global {
diff --git a/apps/matrix/apps/web/src/lib/version.ts b/apps/matrix/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/matrix/apps/web/src/lib/version.ts
+++ b/apps/matrix/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/mukke/apps/web/src/lib/version.ts b/apps/mukke/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/mukke/apps/web/src/lib/version.ts
+++ b/apps/mukke/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/mukke/apps/web/src/routes/(auth)/login/+page.svelte b/apps/mukke/apps/web/src/routes/(auth)/login/+page.svelte
index 4f29f3567..4c331921d 100644
--- a/apps/mukke/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/mukke/apps/web/src/routes/(auth)/login/+page.svelte
@@ -6,7 +6,7 @@
import { getLoginTranslations } from '@manacore/shared-i18n';
import { MukkeLogo } from '@manacore/shared-branding';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
// Get redirect URL from query params or sessionStorage
const redirectTo = $derived.by(() => {
@@ -62,4 +62,5 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
/>
diff --git a/apps/nutriphi/apps/web/src/app.d.ts b/apps/nutriphi/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/nutriphi/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/nutriphi/apps/web/src/lib/version.ts b/apps/nutriphi/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/nutriphi/apps/web/src/lib/version.ts
+++ b/apps/nutriphi/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/nutriphi/apps/web/src/routes/(auth)/login/+page.svelte b/apps/nutriphi/apps/web/src/routes/(auth)/login/+page.svelte
index d5b1c1938..6915611f0 100644
--- a/apps/nutriphi/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/nutriphi/apps/web/src/routes/(auth)/login/+page.svelte
@@ -7,7 +7,7 @@
import { locale } from 'svelte-i18n';
import { NutriPhiLogo } from '@manacore/shared-branding';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params or sessionStorage
@@ -64,4 +64,5 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
/>
diff --git a/apps/nutriphi/apps/web/vite.config.ts b/apps/nutriphi/apps/web/vite.config.ts
index 4e15048c8..518b20e36 100644
--- a/apps/nutriphi/apps/web/vite.config.ts
+++ b/apps/nutriphi/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -28,4 +28,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES, '@nutriphi/shared'],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/photos/apps/web/src/app.d.ts b/apps/photos/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/photos/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/photos/apps/web/src/lib/version.ts b/apps/photos/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/photos/apps/web/src/lib/version.ts
+++ b/apps/photos/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/photos/apps/web/src/routes/(auth)/login/+page.svelte b/apps/photos/apps/web/src/routes/(auth)/login/+page.svelte
index fb716c1d0..3d8afeec9 100644
--- a/apps/photos/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/photos/apps/web/src/routes/(auth)/login/+page.svelte
@@ -6,7 +6,7 @@
import { LoginPage } from '@manacore/shared-auth-ui';
import { getLoginTranslations } from '@manacore/shared-i18n';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
let redirectTo = $state('/');
@@ -55,4 +55,5 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
/>
diff --git a/apps/photos/apps/web/vite.config.ts b/apps/photos/apps/web/vite.config.ts
index 84f4a2492..062ccd95b 100644
--- a/apps/photos/apps/web/vite.config.ts
+++ b/apps/photos/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -28,4 +28,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/picture/apps/web/src/app.d.ts b/apps/picture/apps/web/src/app.d.ts
index da08e6da5..8e8e79928 100644
--- a/apps/picture/apps/web/src/app.d.ts
+++ b/apps/picture/apps/web/src/app.d.ts
@@ -1,3 +1,6 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
+
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
declare global {
diff --git a/apps/picture/apps/web/src/lib/version.ts b/apps/picture/apps/web/src/lib/version.ts
index a41a82ec7..083910420 100644
--- a/apps/picture/apps/web/src/lib/version.ts
+++ b/apps/picture/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.3.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/picture/apps/web/src/routes/auth/login/+page.svelte b/apps/picture/apps/web/src/routes/auth/login/+page.svelte
index 93b8a54fe..aa727a3e3 100644
--- a/apps/picture/apps/web/src/routes/auth/login/+page.svelte
+++ b/apps/picture/apps/web/src/routes/auth/login/+page.svelte
@@ -8,7 +8,7 @@
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import { onMount } from 'svelte';
import { PUBLIC_GOOGLE_CLIENT_ID, PUBLIC_APPLE_CLIENT_ID } from '$env/static/public';
@@ -68,6 +68,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/picture/apps/web/vite.config.ts b/apps/picture/apps/web/vite.config.ts
index b4f996b2a..dcf66a534 100644
--- a/apps/picture/apps/web/vite.config.ts
+++ b/apps/picture/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -28,4 +28,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/planta/apps/web/src/app.d.ts b/apps/planta/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/planta/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/planta/apps/web/src/lib/version.ts b/apps/planta/apps/web/src/lib/version.ts
index 49a6ced3e..360404f66 100644
--- a/apps/planta/apps/web/src/lib/version.ts
+++ b/apps/planta/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.1.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/planta/apps/web/src/routes/(auth)/login/+page.svelte b/apps/planta/apps/web/src/routes/(auth)/login/+page.svelte
index cacf8bf73..a01146fb1 100644
--- a/apps/planta/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/planta/apps/web/src/routes/(auth)/login/+page.svelte
@@ -7,7 +7,7 @@
import { locale } from 'svelte-i18n';
import { PlantaLogo } from '@manacore/shared-branding';
import { authStore } from '$lib/stores/auth.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params or sessionStorage
@@ -64,4 +64,5 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
/>
diff --git a/apps/planta/apps/web/vite.config.ts b/apps/planta/apps/web/vite.config.ts
index b4a4e8213..a293fce82 100644
--- a/apps/planta/apps/web/vite.config.ts
+++ b/apps/planta/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -28,4 +28,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES, '@planta/shared'],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/presi/apps/web/src/app.d.ts b/apps/presi/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/presi/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/presi/apps/web/src/lib/version.ts b/apps/presi/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/presi/apps/web/src/lib/version.ts
+++ b/apps/presi/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/presi/apps/web/src/routes/(auth)/login/+page.svelte b/apps/presi/apps/web/src/routes/(auth)/login/+page.svelte
index cbba8f45f..806e2689d 100644
--- a/apps/presi/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/presi/apps/web/src/routes/(auth)/login/+page.svelte
@@ -8,7 +8,7 @@
import { auth } from '$lib/stores/auth.svelte';
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params
@@ -52,6 +52,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/presi/apps/web/vite.config.ts b/apps/presi/apps/web/vite.config.ts
index e8c43c0a3..09f14d96f 100644
--- a/apps/presi/apps/web/vite.config.ts
+++ b/apps/presi/apps/web/vite.config.ts
@@ -4,7 +4,7 @@ import { defineConfig } from 'vite';
import path from 'path';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -39,4 +39,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/questions/apps/web/src/app.d.ts b/apps/questions/apps/web/src/app.d.ts
index 743f07b2e..6788e7f2a 100644
--- a/apps/questions/apps/web/src/app.d.ts
+++ b/apps/questions/apps/web/src/app.d.ts
@@ -1,3 +1,6 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
+
// See https://kit.svelte.dev/docs/types#app
// for information about these interfaces
declare global {
diff --git a/apps/questions/apps/web/src/lib/version.ts b/apps/questions/apps/web/src/lib/version.ts
index 49a6ced3e..360404f66 100644
--- a/apps/questions/apps/web/src/lib/version.ts
+++ b/apps/questions/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.1.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/questions/apps/web/src/routes/(auth)/login/+page.svelte b/apps/questions/apps/web/src/routes/(auth)/login/+page.svelte
index 0ba49b23d..143431679 100644
--- a/apps/questions/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/questions/apps/web/src/routes/(auth)/login/+page.svelte
@@ -8,7 +8,7 @@
import { QuestionsLogo } from '@manacore/shared-branding';
import { authStore } from '$lib/stores/auth.svelte';
import { apiClient } from '$lib/api/client';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params or sessionStorage
@@ -70,4 +70,5 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
/>
diff --git a/apps/questions/apps/web/vite.config.ts b/apps/questions/apps/web/vite.config.ts
index 328af2bba..248acd87f 100644
--- a/apps/questions/apps/web/vite.config.ts
+++ b/apps/questions/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -28,4 +28,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/skilltree/apps/web/src/app.d.ts b/apps/skilltree/apps/web/src/app.d.ts
index da08e6da5..8e8e79928 100644
--- a/apps/skilltree/apps/web/src/app.d.ts
+++ b/apps/skilltree/apps/web/src/app.d.ts
@@ -1,3 +1,6 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
+
// See https://svelte.dev/docs/kit/types#app.d.ts
// for information about these interfaces
declare global {
diff --git a/apps/skilltree/apps/web/src/lib/version.ts b/apps/skilltree/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/skilltree/apps/web/src/lib/version.ts
+++ b/apps/skilltree/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/skilltree/apps/web/src/routes/(auth)/login/+page.svelte b/apps/skilltree/apps/web/src/routes/(auth)/login/+page.svelte
index 22493e2e9..a053cb526 100644
--- a/apps/skilltree/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/skilltree/apps/web/src/routes/(auth)/login/+page.svelte
@@ -8,7 +8,7 @@
import { SkillTreeLogo } from '@manacore/shared-branding';
import { authStore } from '$lib/stores/auth.svelte';
import { apiClient } from '$lib/api/client';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params or sessionStorage
@@ -70,4 +70,5 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
/>
diff --git a/apps/skilltree/apps/web/vite.config.ts b/apps/skilltree/apps/web/vite.config.ts
index bdced4816..23ac0a5f9 100644
--- a/apps/skilltree/apps/web/vite.config.ts
+++ b/apps/skilltree/apps/web/vite.config.ts
@@ -3,7 +3,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -28,4 +28,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/storage/apps/web/src/app.d.ts b/apps/storage/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/storage/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/storage/apps/web/src/lib/version.ts b/apps/storage/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/storage/apps/web/src/lib/version.ts
+++ b/apps/storage/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/storage/apps/web/vite.config.ts b/apps/storage/apps/web/vite.config.ts
index 5ea6266a5..d07f25a7d 100644
--- a/apps/storage/apps/web/vite.config.ts
+++ b/apps/storage/apps/web/vite.config.ts
@@ -4,7 +4,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -34,4 +34,7 @@ export default defineConfig({
include: ['src/**/*.test.ts'],
globals: true,
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/todo/apps/web/src/app.d.ts b/apps/todo/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/todo/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/todo/apps/web/src/lib/version.ts b/apps/todo/apps/web/src/lib/version.ts
index 9c2e447ab..4f221f09f 100644
--- a/apps/todo/apps/web/src/lib/version.ts
+++ b/apps/todo/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '1.0.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/todo/apps/web/src/routes/(auth)/login/+page.svelte b/apps/todo/apps/web/src/routes/(auth)/login/+page.svelte
index 2d305e1ff..1dc0a04bb 100644
--- a/apps/todo/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/todo/apps/web/src/routes/(auth)/login/+page.svelte
@@ -9,7 +9,7 @@
import { authStore } from '$lib/stores/auth.svelte';
import AppSlider from '$lib/components/AppSlider.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
// Get redirect URL from query params or sessionStorage (set by AuthGateModal)
const redirectTo = $derived.by(() => {
@@ -67,6 +67,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/todo/apps/web/vite.config.ts b/apps/todo/apps/web/vite.config.ts
index ee3e8c104..33fc11fcc 100644
--- a/apps/todo/apps/web/vite.config.ts
+++ b/apps/todo/apps/web/vite.config.ts
@@ -4,7 +4,7 @@ import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -34,4 +34,7 @@ export default defineConfig({
include: ['src/**/*.test.ts'],
globals: true,
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/apps/zitare/apps/web/src/app.d.ts b/apps/zitare/apps/web/src/app.d.ts
new file mode 100644
index 000000000..c269fca6f
--- /dev/null
+++ b/apps/zitare/apps/web/src/app.d.ts
@@ -0,0 +1,2 @@
+declare const __BUILD_HASH__: string;
+declare const __BUILD_TIME__: string;
diff --git a/apps/zitare/apps/web/src/lib/version.ts b/apps/zitare/apps/web/src/lib/version.ts
index 60861a95f..d63b4cfef 100644
--- a/apps/zitare/apps/web/src/lib/version.ts
+++ b/apps/zitare/apps/web/src/lib/version.ts
@@ -1 +1,4 @@
export const APP_VERSION = '0.2.0';
+export const BUILD_TIME: string =
+ typeof __BUILD_TIME__ !== 'undefined' ? __BUILD_TIME__ : new Date().toISOString();
+export const BUILD_HASH: string = typeof __BUILD_HASH__ !== 'undefined' ? __BUILD_HASH__ : 'dev';
diff --git a/apps/zitare/apps/web/src/routes/(auth)/login/+page.svelte b/apps/zitare/apps/web/src/routes/(auth)/login/+page.svelte
index 9cc166be4..afd9da0b7 100644
--- a/apps/zitare/apps/web/src/routes/(auth)/login/+page.svelte
+++ b/apps/zitare/apps/web/src/routes/(auth)/login/+page.svelte
@@ -8,7 +8,7 @@
import { ZitareLogo } from '@manacore/shared-branding';
import { authStore } from '$lib/stores/auth.svelte';
import LanguageSelector from '$lib/components/LanguageSelector.svelte';
- import { APP_VERSION } from '$lib/version';
+ import { APP_VERSION, BUILD_TIME } from '$lib/version';
import '$lib/i18n';
// Get redirect URL from query params or sessionStorage
@@ -65,6 +65,7 @@
{verified}
{initialEmail}
version={APP_VERSION}
+ buildTime={BUILD_TIME}
>
{#snippet headerControls()}
diff --git a/apps/zitare/apps/web/vite.config.ts b/apps/zitare/apps/web/vite.config.ts
index 6e1cb64b0..e9331fc93 100644
--- a/apps/zitare/apps/web/vite.config.ts
+++ b/apps/zitare/apps/web/vite.config.ts
@@ -2,7 +2,7 @@ import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import { SvelteKitPWA } from '@vite-pwa/sveltekit';
import { createPWAConfig } from '@manacore/shared-pwa';
-import { MANACORE_SHARED_PACKAGES } from '@manacore/shared-vite-config';
+import { MANACORE_SHARED_PACKAGES, getBuildDefines } from '@manacore/shared-vite-config';
export default defineConfig({
plugins: [
@@ -26,4 +26,7 @@ export default defineConfig({
optimizeDeps: {
exclude: [...MANACORE_SHARED_PACKAGES, '@zitare/content'],
},
+ define: {
+ ...getBuildDefines(),
+ },
});
diff --git a/packages/shared-auth-ui/src/pages/LoginPage.svelte b/packages/shared-auth-ui/src/pages/LoginPage.svelte
index 3a3c5e83d..dcf293f5f 100644
--- a/packages/shared-auth-ui/src/pages/LoginPage.svelte
+++ b/packages/shared-auth-ui/src/pages/LoginPage.svelte
@@ -93,6 +93,8 @@
initialPassword?: string;
/** App version string to display */
version?: string;
+ /** Build timestamp (ISO string) to display next to version */
+ buildTime?: string;
}
let {
@@ -118,6 +120,7 @@
initialEmail = '',
initialPassword = '',
version = '',
+ buildTime = '',
}: Props = $props();
const t = $derived({ ...defaultTranslations, ...translations });
@@ -547,7 +550,18 @@
{/if}
{#if version}
-
v{version}
+
+ v{version}{#if buildTime}
+ ยท {new Date(buildTime).toLocaleDateString('de-DE', {
+ day: '2-digit',
+ month: '2-digit',
+ year: 'numeric',
+ })}
+ {new Date(buildTime).toLocaleTimeString('de-DE', {
+ hour: '2-digit',
+ minute: '2-digit',
+ })}{/if}
+
{/if}