import { FormState } from "./types.js";

export const PRICING = {
    BASE_WEBSITE: 5440, // Updated to match AI prompt requirement in Pass 1
    PAGE: 600,
    FEATURE: 1500,
    FUNCTION: 800,
    NEW_DATASET: 450,
    HOSTING_MONTHLY: 250,
    STORAGE_EXPANSION_MONTHLY: 10,
    CMS_SETUP: 1500,
    CMS_CONNECTION_PER_FEATURE: 1500,
    API_INTEGRATION: 800,
    APP_HOURLY: 120,
};

export const initialState: FormState = {
    projectType: "website",
    // Company
    companyName: "",
    employeeCount: "",
    // Existing Presence
    existingWebsite: "",
    socialMedia: [],
    socialMediaUrls: {},
    existingDomain: "",
    wishedDomain: "",
    // Project
    websiteTopic: "",
    selectedPages: ["Home"],
    otherPages: [],
    otherPagesCount: 0,
    features: [],
    otherFeatures: [],
    otherFeaturesCount: 0,
    functions: [],
    otherFunctions: [],
    otherFunctionsCount: 0,
    apiSystems: [],
    otherTech: [],
    otherTechCount: 0,
    assets: [],
    otherAssets: [],
    otherAssetsCount: 0,
    newDatasets: 0,
    cmsSetup: false,
    storageExpansion: 0,
    name: "",
    email: "",
    role: "",
    message: "",
    sitemapFile: null,
    contactFiles: [],
    // Design
    designVibe: "minimal",
    colorScheme: ["#ffffff", "#f8fafc", "#0f172a"],
    references: [],
    designWishes: "",
    // Maintenance
    expectedAdjustments: "low",
    languagesList: ["Deutsch"],
    personName: "",
    // Timeline
    deadline: "flexible",
    // Web App specific
    targetAudience: "internal",
    userRoles: [],
    dataSensitivity: "standard",
    platformType: "web-only",
    // Meta
    dontKnows: [],
    visualStaging: "standard",
    complexInteractions: "standard",
    // AI generated / Post-processed
    briefingSummary: "",
    designVision: "",
    positionDescriptions: {},
    taxId: "",
    sitemap: [],
};

export const PAGE_SAMPLES = [
    { id: "Home", label: "Startseite", desc: "Der erste Eindruck Ihrer Marke." },
    { id: "About", label: "Über uns", desc: "Ihre Geschichte und Ihr Team." },
    { id: "Services", label: "Leistungen", desc: "Übersicht Ihres Angebots." },
    { id: "Contact", label: "Kontakt", desc: "Anlaufstelle für Ihre Kunden." },
    {
        id: "Landing",
        label: "Landingpage",
        desc: "Optimiert für Marketing-Kampagnen.",
    },
    { id: "Legal", label: "Rechtliches", desc: "Impressum & Datenschutz." },
];

export const FEATURE_OPTIONS = [
    {
        id: "blog_news",
        label: "Blog / News",
        desc: "Ein Bereich für aktuelle Beiträge und Neuigkeiten.",
    },
    {
        id: "products",
        label: "Produktbereich",
        desc: "Katalog Ihrer Leistungen oder Produkte.",
    },
    {
        id: "jobs",
        label: "Karriere / Jobs",
        desc: "Stellenanzeigen und Bewerbungsoptionen.",
    },
    {
        id: "refs",
        label: "Referenzen / Cases",
        desc: "Präsentation Ihrer Projekte.",
    },
    { id: "events", label: "Events / Termine", desc: "Veranstaltungskalender." },
];

export const FUNCTION_OPTIONS = [
    { id: "search", label: "Suche", desc: "Volltextsuche über alle Inhalte." },
    {
        id: "filter",
        label: "Filter-Systeme",
        desc: "Kategorisierung und Sortierung.",
    },
    { id: "pdf", label: "PDF-Export", desc: "Automatisierte PDF-Erstellung." },
    {
        id: "forms",
        label: "Individuelle Formular-Logik",
        desc: "Smarte Validierung & mehrstufige Prozesse.",
    },
];

export const API_OPTIONS = [
    {
        id: "crm",
        label: "CRM System",
        desc: "HubSpot, Salesforce, Pipedrive etc.",
    },
    {
        id: "erp",
        label: "ERP / Warenwirtschaft",
        desc: "SAP, Microsoft Dynamics, Xentral etc.",
    },
    {
        id: "stripe",
        label: "Stripe / Payment",
        desc: "Zahlungsabwicklung und Abonnements.",
    },
    {
        id: "newsletter",
        label: "Newsletter / Marketing",
        desc: "Mailchimp, Brevo, ActiveCampaign etc.",
    },
    {
        id: "ecommerce",
        label: "E-Commerce / Shop",
        desc: "Shopify, WooCommerce, Shopware Sync.",
    },
    {
        id: "hr",
        label: "HR / Recruiting",
        desc: "Personio, Workday, Recruitee etc.",
    },
    {
        id: "realestate",
        label: "Immobilien",
        desc: "OpenImmo, FlowFact, Immowelt Sync.",
    },
    {
        id: "calendar",
        label: "Termine / Booking",
        desc: "Calendly, Shore, Doctolib etc.",
    },
    {
        id: "social",
        label: "Social Media Sync",
        desc: "Automatisierte Posts oder Feeds.",
    },
    {
        id: "maps",
        label: "Google Maps / Places",
        desc: "Standortsuche und Kartenintegration.",
    },
    {
        id: "analytics",
        label: "Custom Analytics",
        desc: "Anbindung an spezialisierte Tracking-Tools.",
    },
];

