feat: React-Landingpage (Vite + TypeScript + Tailwind) hinzugefügt
Originalgetreue Migration der HTML-Landingpage in eine React-SPA. Registrierungsformular mit Webhook-Integration und n8n-Response-Anzeige. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
export default {
|
||||
content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
primary: {
|
||||
DEFAULT: '#6366f1',
|
||||
dark: '#4f46e5',
|
||||
light: '#818cf8',
|
||||
},
|
||||
secondary: '#0ea5e9',
|
||||
accent: '#f59e0b',
|
||||
success: '#10b981',
|
||||
error: '#ef4444',
|
||||
},
|
||||
fontFamily: {
|
||||
sans: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'sans-serif'],
|
||||
},
|
||||
backgroundImage: {
|
||||
'gradient-primary': 'linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%)',
|
||||
'gradient-hero': 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
||||
},
|
||||
maxWidth: {
|
||||
container: '1200px',
|
||||
},
|
||||
keyframes: {
|
||||
typing: {
|
||||
'0%, 60%, 100%': { transform: 'translateY(0)' },
|
||||
'30%': { transform: 'translateY(-8px)' },
|
||||
},
|
||||
fadeInUp: {
|
||||
from: { opacity: '0', transform: 'translateY(30px)' },
|
||||
to: { opacity: '1', transform: 'translateY(0)' },
|
||||
},
|
||||
spin: {
|
||||
to: { transform: 'rotate(360deg)' },
|
||||
},
|
||||
},
|
||||
animation: {
|
||||
typing: 'typing 1.4s infinite ease-in-out',
|
||||
'typing-2': 'typing 1.4s 0.2s infinite ease-in-out',
|
||||
'typing-3': 'typing 1.4s 0.4s infinite ease-in-out',
|
||||
'fade-in-up': 'fadeInUp 0.6s ease forwards',
|
||||
'spin-slow': 'spin 0.8s linear infinite',
|
||||
},
|
||||
boxShadow: {
|
||||
xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
Reference in New Issue
Block a user