import { createVuetify } from 'vuetify' import '@mdi/font/css/materialdesignicons.css' import 'vuetify/styles' import { aliases, mdi } from 'vuetify/iconsets/mdi' // ActaLog custom theme based on design requirements const actalogTheme = { dark: false, colors: { primary: '#2c3657', // Dark blue for headers secondary: '#597a6a', // Secondary color accent: '#5a4e68', // Accent color teal: '#00bcd4', // Teal for buttons (logo color) error: '#DF3F40', // Error/Alert color warning: '#FFA726', info: '#29B6F6', success: '#66BB6A', background: '#f4f6f9', // off-white ground so white surfaces read as cards (redesign-plus) surface: '#FFFFFF', 'on-primary': '#FFFFFF', 'on-secondary': '#FFFFFF', 'on-accent': '#FFFFFF', 'on-teal': '#FFFFFF', 'on-background': '#1A1A1A', 'on-surface': '#1A1A1A', // Additional colors gold: '#FFD700', // For action button (+ button) border: '#E3E6EA', // Border color from requirements } } const actalogDarkTheme = { dark: true, colors: { primary: '#2c3657', // Dark blue for headers secondary: '#597a6a', accent: '#5a4e68', teal: '#00bcd4', // Teal for buttons (logo color) error: '#DF3F40', warning: '#FFA726', info: '#29B6F6', success: '#66BB6A', background: '#1A1A1A', surface: '#2A2A2A', 'on-primary': '#FFFFFF', 'on-secondary': '#FFFFFF', 'on-accent': '#FFFFFF', 'on-teal': '#FFFFFF', 'on-background': '#FFFFFF', 'on-surface': '#FFFFFF', gold: '#FFD700', border: '#3A3A3A', } } // Athletic Brutalist Theme - Bold, high-contrast performance theme const brutalistTheme = { dark: true, colors: { primary: '#00bcd4', // Cyan - matches marketing site secondary: '#ffc107', // Gold accent accent: '#ff6b35', // Orange accent for intensity teal: '#00bcd4', error: '#ff1744', warning: '#ffc107', info: '#00bcd4', success: '#00e676', background: '#0a1628', // Dark navy from marketing site surface: '#0f1d2e', 'on-primary': '#0a1628', 'on-secondary': '#0a1628', 'on-accent': '#FFFFFF', 'on-teal': '#0a1628', 'on-background': '#FFFFFF', 'on-surface': '#e0e0e0', gold: '#ffc107', border: 'rgba(0, 188, 212, 0.2)', } } // Ocean Theme - Calming blue tones const oceanTheme = { dark: false, colors: { primary: '#006d77', // Deep ocean teal secondary: '#83c5be', // Light aqua accent: '#edf6f9', // Foam white teal: '#00bcd4', error: '#e63946', warning: '#f4a261', info: '#2a9d8f', success: '#06d6a0', background: '#fdfcfa', surface: '#FFFFFF', 'on-primary': '#FFFFFF', 'on-secondary': '#1a1a1a', 'on-accent': '#1a1a1a', 'on-teal': '#FFFFFF', 'on-background': '#1a1a1a', 'on-surface': '#1a1a1a', gold: '#f4a261', border: '#e0e0e0', } } // Sunset Theme - Warm amber and orange hues const sunsetTheme = { dark: false, colors: { primary: '#d62828', // Deep red secondary: '#f77f00', // Orange accent: '#fcbf49', // Golden yellow teal: '#00bcd4', error: '#d62828', warning: '#fcbf49', info: '#457b9d', success: '#06d6a0', background: '#fffcf2', // Warm cream surface: '#FFFFFF', 'on-primary': '#FFFFFF', 'on-secondary': '#1a1a1a', 'on-accent': '#1a1a1a', 'on-teal': '#FFFFFF', 'on-background': '#1a1a1a', 'on-surface': '#1a1a1a', gold: '#fcbf49', border: '#e0e0e0', } } // Sunrise Theme - Inspired by beach sunrise with purple clouds, golden horizon, coral sky const sunriseTheme = { dark: false, colors: { primary: '#7B5D7F', // Muted purple from sky/clouds secondary: '#E8842A', // Golden orange from horizon accent: '#D4637A', // Coral pink from clouds teal: '#00bcd4', error: '#D4637A', warning: '#F5A623', // Amber gold info: '#3D4F6F', // Deep blue-purple from ocean success: '#66BB6A', background: '#FFF8F5', // Warm cream with pink tint surface: '#FFFFFF', 'on-primary': '#FFFFFF', 'on-secondary': '#FFFFFF', 'on-accent': '#FFFFFF', 'on-teal': '#FFFFFF', 'on-background': '#3D4F6F', 'on-surface': '#3D4F6F', gold: '#F5A623', border: '#E8D4CF', // Warm pink-tinged border } } // Myst Theme - Elegant grayscale with dark text on light backgrounds const mystTheme = { dark: false, colors: { primary: '#2d2d2d', // Near-black for buttons (inverted) secondary: '#505050', // Dark gray accent: '#3a3a3a', // Charcoal accent teal: '#4a4a4a', // Gray replacement for teal error: '#1a1a1a', // Black for errors warning: '#666666', // Medium gray for warnings info: '#555555', // Dark gray for info success: '#3d3d3d', // Dark gray for success background: '#f5f5f5', // Light gray background surface: '#ffffff', // White surface 'on-primary': '#ffffff', // White text on dark buttons 'on-secondary': '#ffffff', 'on-accent': '#ffffff', 'on-teal': '#ffffff', 'on-background': '#1a1a1a', // Near-black text 'on-surface': '#1a1a1a', gold: '#888888', // Medium gray for gold replacement border: '#d0d0d0', // Light gray border } } export default createVuetify({ icons: { defaultSet: 'mdi', aliases, sets: { mdi, }, }, theme: { defaultTheme: 'light', themes: { light: actalogTheme, dark: actalogDarkTheme, brutalist: brutalistTheme, ocean: oceanTheme, sunset: sunsetTheme, sunrise: sunriseTheme, myst: mystTheme, }, variations: { colors: ['primary', 'secondary', 'accent'], lighten: 2, darken: 2, }, }, defaults: { VCard: { elevation: 1, rounded: 'sm', variant: 'elevated', }, VBtn: { color: 'primary', elevation: 0, rounded: 'sm', style: 'text-transform: none;', }, VTextField: { variant: 'solo', density: 'comfortable', rounded: 'sm', }, VSelect: { variant: 'solo', density: 'comfortable', rounded: 'sm', }, VTextarea: { variant: 'solo', density: 'comfortable', rounded: 'sm', }, VAutocomplete: { variant: 'solo', density: 'comfortable', rounded: 'sm', }, VCombobox: { variant: 'solo', density: 'comfortable', rounded: 'sm', }, }, display: { mobileBreakpoint: 'sm', thresholds: { xs: 0, sm: 600, md: 960, lg: 1280, xl: 1920, }, }, })