export const ASSET_OPTIONS = [
    {
        id: "existing_website",
        label: "Bestehende Website",
        desc: "Inhalte oder Struktur können übernommen werden.",
    },
    { id: "logo", label: "Logo", desc: "Vektordatei Ihres Logos." },
    {
        id: "styleguide",
        label: "Styleguide",
        desc: "Farben, Schriften, Design-Vorgaben.",
    },
    {
        id: "content_concept",
        label: "Inhalts-Konzept",
        desc: "Struktur und Texte sind bereits geplant.",
    },
    {
        id: "media",
        label: "Bild/Video-Material",
        desc: "Professionelles Bildmaterial vorhanden.",
    },
    { id: "icons", label: "Icons", desc: "Eigene Icon-Sets vorhanden." },
    {
        id: "illustrations",
        label: "Illustrationen",
        desc: "Eigene Illustrationen vorhanden.",
    },
    {
        id: "fonts",
        label: "Fonts",
        desc: "Lizenzen für Hausschriften vorhanden.",
    },
];

export const DESIGN_OPTIONS = [
    {
        id: "minimal",
        label: "Minimalistisch",
        desc: "Viel Weißraum, klare Typografie.",
    },
    {
        id: "bold",
        label: "Mutig & Laut",
        desc: "Starke Kontraste, große Schriften.",
    },
    {
        id: "nature",
        label: "Natürlich",
        desc: "Sanfte Erdtöne, organische Formen.",
    },
    { id: "tech", label: "Technisch", desc: "Präzise Linien, dunkle Akzente." },
];

export const EMPLOYEE_OPTIONS = [
    { id: "1-5", label: "1-5 Mitarbeiter" },
    { id: "6-20", label: "6-20 Mitarbeiter" },
    { id: "21-100", label: "21-100 Mitarbeiter" },
    { id: "100+", label: "100+ Mitarbeiter" },
];

export const SOCIAL_MEDIA_OPTIONS = [
    { id: "instagram", label: "Instagram" },
    { id: "linkedin", label: "LinkedIn" },
    { id: "facebook", label: "Facebook" },
    { id: "twitter", label: "Twitter / X" },
    { id: "tiktok", label: "TikTok" },
    { id: "youtube", label: "YouTube" },
];

export const VIBE_LABELS: Record<string, string> = {
    minimal: "Minimalistisch",
    bold: "Mutig & Laut",
    nature: "Natürlich",
    tech: "Technisch",
};

export const DEADLINE_LABELS: Record<string, string> = {
    asap: "So schnell wie möglich",
    "2-3-months": "In 2-3 Monaten",
    "3-6-months": "In 3-6 Monaten",
    flexible: "Flexibel",
};

export const ASSET_LABELS: Record<string, string> = {
    existing_website: "Bestehende Website",
    logo: "Logo",
    styleguide: "Styleguide",
    content_concept: "Inhalts-Konzept",
    media: "Bild/Video-Material",
    icons: "Icons",
    illustrations: "Illustrationen",
    fonts: "Fonts",
};

export const FEATURE_LABELS: Record<string, string> = {
    blog_news: "Blog / News",
    products: "Produktbereich",
    jobs: "Karriere / Jobs",
    refs: "Referenzen / Cases",
    events: "Events / Termine",
};

export const FUNCTION_LABELS: Record<string, string> = {
    search: "Suche",
    filter: "Filter-Systeme",
    pdf: "PDF-Export",
    forms: "Individuelle Formular-Logik",
    members: "Mitgliederbereich",
    calendar: "Event-Kalender",
    multilang: "Mehrsprachigkeit",
    chat: "Echtzeit-Chat",
};

export const API_LABELS: Record<string, string> = {
    crm_erp: "CRM / ERP",
    payment: "Payment",
    marketing: "Marketing",
    ecommerce: "E-Commerce",
    maps: "Google Maps / Places",
    social: "Social Media Sync",
    analytics: "Custom Analytics",
};

export const SOCIAL_LABELS: Record<string, string> = {
    instagram: "Instagram",
    linkedin: "LinkedIn",
    facebook: "Facebook",
    twitter: "Twitter / X",
    tiktok: "TikTok",
    youtube: "YouTube",
};

export const PAGE_LABELS: Record<string, string> = {
    Home: "Startseite",
    About: "Über uns",
    Services: "Leistungen",
    Contact: "Kontakt",
    Landing: "Landingpage",
    Legal: "Impressum & Datenschutz",
};
