- FastAPI backend mit Domain-Check, TLD-Pricing, User-Management - Next.js frontend mit modernem UI - Sortierbare TLD-Tabelle mit Mini-Charts - Domain availability monitoring - Subscription tiers (Starter, Professional, Enterprise) - Authentication & Authorization - Scheduler für automatische Domain-Checks
128 lines
5.0 KiB
TypeScript
128 lines
5.0 KiB
TypeScript
import type { Config } from 'tailwindcss'
|
|
|
|
const config: Config = {
|
|
content: [
|
|
'./src/pages/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./src/components/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./src/app/**/*.{js,ts,jsx,tsx,mdx}',
|
|
],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
background: {
|
|
DEFAULT: '#08080a',
|
|
secondary: '#0c0c0f',
|
|
tertiary: '#121215',
|
|
elevated: '#18181c',
|
|
},
|
|
foreground: {
|
|
DEFAULT: '#fafaf9',
|
|
muted: '#a1a1a1',
|
|
subtle: '#6a6a6a',
|
|
},
|
|
accent: {
|
|
DEFAULT: '#10b981',
|
|
hover: '#059669',
|
|
muted: '#10b98112',
|
|
soft: '#10b98108',
|
|
},
|
|
warning: {
|
|
DEFAULT: '#f59e0b',
|
|
muted: '#f59e0b15',
|
|
},
|
|
danger: {
|
|
DEFAULT: '#ef4444',
|
|
muted: '#ef444412',
|
|
},
|
|
border: {
|
|
DEFAULT: '#1a1a1f',
|
|
hover: '#26262d',
|
|
subtle: '#141418',
|
|
},
|
|
},
|
|
fontFamily: {
|
|
sans: ['var(--font-sans)', 'system-ui', 'sans-serif'],
|
|
mono: ['var(--font-mono)', 'JetBrains Mono', 'monospace'],
|
|
display: ['var(--font-display)', 'Georgia', 'serif'],
|
|
},
|
|
fontSize: {
|
|
// ===== DISPLAY SIZES (Headlines) =====
|
|
// Hero - Main landing page (mobile → tablet → desktop → large)
|
|
'hero-sm': ['2.5rem', { lineHeight: '1.05', letterSpacing: '-0.03em' }], // 40px
|
|
'hero': ['3.5rem', { lineHeight: '1.05', letterSpacing: '-0.035em' }], // 56px
|
|
'hero-md': ['5rem', { lineHeight: '1.02', letterSpacing: '-0.04em' }], // 80px
|
|
'hero-lg': ['6.5rem', { lineHeight: '1.0', letterSpacing: '-0.045em' }], // 104px
|
|
'hero-xl': ['8rem', { lineHeight: '0.95', letterSpacing: '-0.05em' }], // 128px
|
|
|
|
// Display - Page titles, section heads
|
|
'display-sm': ['1.5rem', { lineHeight: '1.15', letterSpacing: '-0.02em' }], // 24px
|
|
'display': ['2rem', { lineHeight: '1.12', letterSpacing: '-0.025em' }], // 32px
|
|
'display-md': ['2.5rem', { lineHeight: '1.1', letterSpacing: '-0.03em' }], // 40px
|
|
'display-lg': ['3.25rem', { lineHeight: '1.08', letterSpacing: '-0.035em' }], // 52px
|
|
'display-xl': ['4.5rem', { lineHeight: '1.05', letterSpacing: '-0.04em' }], // 72px
|
|
|
|
// Heading - Cards, smaller sections
|
|
'heading-sm': ['1.125rem', { lineHeight: '1.3', letterSpacing: '-0.01em' }], // 18px
|
|
'heading': ['1.25rem', { lineHeight: '1.25', letterSpacing: '-0.015em' }], // 20px
|
|
'heading-md': ['1.5rem', { lineHeight: '1.2', letterSpacing: '-0.02em' }], // 24px
|
|
'heading-lg': ['1.875rem', { lineHeight: '1.15', letterSpacing: '-0.02em' }], // 30px
|
|
|
|
// ===== BODY SIZES =====
|
|
'body-xs': ['0.8125rem', { lineHeight: '1.6' }], // 13px
|
|
'body-sm': ['0.875rem', { lineHeight: '1.65' }], // 14px
|
|
'body': ['1rem', { lineHeight: '1.7' }], // 16px
|
|
'body-md': ['1.0625rem', { lineHeight: '1.7' }], // 17px
|
|
'body-lg': ['1.125rem', { lineHeight: '1.75' }], // 18px
|
|
'body-xl': ['1.25rem', { lineHeight: '1.8' }], // 20px
|
|
|
|
// ===== UI SIZES =====
|
|
'ui-xs': ['0.6875rem', { lineHeight: '1.4', letterSpacing: '0.02em' }], // 11px
|
|
'ui-sm': ['0.75rem', { lineHeight: '1.45', letterSpacing: '0.015em' }], // 12px
|
|
'ui': ['0.8125rem', { lineHeight: '1.5', letterSpacing: '0.01em' }], // 13px
|
|
'ui-md': ['0.875rem', { lineHeight: '1.5' }], // 14px
|
|
'ui-lg': ['0.9375rem', { lineHeight: '1.5' }], // 15px
|
|
|
|
// Label - Uppercase labels
|
|
'label': ['0.6875rem', { lineHeight: '1.3', letterSpacing: '0.1em', fontWeight: '500' }], // 11px
|
|
'label-md': ['0.75rem', { lineHeight: '1.35', letterSpacing: '0.08em', fontWeight: '500' }], // 12px
|
|
},
|
|
spacing: {
|
|
'18': '4.5rem',
|
|
'22': '5.5rem',
|
|
'26': '6.5rem',
|
|
'30': '7.5rem',
|
|
},
|
|
animation: {
|
|
'fade-in': 'fadeIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
|
'slide-up': 'slideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
|
'scale-in': 'scaleIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards',
|
|
'glow-pulse': 'glowPulse 3s ease-in-out infinite',
|
|
},
|
|
keyframes: {
|
|
fadeIn: {
|
|
'0%': { opacity: '0' },
|
|
'100%': { opacity: '1' },
|
|
},
|
|
slideUp: {
|
|
'0%': { opacity: '0', transform: 'translateY(24px)' },
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|
},
|
|
scaleIn: {
|
|
'0%': { opacity: '0', transform: 'scale(0.95)' },
|
|
'100%': { opacity: '1', transform: 'scale(1)' },
|
|
},
|
|
glowPulse: {
|
|
'0%, 100%': { opacity: '0.4' },
|
|
'50%': { opacity: '0.7' },
|
|
},
|
|
shimmer: {
|
|
'0%': { transform: 'translateX(-100%)' },
|
|
'100%': { transform: 'translateX(100%)' },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|
|
export default config
|