Files
website/src/lib/config/theme.ts
T
2025-11-28 19:44:11 +00:00

90 lines
2.7 KiB
TypeScript

// ============================================================================
// COLOR PALETTE (DEPRECATED)
// ============================================================================
// NOTE: This is deprecated. Use themeColors.colorMap from $lib/stores/theme instead.
// The colorMap in theme JSON files is the source of truth and supports dynamic themes.
// This is kept for backward compatibility only.
export const colorPalette = {
// Basic colors
red: '#f38ba8',
green: '#a6e3a1',
yellow: '#f9e2af',
blue: '#89b4fa',
magenta: '#cba6f7',
cyan: '#94e2d5',
white: '#cdd6f4',
gray: '#6c7086',
orange: '#fab387',
pink: '#f5c2e7',
black: '#1e1e2e',
surface: '#313244',
// Semantic colors (map to basic colors by default)
error: '#f38ba8', // red
success: '#a6e3a1', // green
warning: '#f9e2af', // yellow
info: '#89b4fa', // blue
};
// ============================================================================
// TERMINAL WINDOW BUTTONS (traffic lights)
// ============================================================================
export const terminalButtons = {
close: '#ff5f56',
minimize: '#ffbd2e',
maximize: '#27ca40',
};
// ============================================================================
// LOADING SCREEN
// ============================================================================
export const loadingScreen = {
background: '#0d1117',
textColor: '#c9d1d9',
cursorColor: '#1793d1',
text: "Blob's Portfolio",
};
// ============================================================================
// EFFECTS
// ============================================================================
export const effects = {
backdropBlur: 10, // px
selectionBackground: 'rgba(23, 147, 209, 0.3)',
};
// ============================================================================
// ANIMATIONS
// ============================================================================
export const animations = {
// Terminal/TUI animations
terminalFadeIn: { duration: '0.4s', easing: 'ease-out' },
tuiFadeIn: { duration: '0.4s', easing: 'ease-out' },
lineSlideIn: { duration: '0.15s', easing: 'ease-out' },
cursorBlink: { duration: '1s' },
borderGlow: { duration: '8s', transition: '0.3s' },
// Button/interaction animations
buttonHover: { duration: '0.2s' },
buttonTransition: { duration: '0.15s' },
// Navigation animations
hamburgerTransition: { duration: '0.3s' },
navLinkTransition: { duration: '0.2s' },
linkUnderline: { duration: '0.3s' },
dropdown: { flyDuration: 200, fadeDuration: 150 }, // ms
// Model viewer
modelViewerTransition: { duration: '0.3s' },
spin: { duration: '1s' },
// General
pulse: { duration: '2s' },
float: { duration: '3s' },
};