This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -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)"
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,8 @@ CREATE TABLE IF NOT EXISTS email_campaign_logs (
|
||||
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_subscribers ON email_campaign_subscribers(campaign_id, status);
|
||||
|
||||
@@ -11,6 +11,7 @@ import "../../Web_Backgrounds/cyberpunk-theme.css"
|
||||
import "../../Web_Backgrounds/cyber2-theme.css"
|
||||
import "../../Web_Backgrounds/pumpkin-theme.css"
|
||||
import "../../Web_Backgrounds/bw-theme.css"
|
||||
import "../../Web_Backgrounds/luminous-theme.css"
|
||||
|
||||
const inter = 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: "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: "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 {
|
||||
|
||||
@@ -11,6 +11,7 @@ const themeClasses: Record<string, string> = {
|
||||
cyber2: "theme-cyber2",
|
||||
pumpkin: "theme-pumpkin",
|
||||
bw: "theme-bw",
|
||||
luminous: "theme-luminous",
|
||||
}
|
||||
|
||||
interface WebsiteThemeContextValue {
|
||||
|
||||
Reference in New Issue
Block a user