export type AppLocale = "de" | "en"; type LocalizedText = Record; export type PortfolioItem = { slug: string; title: LocalizedText; summary: LocalizedText; category: LocalizedText; year: string; }; export type ProductItem = { slug: string; name: LocalizedText; summary: LocalizedText; segment: LocalizedText; price: LocalizedText; }; export const portfolioItems: PortfolioItem[] = [ { slug: "brand-redesign", title: { de: "Brand Redesign", en: "Brand Redesign", }, summary: { de: "Modernes Redesign fuer eine digitale Marke mit klarer Struktur.", en: "Modern redesign for a digital brand with a clear system.", }, category: { de: "Branding", en: "Branding", }, year: "2025", }, { slug: "commerce-relaunch", title: { de: "Commerce Relaunch", en: "Commerce Relaunch", }, summary: { de: "Relaunch eines Shops mit Fokus auf Performance und Conversion.", en: "Store relaunch focused on performance and conversion.", }, category: { de: "E-Commerce", en: "E-Commerce", }, year: "2024", }, { slug: "saas-dashboard", title: { de: "SaaS Dashboard", en: "SaaS Dashboard", }, summary: { de: "Admin Dashboard fuer Teams mit klaren KPIs und Reports.", en: "Admin dashboard for teams with clear KPIs and reports.", }, category: { de: "Web App", en: "Web App", }, year: "2024", }, { slug: "campaign-site", title: { de: "Campaign Site", en: "Campaign Site", }, summary: { de: "Landing Seite fuer Produktkampagnen mit schneller Iteration.", en: "Landing experience for product campaigns and quick iteration.", }, category: { de: "Marketing", en: "Marketing", }, year: "2023", }, ]; export const productItems: ProductItem[] = [ { slug: "starter-kit", name: { de: "Starter Kit", en: "Starter Kit", }, summary: { de: "Basis Paket fuer den schnellen Start von neuen Projekten.", en: "Base package for launching new projects quickly.", }, segment: { de: "Small Teams", en: "Small Teams", }, price: { de: "ab 990 EUR", en: "from 990 EUR", }, }, { slug: "growth-kit", name: { de: "Growth Kit", en: "Growth Kit", }, summary: { de: "Skalierbares Paket fuer wachsende Produkte und Prozesse.", en: "Scalable package for growing products and processes.", }, segment: { de: "Scaleups", en: "Scaleups", }, price: { de: "ab 2490 EUR", en: "from 2490 EUR", }, }, { slug: "enterprise-kit", name: { de: "Enterprise Kit", en: "Enterprise Kit", }, summary: { de: "Massgeschneiderte Loesung fuer grosse Teams und komplexe Systeme.", en: "Tailored solution for large teams and complex systems.", }, segment: { de: "Enterprise", en: "Enterprise", }, price: { de: "auf Anfrage", en: "on request", }, }, ]; export function resolveLocale(locale: string): AppLocale { return locale === "en" ? "en" : "de"; } export function pickText(text: LocalizedText, locale: AppLocale): string { return text[locale]; } export function getPortfolioItem(slug: string) { return portfolioItems.find((item) => item.slug === slug); } export function getProductItem(slug: string) { return productItems.find((item) => item.slug === slug); }