import { LegalPageBuilder } from '#layers/content/utils/content-legal'
import type { BusinessInfo, ContentMatrix } from '#layers/content/utils/content-types'
import { t } from '#layers/content/utils/content-template'

const matrix: ContentMatrix = {
  locale: {
    default: 'de',
    list: [
      { code: 'de', name: { de: 'Deutsch', en: 'German' }, icon: 'german' },
      { code: 'en', name: { de: 'Englisch', en: 'English' }, icon: 'english' },
    ],
    cookieMaxAge: 60 * 60 * 24 * 365 * 3
  },
  variant: {
    default: 'summer',
    list: [
      { code: 'summer', name: { de: 'Sommer', en: 'Summer' }, icon: 'i-lucide-sun' },
      { code: 'winter', name: { de: 'Winter', en: 'Winter' }, icon: 'i-lucide-snowflake' },
    ],
    cookieMaxAge: 60 * 60 * 24
  }
}

const business: BusinessInfo = {
  name: {
    de: 'Landhaus Panoramablick',
    en: 'Guesthouse Panoramablick'
  },
  operator: 'Monika & Norbert Pail',
  address: 'Unterer Ronachweg 731, 5753 Saalbach, AT',
  phone: '+43 664 7904775',
  email: 'info@panoramablick-saalbach.at',
  vat: 'ATU 62062608',
  authority: 'Bezirkshauptmannschaft Zell am See',
  membership: 'Wirtschaftskammer Salzburg',
  regulation: 'www.ris.bka.gv.at'
}

const apartments = {
  1: {
    price: 98,
    capacity: {
      min: 2,
      max: 4
    },
    size: 38
  },
  2: {
    price: 155,
    capacity: {
      min: 2,
      max: 5
    },
    size: 50
  },
  3: {
    price: 155,
    capacity: {
      min: 2,
      max: 6
    },
    size: 50
  }
}

function price(apartment: number) {
  return {
    de: `Ab ${apartments[apartment].price},- pro Tag`,
    en: `Starting at ${apartments[apartment].price},- per day`
  }
}

function capacity(apartment: number) {
  return {
    de: `${apartments[apartment].capacity.min} bis ${apartments[apartment].capacity.max} Personen`,
    en: `${apartments[apartment].capacity.min} to ${apartments[apartment].capacity.max} persons`,
  }
}

const apartment_features = [
  {
    icon: 'shower-head',
    label: {
      de: 'Badezimmer mit Dusche',
      en: 'Bathroom with shower'
    }
  },
  {
    icon: 'toilet',
    label: {
      de: 'Bad und WC getrennt',
      en: 'Bathroom and toilet in separate rooms'
    }
  },
  {
    icon: 'wifi',
    label: {
      de: 'Schnelles WLAN',
      en: 'High-speed WiFi'
    }
  },
  {
    icon: 'tv',
    label: {
      de: 'Fernseher',
      en: 'TV'
    }
  },
  {
    icon: 'microwave',
    label: {
      de: 'Mikrowelle',
      en: 'Microwave'
    }
  },
  {
    icon: 'microwave',
    label: {
      de: 'Backrohr',
      en: 'Oven'
    }
  },
  {
    icon: 'bubbles',
    label: {
      de: 'Geschirrspüler',
      en: 'Dishwasher'
    }
  },
  {
    icon: 'coffee',
    label: {
      de: 'Kaffeemaschine',
      en: 'Coffee maker'
    }
  },
  {
    icon: 'coffee',
    label: {
      de: 'Wasserkocher',
      en: 'Electric water boiler'
    }
  },
  {
    icon: 'bed',
    label: {
      de: 'Bettwäsche',
      en: 'Bed sheets'
    }
  },
  {
    icon: 'layers',
    label: {
      de: 'Handtücher',
      en: 'Towels'
    }
  },
  {
    icon: 'wind',
    label: {
      de: 'Haarföhn',
      en: 'Hairdryer'
    }
  }
]

