New Theme (Luminous)
Build & Auto-Repair / build (push) Has been cancelled

This commit is contained in:
2026-07-02 14:27:27 +02:00
parent 0a4988156f
commit fc099c6d00
6 changed files with 1634 additions and 1 deletions
File diff suppressed because it is too large Load Diff
+119
View File
@@ -0,0 +1,119 @@
{
"theme": {
"id": "luminous",
"name": "Luminous",
"description": "Deep Glass / Glassmorphism 2.0 — blue-teal-amber palette with specular highlights, 3D bevel/emboss borders, refraction effects, and ultra-frosted translucent surfaces inspired by iOS & HarmonyOS",
"type": "dual",
"default": false
},
"modes": {
"dark": {
"colors": {
"background": "hsl(215, 30%, 6%)",
"foreground": "hsl(210, 30%, 96%)",
"card": "hsl(215, 25%, 10%)",
"cardForeground": "hsl(210, 30%, 96%)",
"popover": "hsl(215, 25%, 10%)",
"popoverForeground": "hsl(210, 30%, 96%)",
"primary": "hsl(210, 75%, 55%)",
"primaryForeground": "hsl(0, 0%, 100%)",
"secondary": "hsl(185, 70%, 45%)",
"secondaryForeground": "hsl(0, 0%, 100%)",
"muted": "hsl(215, 15%, 14%)",
"mutedForeground": "hsl(215, 12%, 55%)",
"accent": "hsl(35, 80%, 55%)",
"accentForeground": "hsl(0, 0%, 0%)",
"destructive": "hsl(0, 75%, 50%)",
"destructiveForeground": "hsl(0, 0%, 100%)",
"border": "hsl(215, 18%, 20%)",
"input": "hsl(215, 15%, 16%)",
"ring": "hsl(210, 75%, 55%)",
"sidebar": "hsl(215, 30%, 6%)",
"sidebarForeground": "hsl(210, 30%, 96%)",
"sidebarPrimary": "hsl(210, 75%, 55%)",
"sidebarPrimaryForeground": "hsl(0, 0%, 100%)",
"sidebarAccent": "hsl(210, 35%, 16%)",
"sidebarAccentForeground": "hsl(210, 30%, 96%)",
"sidebarBorder": "hsl(215, 18%, 16%)",
"sidebarRing": "hsl(210, 75%, 55%)"
},
"textColors": {
"heading": "linear-gradient(135deg, #60a5fa, #2dd4bf)",
"body": "#e2e8f0",
"muted": "#7a8a9a",
"link": "#60a5fa",
"linkHover": "#f59e0b",
"code": "#2dd4bf",
"placeholder": "#5a6a7a"
},
"backgroundImage": null,
"backgroundGradients": [
"rgba(50, 140, 240, 0.18) at 10% 20%",
"rgba(0, 200, 210, 0.10) at 85% 75%",
"rgba(200, 160, 40, 0.06) at 50% 15%",
"rgba(50, 140, 240, 0.07) at 35% 85%"
]
},
"light": {
"colors": {
"background": "hsl(205, 38%, 86%)",
"foreground": "hsl(210, 30%, 15%)",
"card": "hsl(0, 0%, 100%)",
"cardForeground": "hsl(210, 30%, 15%)",
"popover": "hsl(0, 0%, 100%)",
"popoverForeground": "hsl(210, 30%, 15%)",
"primary": "hsl(210, 65%, 48%)",
"primaryForeground": "hsl(0, 0%, 100%)",
"secondary": "hsl(185, 65%, 38%)",
"secondaryForeground": "hsl(0, 0%, 100%)",
"muted": "hsl(205, 20%, 90%)",
"mutedForeground": "hsl(210, 12%, 48%)",
"accent": "hsl(35, 75%, 50%)",
"accentForeground": "hsl(0, 0%, 0%)",
"destructive": "hsl(0, 75%, 45%)",
"destructiveForeground": "hsl(0, 0%, 100%)",
"border": "hsl(210, 18%, 78%)",
"input": "hsl(210, 15%, 84%)",
"ring": "hsl(210, 65%, 48%)",
"sidebar": "hsl(0, 0%, 100%)",
"sidebarForeground": "hsl(210, 30%, 15%)",
"sidebarPrimary": "hsl(210, 65%, 48%)",
"sidebarPrimaryForeground": "hsl(0, 0%, 100%)",
"sidebarAccent": "hsl(205, 18%, 90%)",
"sidebarAccentForeground": "hsl(210, 30%, 15%)",
"sidebarBorder": "hsl(210, 18%, 78%)",
"sidebarRing": "hsl(210, 65%, 48%)"
},
"textColors": {
"heading": "linear-gradient(135deg, #3b82f6, #0d9488)",
"body": "#1e293b",
"muted": "#6b7280",
"link": "#3b82f6",
"linkHover": "#d97706",
"code": "#3b82f6",
"placeholder": "#9ca3af"
},
"backgroundImage": null,
"backgroundGradients": [
"rgba(50, 140, 240, 0.06) at 15% 20%",
"rgba(0, 200, 210, 0.04) at 85% 75%",
"rgba(200, 160, 40, 0.02) at 50% 50%"
]
}
},
"borderRadius": "0.75rem",
"typography": {
"fontFamily": "Inter, sans-serif",
"headingFont": "Inter, sans-serif"
},
"keyColors": {
"primary": "#60a5fa (dark) / #3b82f6 (light)",
"background": "#0b111e (dark) / #d2e2f2 (light)",
"card": "#121a28 (dark) / #ffffff (light)",
"sidebar": "#0b111e (dark) / #ffffff (light)",
"border": "#283040 (dark) / #d4d4dc (light)",
"text": "#e2e8f0 (dark) / #1e293b (light)",
"mutedText": "#7a8a9a (dark) / #6b7280 (light)",
"headingGradient": "#60a5fa → #2dd4bf (dark) / #3b82f6 → #0d9488 (light)"
}
}
+2 -1
View File
@@ -55,7 +55,8 @@ CREATE TABLE IF NOT EXISTS email_campaign_logs (
error_message TEXT error_message TEXT
); );
ALTER TABLE email_campaign_subscribers ADD CONSTRAINT IF NOT EXISTS uq_campaign_lead UNIQUE (campaign_id, lead_id); -- Already defined inline in CREATE TABLE; IF NOT EXISTS not supported on this PostgreSQL version
-- ALTER TABLE email_campaign_subscribers ADD CONSTRAINT IF NOT EXISTS uq_campaign_lead UNIQUE (campaign_id, lead_id);
CREATE INDEX idx_campaign_steps_order ON email_campaign_steps(campaign_id, step_order); CREATE INDEX idx_campaign_steps_order ON email_campaign_steps(campaign_id, step_order);
CREATE INDEX idx_campaign_subscribers ON email_campaign_subscribers(campaign_id, status); CREATE INDEX idx_campaign_subscribers ON email_campaign_subscribers(campaign_id, status);
+1
View File
@@ -11,6 +11,7 @@ import "../../Web_Backgrounds/cyberpunk-theme.css"
import "../../Web_Backgrounds/cyber2-theme.css" import "../../Web_Backgrounds/cyber2-theme.css"
import "../../Web_Backgrounds/pumpkin-theme.css" import "../../Web_Backgrounds/pumpkin-theme.css"
import "../../Web_Backgrounds/bw-theme.css" import "../../Web_Backgrounds/bw-theme.css"
import "../../Web_Backgrounds/luminous-theme.css"
const inter = Inter({ const inter = Inter({
variable: "--font-inter", variable: "--font-inter",
@@ -38,6 +38,7 @@ const backgroundOptions = [
{ value: "cyber2", label: "Cyber2.0", icon: Shield, color: "bg-gradient-to-r from-cyan-400 to-fuchsia-500", ring: "ring-cyan-400", desc: "Neon grid with magenta and cyan glow" }, { value: "cyber2", label: "Cyber2.0", icon: Shield, color: "bg-gradient-to-r from-cyan-400 to-fuchsia-500", ring: "ring-cyan-400", desc: "Neon grid with magenta and cyan glow" },
{ value: "pumpkin", label: "Pumpkin Spice", icon: Shield, color: "bg-gradient-to-r from-orange-600 to-amber-500", ring: "ring-orange-600", desc: "Warm autumn orange with spicy accents" }, { value: "pumpkin", label: "Pumpkin Spice", icon: Shield, color: "bg-gradient-to-r from-orange-600 to-amber-500", ring: "ring-orange-600", desc: "Warm autumn orange with spicy accents" },
{ value: "bw", label: "Black & White", icon: Shield, color: "bg-gradient-to-r from-gray-900 to-gray-400", ring: "ring-gray-500", desc: "Clean monochrome with subtle texture" }, { value: "bw", label: "Black & White", icon: Shield, color: "bg-gradient-to-r from-gray-900 to-gray-400", ring: "ring-gray-500", desc: "Clean monochrome with subtle texture" },
{ value: "luminous", label: "Luminous", icon: Shield, color: "bg-gradient-to-r from-blue-500 to-teal-400", ring: "ring-blue-500", desc: "Deep Glass 2.0 — blue-teal-amber with specular highlights and 3D bevel borders" },
] ]
function getStoredColorTheme(): string { function getStoredColorTheme(): string {
+1
View File
@@ -11,6 +11,7 @@ const themeClasses: Record<string, string> = {
cyber2: "theme-cyber2", cyber2: "theme-cyber2",
pumpkin: "theme-pumpkin", pumpkin: "theme-pumpkin",
bw: "theme-bw", bw: "theme-bw",
luminous: "theme-luminous",
} }
interface WebsiteThemeContextValue { interface WebsiteThemeContextValue {