diff --git a/packages/shared-branding/src/app-icons.ts b/packages/shared-branding/src/app-icons.ts
index b430af9a3..f8f005f96 100644
--- a/packages/shared-branding/src/app-icons.ts
+++ b/packages/shared-branding/src/app-icons.ts
@@ -48,6 +48,12 @@ const nutriphiSvg = ``;
+// Calendar icon (calendar with gradient)
+const calendarSvg = ``;
+
+// Storage icon (cloud storage with gradient)
+const storageSvg = ``;
+
/**
* App icons as data URLs
* Use these directly in
or CSS background-image
@@ -66,6 +72,8 @@ export const APP_ICONS = {
moodlit: svgToDataUrl(moodlitSvg),
nutriphi: svgToDataUrl(nutriphiSvg),
contacts: svgToDataUrl(contactsSvg),
+ calendar: svgToDataUrl(calendarSvg),
+ storage: svgToDataUrl(storageSvg),
} as const;
export type AppIconId = keyof typeof APP_ICONS;
diff --git a/packages/shared-branding/src/config.ts b/packages/shared-branding/src/config.ts
index d73c50996..c2e3dcc5e 100644
--- a/packages/shared-branding/src/config.ts
+++ b/packages/shared-branding/src/config.ts
@@ -144,6 +144,19 @@ export const APP_BRANDING: Record = {
logoStroke: true,
logoStrokeWidth: 1.5,
},
+ calendar: {
+ id: 'calendar',
+ name: 'Kalender',
+ tagline: 'Smart Calendar Management',
+ primaryColor: '#0ea5e9',
+ secondaryColor: '#38bdf8',
+ // Calendar icon
+ logoPath:
+ 'M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5m-9-6h.008v.008H12v-.008zM12 15h.008v.008H12V15zm0 2.25h.008v.008H12v-.008zM9.75 15h.008v.008H9.75V15zm0 2.25h.008v.008H9.75v-.008zM7.5 15h.008v.008H7.5V15zm0 2.25h.008v.008H7.5v-.008zm6.75-4.5h.008v.008h-.008v-.008zm0 2.25h.008v.008h-.008V15zm0 2.25h.008v.008h-.008v-.008zm2.25-4.5h.008v.008H16.5v-.008zm0 2.25h.008v.008H16.5V15z',
+ logoViewBox: '0 0 24 24',
+ logoStroke: true,
+ logoStrokeWidth: 1.5,
+ },
};
/**
diff --git a/packages/shared-branding/src/index.ts b/packages/shared-branding/src/index.ts
index 5770d658b..9f2f78ed7 100644
--- a/packages/shared-branding/src/index.ts
+++ b/packages/shared-branding/src/index.ts
@@ -25,6 +25,7 @@ export {
NutriPhiLogo,
ZitareLogo,
ContactsLogo,
+ CalendarLogo,
} from './logos';
// Configuration
diff --git a/packages/shared-branding/src/logos/CalendarLogo.svelte b/packages/shared-branding/src/logos/CalendarLogo.svelte
new file mode 100644
index 000000000..84f1f5d5e
--- /dev/null
+++ b/packages/shared-branding/src/logos/CalendarLogo.svelte
@@ -0,0 +1,13 @@
+
+
+
diff --git a/packages/shared-branding/src/logos/StorageLogo.svelte b/packages/shared-branding/src/logos/StorageLogo.svelte
new file mode 100644
index 000000000..794057897
--- /dev/null
+++ b/packages/shared-branding/src/logos/StorageLogo.svelte
@@ -0,0 +1,13 @@
+
+
+
diff --git a/packages/shared-branding/src/logos/index.ts b/packages/shared-branding/src/logos/index.ts
index 9ae382f2c..70adc9c24 100644
--- a/packages/shared-branding/src/logos/index.ts
+++ b/packages/shared-branding/src/logos/index.ts
@@ -12,3 +12,5 @@ export { default as PresiLogo } from './PresiLogo.svelte';
export { default as NutriPhiLogo } from './NutriPhiLogo.svelte';
export { default as ZitareLogo } from './ZitareLogo.svelte';
export { default as ContactsLogo } from './ContactsLogo.svelte';
+export { default as CalendarLogo } from './CalendarLogo.svelte';
+export { default as StorageLogo } from './StorageLogo.svelte';
diff --git a/packages/shared-branding/src/mana-apps.ts b/packages/shared-branding/src/mana-apps.ts
index b71fd7aa8..9cece60d8 100644
--- a/packages/shared-branding/src/mana-apps.ts
+++ b/packages/shared-branding/src/mana-apps.ts
@@ -196,6 +196,38 @@ export const MANA_APPS: ManaApp[] = [
comingSoon: false,
status: 'development',
},
+ {
+ id: 'calendar',
+ name: 'Kalender',
+ description: {
+ de: 'Smarte Kalenderverwaltung',
+ en: 'Smart Calendar Management',
+ },
+ longDescription: {
+ de: 'Organisiere deine Zeit intelligent mit persönlichen und geteilten Kalendern, wiederkehrenden Terminen und Erinnerungen.',
+ en: 'Organize your time intelligently with personal and shared calendars, recurring events, and reminders.',
+ },
+ icon: APP_ICONS.calendar,
+ color: '#0ea5e9',
+ comingSoon: false,
+ status: 'development',
+ },
+ {
+ id: 'storage',
+ name: 'Storage',
+ description: {
+ de: 'Cloud-Speicherung',
+ en: 'Cloud Storage',
+ },
+ longDescription: {
+ de: 'Sichere Cloud-Speicherung für deine Dateien mit Ordnern, Versionierung, Sharing und mehr.',
+ en: 'Secure cloud storage for your files with folders, versioning, sharing, and more.',
+ },
+ icon: APP_ICONS.storage,
+ color: '#3b82f6',
+ comingSoon: false,
+ status: 'development',
+ },
];
/**
@@ -269,7 +301,7 @@ export const APP_URLS: Record = {
presi: { dev: 'http://localhost:5176', prod: 'https://presi.manacore.app' },
manadeck: { dev: 'http://localhost:5177', prod: 'https://manadeck.manacore.app' },
maerchenzauber: { dev: 'http://localhost:5178', prod: 'https://maerchenzauber.manacore.app' },
- picture: { dev: 'http://localhost:5179', prod: 'https://picture.manacore.app' },
+ picture: { dev: 'http://localhost:5185', prod: 'https://picture.manacore.app' },
zitare: { dev: 'http://localhost:5180', prod: 'https://zitare.manacore.app' },
wisekeep: { dev: 'http://localhost:5181', prod: 'https://wisekeep.manacore.app' },
nutriphi: { dev: 'http://localhost:5182', prod: 'https://nutriphi.manacore.app' },
@@ -277,6 +309,8 @@ export const APP_URLS: Record = {
mana: { dev: 'http://localhost:5173', prod: 'https://manacore.app' },
moodlit: { dev: 'http://localhost:5183', prod: 'https://moodlit.manacore.app' },
contacts: { dev: 'http://localhost:5184', prod: 'https://contacts.manacore.app' },
+ calendar: { dev: 'http://localhost:5179', prod: 'https://calendar.manacore.app' },
+ storage: { dev: 'http://localhost:5185', prod: 'https://storage.manacore.app' },
};
/**
diff --git a/packages/shared-branding/src/types.ts b/packages/shared-branding/src/types.ts
index e33ed10e0..98d6309a3 100644
--- a/packages/shared-branding/src/types.ts
+++ b/packages/shared-branding/src/types.ts
@@ -12,7 +12,8 @@ export type AppId =
| 'nutriphi'
| 'zitare'
| 'picture'
- | 'contacts';
+ | 'contacts'
+ | 'calendar';
/**
* App branding configuration