export default defineAppConfig({
  ui: {
    colors: {
      primary: 'gimblet',
      secondary: 'stone',
      neutral: 'sandstone'
    }
  },

  content: {
    matrix: matrix,
    business: business,
    legal: LegalPageBuilder.build(),

    cookies: {
      title: {
        de: 'Ihre Privatsphäre ist uns wichtig',
        en: 'We value your privacy'
      },
      description: {
        de: 'Wir verwenden keine Tracking-Cookies. Genießen Sie Ihren Aufenthalt auf unserer Website!',
        en: 'We do not use any tracking cookies. Enjoy your stay on our website!'
      }
    },
    header: {
      home: business.name,
      apartments: {
        de: 'Apartments & Preise',
        en: 'Apartments & Prices'
      },
      book: {
        de: 'Buchen',
        en: 'Book'
      },
      contact: {
        de: 'Kontakt',
        en: 'Contact'
      }
    },
    footer: {
      image: '/host.webp',
      questions: {
        de: 'Fragen oder Wünsche?',
        en: 'Questions or requests?'
      },
      prompt: {
        de: 'Monika freut sich von Ihnen zu hören!',
        en: 'Monika is looking forward to hearing from you!'
      },
      imprint: {
        de: 'Impressum',
        en: 'Imprint'
      },
      privacy: {
        de: 'Datenschutz',
        en: 'Privacy'
      },
      accessibility: {
        de: 'Barrierefreiheit',
        en: 'Accessibility'
      }
    },
    button: {
      apartments: {
        de: 'Apartments',
        en: 'Apartments'
      },
      book: {
        de: 'Buchen',
        en: 'Book'
      },
      contact: {
        de: 'Kontakt',
        en: 'Contact'
      },
      hosts: {
        de: 'Die Gastgeber',
        en: 'The Hosts'
      },
      map: {
        de: 'Maps Öffnen',
        en: 'Open Maps'
      }
    },
    landing: {
      welcome: {
        title: {
          de: t`Willkommen im ${'business.name'} in Saalbach`,
          en: t`Welcome to ${'business.name'} in Saalbach`
        },
        description: {
          de: 'Genießen Sie erholsame Tage inmitten der Salzburger Natur mit herrlichem Panoramablick auf die Berge von Saalbach. Unser Landhaus bietet gemütliche Apartments und herzliche Gastfreundschaft in perfekter Lage.',
          en: 'Enjoy relaxing days amidst the Salzburg nature with a stunning panoramic view of the Saalbach mountains. Our guesthouse offers cozy apartments and warm hospitality in a perfect location.'
        },
        images: {
          summer: [
            '/landing/2.webp',
            '/landing/1.webp',
            '/landing/3.webp',
            '/landing/4.webp'
          ],
          winter: [
            '/landing/w1.webp',
            '/landing/w2.webp'
          ]
        },
        joker: {
          'summer': true,
          'winter': false
        }
      },
      highlight: {
        title: {
          de: 'Erleben Sie Natur hautnah',
          en: 'Experience nature close up'
        },
        description: {
          'de@summer': 'Unser Landhaus liegt eingebettet in der idyllischen Salzburger Landschaft mit atemberaubendem Panoramablick auf Saalbach. Ob Wandern, Radfahren, die Umgebung erkunden, oder Entspannte Momente in der Sauna – bei uns finden Sie alles, was das Sommerherz begehrt.',
          'de@winter': 'Unser Landhaus liegt eingebettet in der idyllischen Salzburger Landschaft mit atemberaubendem Panoramablick auf Saalbach. Ob Schifahren, Winterwandern, die Umgebung erkunden, oder Entspannte Momente in der Sauna – bei uns finden Sie alles, was das Winterherz begehrt.',
          'en@summer': 'Our guesthouse is located in the idyllic Salzburg countryside with breathtaking panoramic views of Saalbach. Whether hiking, cycling, exploring the surroundings, or relaxing moments in the sauna – here you’ll find everything your heart desires.',
          'en@winter': 'Our guesthouse is located in the idyllic Salzburg countryside with breathtaking panoramic views of Saalbach. Whether skiing, winter hiking, exploring the surroundings, or enjoying relaxing moments in the sauna – here you’ll find everything your heart desires.'
        },
        image: {
          left: '/ap.webp',
          right: '/sauna.webp'
        }
      },
      location: {
        title: {
          de: 'Logieren Sie in bester Lage',
          en: 'Stay at the best location'
        },
        description: {
          'de@summer': 'Unser Landhaus liegt mitten in Saalbach. In wenigen Gehminuten sind Sie bei den Gondeln, im Bikepark, sowie im wunderschönen Ortskern von Saalbach. Lassen Sie Ihr Auto den Urlaub über stehen und genießen Sie die Zeit bei uns.',
          'de@winter': 'Unser Landhaus liegt mitten in Saalbach. In wenigen Gehminuten sind sie an der Skipiste sowie im wunderschönen Ortskern von Saalbach. Lassen Sie Ihr Auto den Urlaub über stehen und genießen Sie die Zeit bei uns.',
          'en@summer': 'Our guesthouse is located right in the heart of Saalbach. Within a few minutes\' walk, you\'ll reach the gondolas, the bike park, and the beautiful town center of Saalbach. Leave your car parked for the entire vacation and enjoy your time with us.',
          'en@winter': 'Our guesthouse is located right in the heart of Saalbach. Within a few minutes\' walk, you\'ll be at the ski slope and the beautiful town center of Saalbach. Leave your car parked for the entire vacation and enjoy your time with us.'
        },
        image: '/maps.webp'
      },
      apartments: {
        title: {
          de: 'Unsere Apartments',
          en: 'Our apartments'
        },
        description: {
          'de@summer': 'Wählen Sie aus unseren neu renovierten Appartements. Die Wohnungen sind großzügig gestaltet und bieten alle einen herrlichen Blick in die Saalbacher Berglandschaft. Dank einer raffinierter Bauweise genießen Sie auch an den heißesten Sommerabenden angenehme Temperaturen in unseren Zimmern, ganz ohne Klimaanlage. Konstante Wohlfühltemperaturen laden zum druchschlafen und erholen ein.',
          'de@winter': 'Wählen Sie aus unseren neu renovierten Appartements. Die Wohnungen sind großzügig gestaltet und bieten alle einen herrlichen Blick in die Saalbacher Berglandschaft. Freuen Sie sich auf gemütlich warme Winterabende in unseren drei Wohlfühlappartements.',
          'en@summer': 'Choose from our newly renovated apartments. The units are spaciously designed and all offer a wonderful view of the Saalbach mountain landscape. Thanks to clever construction, you can enjoy comfortable temperatures in our rooms even on the hottest summer evenings—completely without air conditioning. Consistent, pleasant temperatures invite you to sleep well and relax.',
          'en@winter': 'Choose from our newly renovated apartments. The units are spaciously designed and all offer a wonderful view of the Saalbach mountain landscape. Look forward to cozy, warm winter evenings in our three comfort apartments.'
        }
      },
      features: {
        title: {
          de: 'Darauf können Sie sich freuen!',
          en: 'That’s something to look forward to!'
        },
        description1: {
          de: 'Was Sie in Ihrem Urlaub im Landhaus Appartement Panoramablick erwartet. Unser Tipp:',
          en: 'What awaits you during your stay at Landhaus Appartement Panoramablick. Our insider tip:'
        },
        description2: {
          de: 'Reservieren',
          en: 'Book'
        },
        description3: {
          de: 'Sie online beim Sportgeschäft in nächster Nähe und sichern sich dabei exklusive Rabatte.',
          en: 'online at the nearby sports shop and secure exclusive discounts.'
        },
        list: [
          {
            icon: 'heart-handshake',
            label: {
              de: 'Herzliche Gastgeber',
              en: 'Warm-hearted hosts'
            },
            detail: {
              de: 'Persönliche Tipps & herzlicher Service direkt im Haus',
              en: 'Personalized tips & warm service right in the house'
            }
          },
          {
            icon: 'heater',
            label: {
              de: 'Sauna im Haus',
              en: 'Sauna available'
            },
            detail: {
              de: 'Sauna inklusive Infrarotkabine und Dampfsauna',
              en: 'Sauna including infrared cabin and steam sauna'
            }
          },
          {
            icon: 'wifi',
            label: {
              de: 'Schnelles WLAN',
              en: 'Fast WiFi'
            },
            detail: {
              de: 'Professionelles WLAN Equipment in jedem Appartement',
              en: 'Professional Wi-Fi equipment in every apartment'
            }
          },
          {
            icon: 'car-front',
            label: {
              de: 'Kostenlos parken',
              en: 'Free parking'
            },
            detail: {
              de: 'Kostenlose Stellplätze direkt vor der Tür',
              en: 'Free parking spaces right outside the door'
            }
          },
          {
            icon: {
              'summer': 'bike',
              'winter': 'lock'
            },
            label: {
              'de@summer': 'Bikekeller',
              'de@winter': 'Skikeller',
              'en@summer': 'Bike storage room',
              'en@winter': 'Ski storage room'
            },
            detail: {
              de: 'Platz für Ihr Urlaubsequipment',
              en: 'Space for your holiday equipment'
            }
          },
          {
            icon: 'flame-kindling',
            label: {
              de: 'Grillplatz',
              en: 'Barbecue'
            },
            detail: {
              de: 'Kugelgrill und Smoker leihbar',
              en: 'Kettle grill and smoker available for rent'
            }
          },
          {
            icon: 'mountain',
            label: {
              de: 'Exzellente Lage',
              en: 'Excellent location'
            },
            detail: {
              de: '5 Min. zum Ortskern',
              en: '5 minutes to the town center'
            }
          },
          {
            icon: 'cable-car',
            label: {
              'de@summer': 'Bei den Gondeln',
              'de@winter': 'An der Skipiste',
              'en@summer': 'Right next to the gondolas',
              'en@winter': 'Ski-in/ski-out location'
            },
            detail: {
              'de@summer': 'Direkter Einstieg in den Bikepark Saalbach',
              'de@winter': 'Direkter Einstieg in den Skizirkus Saalbach',
              'en@summer': 'Direct access to the Saalbach bike park',
              'en@winter': 'The house is located next to the ski slope'
            }
          },
          {
            icon: 'id-card-lanyard',
            label: {
              'summer': 'Joker Card',
              'winter': 'Guest Mobility Ticket'
            },
            detail: {
              'de@summer': 'Kostenlose Aktivitäten von der ersten bis zur letzten Urlaubsminute inklusive!',
              'de@winter': 'Kostenlose Fahrten mit öffentlichen Verkehrsmitteln im Bundesland Salzburg',
              'en@summer': 'Free activities included from the first to the last minute of your vacation',
              'en@winter': 'Free rides on public transportation throughout Salzburg'
            }
          },
          {
            icon: 'bed',
            label: {
              de: 'Erholsamer Schlaf',
              en: 'Restful sleep'
            },
            detail: {
              'de@summer': 'Angenehme Zimmertemperaturen auch an heißen Sommertagen',
              'de@winter': 'Kuschelige Wohlfühlbetten für einen erholsamen Schlaf',
              'en@summer': 'Comfortable room temperatures even on hot summer days',
              'en@winter': 'Cozy comfort beds for a restful sleep'
            }
          },
          {
            icon: 'trees',
            label: {
              de: 'Atemberaubendes Panorama',
              en: 'Breathtaking panorama'
            },
            detail: {
              de: 'Genießen Sie die Aussicht über das Home of Lässig',
              en: 'Enjoy the wonderful view over the Home of Lässig'
            }
          },
          {
            icon: 'store',
            label: {
              de: 'Sportgeschäft',
              en: 'Sports shop'
            },
            detail: {
              de: 'Exklusive Rabatte bei Sport Bründl bei Vorabreservierung',
              en: 'Exclusive discounts at Sport Bründl with advance reservation'
            }
          }
        ]
      }
    },
    contact: {
      title: {
        de: 'Kontakt aufnehmen',
        'de@winter': 'Winterkontakt',
        en: 'Contact us'
      },
      description: {
        de: 'Wir freuen uns auf Ihre Anfrage – Sie erreichen uns per Telefon, SMS, WhatsApp, E-Mail oder über das untenstehende Formular.',
        en: 'We’re happy to hear from you – contact us by phone, SMS, WhatsApp, email, or through the form below.'
      },
      phone: business.phone,
      email: business.email,
      online1: {
        de: 'Sie wollen direkt online buchen?',
        en: 'Ready to book online?'
      },
      online2: {
        de: 'Hier',
        en: 'Here'
      },
      online3: {
        de: 'geht\'s lang!',
        en: 'you go!'
      },
      form: {
        name: {
          de: 'Ihr Name',
          en: 'Your name'
        },
        email: {
          de: 'Ihre E-Mail',
          en: 'Your email address'
        },
        subject: {
          de: 'Betreff',
          en: 'Subject'
        },
        message: {
          de: 'Ihre Anfrage',
          en: 'Your inquiry'
        },
        send: {
          de: 'Senden',
          en: 'Send'
        }
      },
      heroes: {
        parents: {
          title: 'Monika & Norbert',
          description: {
            de: 'Herzliche Gastgeber – immer mit einem Tipp zur Region parat.',
            en: 'Genuine hospitality – and always a great tip for exploring the area.'
          },
          image: '/family/monika-norbert.webp'
        },
        children: {
          title: 'Sabrina & Daniel',
          description: {
            de: 'Jung, aktiv und voller Energie – Sohn Daniel und Tochter Sabrina bringen Schwung ins Haus.',
            en: 'Energetic and full of life – Daniel and Sabrina keep the house buzzing.'
          },
          image: '/family/sabrina-daniel.webp'
        }
      }
    },
    apartments: {
      'highlight': {
        title: {
          de: 'Darauf können Sie sich freuen!',
          en: 'Here’s what you can look forward to!'
        },
        description: {
          de: 'Was Sie in Ihrem Urlaub im Landhaus Appartement Panoramablick erwartet.',
          en: 'What to expect during your vacation at Landhaus Appartement Panoramablick.'
        },
        image: {
          left: '/ap.webp',
          right: '/sauna.webp'
        }
      },
      list: [
        {
          id: 'apartment-1',
          title: 'Apartment 1',
          subtitle: {
            de: `${apartments[1].size} m² Urlaubsvergnügen! Dieses gemütliche Appartement bietet Ihnen Platz für bis zu ${apartments[1].capacity.max} Personen. Freuen Sie sich auf 1 Schlafzimmer, eine Wohnküche mit ausziehbarer Couch, Badezimmer, eine kleine Terrasse und ein getrenntes WC.`,
            en: `${apartments[1].size} m² of holiday comfort! This cozy apartment comfortably accommodates up to ${apartments[1].capacity.max} guests. It features one bedroom, an open-plan kitchen and living area with a pull-out sofa, a bathroom, a small terrace, and a separate toilet.`
          },
          thumbnail: '/apartments/2/4.webp',
          highlights: [
            capacity(1),
            price(1)
          ],
          images: [
            '/apartments/1/1.webp',
            '/apartments/1/2.webp',
            '/apartments/1/3.webp',
            '/apartments/1/4.webp',
            '/apartments/1/5.webp',
            '/apartments/1/6.webp',
            '/apartments/1/7.webp',
            '/apartments/1/8.webp',
            '/apartments/1/9.webp',
            '/apartments/1/10.webp',
            '/apartments/1/11.webp'
          ],
          features: [
            {
              icon: 'coins',
              label: price(1)
            },
            {
              icon: 'users',
              label: capacity(1),
            },
            {
              icon: 'scaling',
              label: `${apartments[1].size} m²`
            },
            {
              icon: 'mountain',
              label: {
                de: 'Terrasse mit idyllischem Ausblick',
                en: 'Terrace with idyllic view'
              }
            },
            {
              icon: 'bed-double',
              label: {
                de: 'Schlafzimmer mit Doppelbett',
                en: 'Bedroom with double bed'
              }
            },
            {
              icon: 'sofa',
              label: {
                de: 'Wohnküche mit ausziehbarem Schlafsofa',
                en: 'Living/kitchen area with sofa bed'
              }
            },
            ...apartment_features
          ]
        },
        {
          id: 'apartment-2',
          title: 'Apartment 2',
          subtitle: {
            de: `Wohnkomfort auf ${apartments[2].size} m²! Dieses großzügige Appartement bietet Ihnen Platz für bis zu ${apartments[2].capacity.max} Personen und bietet 2 Schlafzimmer, eine Wohnküche, Badezimmer, einen Balkon und ein getrenntes WC.`,
            en: `Enjoy ${apartments[2].size} m² of comfortable living! This large apartment sleeps up to ${apartments[2].capacity.max} people and includes 2 bedrooms, a combined kitchen and living room, a bathroom, a balcony, and a separate toilet.`
          },
          thumbnail: '/apartments/2/8.webp',
          highlights: [
            capacity(2),
            price(2)
          ],
          images: [
            '/apartments/2/1.webp',
            '/apartments/2/2.webp',
            '/apartments/2/3.webp',
            '/apartments/2/4.webp',
            '/apartments/2/5.webp',
            '/apartments/2/6.webp',
            '/apartments/2/7.webp',
            '/apartments/2/8.webp',
            '/apartments/2/9.webp',
            '/apartments/2/10.webp',
            '/apartments/2/11.webp',
            '/apartments/2/12.webp',
            '/apartments/2/13.webp'
          ],
          features: [
            {
              icon: 'coins',
              label: price(2)
            },
            {
              icon: 'users',
              label: capacity(2),
            },
            {
              icon: 'scaling',
              label: `${apartments[2].size} m²`
            },
            {
              icon: 'mountain',
              label: {
                de: 'Balkon mit idyllischem Ausblick',
                en: 'Balcony with idyllic view'
              }
            },
            {
              icon: 'bed-double',
              label: {
                de: 'Schlafzimmer 1 mit Doppelbett',
                en: 'Bedroom 1 with double bed'
              }
            },
            {
              icon: 'bed-double',
              label: {
                de: 'Schlafzimmer 2 mit Doppelbett & Schlafsofa',
                en: 'Bedroom 2 with double bed and sofa bed'
              }
            },
            {
              icon: 'sofa',
              label: {
                de: 'Wohnküche',
                en: 'Living/kitchen area'
              }
            },
            ...apartment_features
          ]
        },
        {
          id: 'apartment-3',
          title: 'Apartment 3',
          subtitle: {
            de: `Wohlfühlen auf ${apartments[3].size} m²! Dieses geräumige Appartement bietet Ihnen Platz für bis zu ${apartments[3].capacity.max} Personen und bietet 2 Schlafzimmer, eine Wohnküche, Badezimmer, einen Balkon und ein getrenntes WC.`,
            en: `Spacious ${apartments[3].size} m² apartment for up to ${apartments[3].capacity.max} guests, with 2 bedrooms, a living kitchen, bathroom, balcony, and separate toilet.`
          },
          thumbnail: '/apartments/2/7.webp',
          highlights: [
            capacity(3),
            price(3)
          ],
          images: [
            '/apartments/3/1.webp',
            '/apartments/3/2.webp',
            '/apartments/3/3.webp',
            '/apartments/3/4.webp',
            '/apartments/3/5.webp',
            '/apartments/3/6.webp',
            '/apartments/3/7.webp',
            '/apartments/3/8.webp',
            '/apartments/3/9.webp',
            '/apartments/3/10.webp',
            '/apartments/3/11.webp',
            '/apartments/3/12.webp',
            '/apartments/3/13.webp',
            '/apartments/3/14.webp'
          ],
          features: [
            {
              icon: 'coins',
              label: price(3)
            },
            {
              icon: 'users',
              label: capacity(3)
            },
            {
              icon: 'scaling',
              label: `${apartments[3].size} m²`
            },
            {
              icon: 'mountain',
              label: {
                de: 'Balkon mit idyllischem Ausblick',
                en: 'Balcony with idyllic view'
              }
            },
            {
              icon: 'bed-double',
              label: {
                de: 'Schlafzimmer 1 mit Doppelbett',
                en: 'Bedroom 1 with double bed'
              }
            },
            {
              icon: 'bed-double',
              label: {
                de: 'Schlafzimmer 2 mit Doppelbett & Schlafsofa',
                en: 'Bedroom 2 with double bed and sofa bed'
              }
            },
            {
              icon: 'sofa',
              label: {
                de: 'Wohnküche',
                en: 'Living/kitchen area'
              }
            },
            ...apartment_features
          ]
        }
      ]
    }
  }
})
