mirror of
https://dev.azure.com/globalhealthx/EMR/_git/helix-engage-server
synced 2026-04-11 10:07:22 +00:00
- ThemeService: read/write/validate theme.json, auto-backup on save - ThemeController: GET/PUT/POST /api/config/theme (public GET, versioned PUT) - ThemeConfig type with version + updatedAt fields - Default theme: Global Hospital blue scale - ConfigThemeModule registered in AppModule Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
80 lines
2.4 KiB
TypeScript
80 lines
2.4 KiB
TypeScript
export type ThemeConfig = {
|
|
version?: number;
|
|
updatedAt?: string;
|
|
brand: {
|
|
name: string;
|
|
hospitalName: string;
|
|
logo: string;
|
|
favicon: string;
|
|
};
|
|
colors: {
|
|
brand: Record<string, string>;
|
|
};
|
|
typography: {
|
|
body: string;
|
|
display: string;
|
|
};
|
|
login: {
|
|
title: string;
|
|
subtitle: string;
|
|
showGoogleSignIn: boolean;
|
|
showForgotPassword: boolean;
|
|
poweredBy: { label: string; url: string };
|
|
};
|
|
sidebar: {
|
|
title: string;
|
|
subtitle: string;
|
|
};
|
|
ai: {
|
|
quickActions: Array<{ label: string; prompt: string }>;
|
|
};
|
|
};
|
|
|
|
export const DEFAULT_THEME: ThemeConfig = {
|
|
brand: {
|
|
name: 'Helix Engage',
|
|
hospitalName: 'Global Hospital',
|
|
logo: '/helix-logo.png',
|
|
favicon: '/favicon.ico',
|
|
},
|
|
colors: {
|
|
brand: {
|
|
'25': 'rgb(239 246 255)',
|
|
'50': 'rgb(219 234 254)',
|
|
'100': 'rgb(191 219 254)',
|
|
'200': 'rgb(147 197 253)',
|
|
'300': 'rgb(96 165 250)',
|
|
'400': 'rgb(59 130 246)',
|
|
'500': 'rgb(37 99 235)',
|
|
'600': 'rgb(29 78 216)',
|
|
'700': 'rgb(30 64 175)',
|
|
'800': 'rgb(30 58 138)',
|
|
'900': 'rgb(23 37 84)',
|
|
'950': 'rgb(15 23 42)',
|
|
},
|
|
},
|
|
typography: {
|
|
body: "'Satoshi', var(--font-inter, 'Inter'), -apple-system, 'Segoe UI', Roboto, Arial, sans-serif",
|
|
display: "'General Sans', var(--font-inter, 'Inter'), -apple-system, 'Segoe UI', Roboto, Arial, sans-serif",
|
|
},
|
|
login: {
|
|
title: 'Sign in to Helix Engage',
|
|
subtitle: 'Global Hospital',
|
|
showGoogleSignIn: true,
|
|
showForgotPassword: true,
|
|
poweredBy: { label: 'Powered by F0rty2.ai', url: 'https://f0rty2.ai' },
|
|
},
|
|
sidebar: {
|
|
title: 'Helix Engage',
|
|
subtitle: 'Global Hospital \u00b7 {role}',
|
|
},
|
|
ai: {
|
|
quickActions: [
|
|
{ label: 'Doctor availability', prompt: 'What doctors are available and what are their visiting hours?' },
|
|
{ label: 'Clinic timings', prompt: 'What are the clinic locations and timings?' },
|
|
{ label: 'Patient history', prompt: "Can you summarize this patient's history?" },
|
|
{ label: 'Treatment packages', prompt: 'What treatment packages are available?' },
|
|
],
|
|
},
|
|
};
|