import '../models/ad_campaign.dart';
import '../models/localized_content.dart';
import '../models/poi.dart';
import '../models/tour.dart';
abstract final class MockData {
static final adCampaigns = <AdCampaign>[
AdCampaign(
id: 'demo-premium-partner',
partnerName: 'MeinWeimar Partner',
headline: const LocalizedContent({
'de': 'Weimar noch ein bisschen länger genießen',
'en': 'Enjoy Weimar a little longer',
}),
body: const LocalizedContent({
'de':
'Eine dezente Demo-Kampagne für Splash, Startseite und Touren. Später vollständig aus WordPress/ACF gesteuert.',
'en':
'A discreet demo campaign for sponsor interstitial, home and tours. Later fully controlled by WordPress/ACF.',
}),
buttonLabel:
const LocalizedContent({'de': 'Mehr erfahren', 'en': 'Learn more'}),
validFrom: DateTime(2025, 1, 1),
validUntil: DateTime(2035, 12, 31),
placements: const {
AdPlacement.sponsorInterstitial,
AdPlacement.homeBanner,
AdPlacement.mapBanner,
AdPlacement.toursBanner,
AdPlacement.tourDetailBanner,
AdPlacement.plannerBanner,
},
landingPageUrl: 'https://guide.meinweimar.de/partner/demo',
priority: 80,
frequencyHours: 24,
),
];
static const pois = <Poi>[
Poi(
id: 'goethe-house',
title: LocalizedContent({
'de': 'Goethe-Nationalmuseum',
'en': 'Goethe National Museum',
'fr': 'Musée national Goethe',
'nl': 'Goethe-Nationaal Museum',
'es': 'Museo Nacional Goethe',
'it': 'Museo Nazionale Goethe'
}),
guideText: LocalizedContent({
'de':
'Mehr Informationen zu dieser Station sind im Live-CMS verfügbar.',
'en': 'More information about this stop is available from the live CMS.'
}),
shortDescription: LocalizedContent({
'de': 'Goethes Wohnhaus am Frauenplan.',
'en': 'Goethe’s former home on Frauenplan.',
'fr': 'L’ancienne maison de Goethe.',
'nl': 'Goethes voormalige woonhuis.',
'es': 'La antigua casa de Goethe.',
'it': 'L’antica casa di Goethe.'
}),
latitude: 50.977545,
longitude: 11.328695,
category: 'Klassik',
address: 'Frauenplan 1, 99423 Weimar',
// Demo only: replaced by the real ACF affiliate URL once WordPress is connected.
affiliateTicketUrl: 'https://www.getyourguide.com/weimar-l469/',
affiliateProvider: 'GetYourGuide',
),
Poi(
id: 'goethe-schiller',
title: LocalizedContent(
{'de': 'Goethe-Schiller-Denkmal', 'en': 'Goethe–Schiller Monument'}),
guideText: LocalizedContent({
'de':
'Mehr Informationen zu dieser Station sind im Live-CMS verfügbar.',
'en': 'More information about this stop is available from the live CMS.'
}),
shortDescription: LocalizedContent({
'de': 'Das berühmte Doppelstandbild am Theaterplatz.',
'en': 'The famous double monument at Theaterplatz.'
}),
latitude: 50.97984,
longitude: 11.32565,
category: 'Klassik',
address: 'Theaterplatz, 99423 Weimar',
familyFriendly: true,
),
Poi(
id: 'anna-amalia',
title: LocalizedContent({
'de': 'Herzogin Anna Amalia Bibliothek',
'en': 'Duchess Anna Amalia Library'
}),
guideText: LocalizedContent({
'de':
'Mehr Informationen zu dieser Station sind im Live-CMS verfügbar.',
'en': 'More information about this stop is available from the live CMS.'
}),
shortDescription: LocalizedContent({
'de': 'Bibliothek mit weltberühmtem Rokokosaal.',
'en': 'Library famed for its Rococo Hall.'
}),
latitude: 50.978422,
longitude: 11.332205,
category: 'Klassik',
address: 'Platz der Demokratie 1, 99423 Weimar',
),
Poi(
id: 'gartenhaus',
title: LocalizedContent(
{'de': 'Goethes Gartenhaus', 'en': 'Goethe’s Garden House'}),
guideText: LocalizedContent({
'de':
'Mehr Informationen zu dieser Station sind im Live-CMS verfügbar.',
'en': 'More information about this stop is available from the live CMS.'
}),
shortDescription: LocalizedContent({
'de': 'Goethes Rückzugsort im Park an der Ilm.',
'en': 'Goethe’s retreat in the Park an der Ilm.'
}),
latitude: 50.97601,
longitude: 11.33675,
category: 'Klassik',
address: 'Park an der Ilm, 99423 Weimar',
familyFriendly: true,
),
Poi(
id: 'bauhaus-museum',
title: LocalizedContent(
{'de': 'Bauhaus-Museum Weimar', 'en': 'Bauhaus Museum Weimar'}),
guideText: LocalizedContent({
'de':
'Mehr Informationen zu dieser Station sind im Live-CMS verfügbar.',
'en': 'More information about this stop is available from the live CMS.'
}),
shortDescription: LocalizedContent({
'de': 'Moderne, Design und die Anfänge des Bauhauses.',
'en': 'Modernism, design and the origins of Bauhaus.'
}),
latitude: 50.98477,
longitude: 11.32438,
category: 'Bauhaus',
address: 'Stéphane-Hessel-Platz 1, 99423 Weimar',
),
];
static const tours = <Tour>[
Tour(
id: 'goethe-compact',
title: LocalizedContent({
'de': 'Auf den Spuren Goethes',
'en': 'In Goethe’s Footsteps',
'fr': 'Sur les traces de Goethe',
'nl': 'In Goethes voetsporen',
'es': 'Tras las huellas de Goethe',
'it': 'Sulle tracce di Goethe'
}),
subtitle: LocalizedContent({
'de':
'Der ideale Einstieg in Goethes Weimar – kompakt, erzählerisch und zu Fuß.',
'en': 'A compact, story-led introduction to Goethe’s Weimar.'
}),
category: 'Klassik',
durationMinutes: 90,
distanceKm: 2.4,
highlight: true,
stops: [
TourStop(
poiId: 'goethe-house',
title:
LocalizedContent({'de': 'Am Frauenplan', 'en': 'At Frauenplan'}),
walkMinutesFromPrevious: 0,
guideText: LocalizedContent({
'de':
'Du stehst vor dem Haus, das wie kaum ein zweiter Ort mit Goethe verbunden ist. Er lebte hier über Jahrzehnte. Doch dieses Haus war mehr als Privatwohnung: Es war Arbeitsort, Sammlung, gesellschaftlicher Treffpunkt und Bühne für einen Mann, der sein eigenes Umfeld mit großer Genauigkeit gestaltete. Schau dir zunächst die ruhige Fassade an. Gerade diese Zurückhaltung ist ein guter Ausgangspunkt: Hinter ihr spielte sich ein erstaunlich dichtes intellektuelles und gesellschaftliches Leben ab.',
'en':
'You are standing before the house that is more closely associated with Goethe than almost any other place. He lived here for decades. It was more than a private home: it was a workplace, collection, social meeting point and a carefully shaped stage for his life. Start with the restrained façade. Behind it, an unusually dense intellectual and social world unfolded.',
'fr':
'Vous vous trouvez devant la maison la plus étroitement liée à Goethe. Pendant des décennies, elle fut à la fois domicile, lieu de travail, collection et lieu de rencontres.',
'nl':
'Je staat voor het huis dat sterker dan bijna elke andere plek met Goethe verbonden is. Het was woning, werkplek, verzameling en ontmoetingsplaats.',
'es':
'Estás ante la casa más estrechamente vinculada con Goethe. Fue hogar, lugar de trabajo, colección y punto de encuentro.',
'it':
'Sei davanti alla casa più intimamente legata a Goethe. Fu abitazione, luogo di lavoro, collezione e punto d’incontro.'
}),
),
TourStop(
poiId: 'goethe-schiller',
title: LocalizedContent({
'de': 'Zwei Dichter auf einem Sockel',
'en': 'Two poets on one pedestal'
}),
walkMinutesFromPrevious: 6,
guideText: LocalizedContent({
'de':
'Auf dem Theaterplatz begegnen dir Goethe und Schiller so, wie das kulturelle Gedächtnis sie gern sieht: Seite an Seite. Im wirklichen Leben war ihre Beziehung spannender. Sie waren unterschiedlich alt, unterschiedlich temperamentvoll und näherten sich einander erst allmählich an. Aus dieser Annäherung wurde eine der berühmtesten Arbeitsfreundschaften der deutschen Literaturgeschichte.',
'en':
'At Theaterplatz, Goethe and Schiller appear exactly as cultural memory likes to picture them: side by side. Their real relationship was more complicated. Different in age and temperament, they approached one another gradually before forming one of the most famous creative friendships in German literary history.'
}),
),
TourStop(
poiId: 'anna-amalia',
title: LocalizedContent(
{'de': 'Wissen als Macht', 'en': 'Knowledge as power'}),
walkMinutesFromPrevious: 7,
guideText: LocalizedContent({
'de':
'Die Herzogin Anna Amalia Bibliothek erinnert daran, dass Weimars Klassik nicht nur aus einzelnen Genies bestand. Sie brauchte Bücher, Netzwerke, Mäzene und Institutionen. Goethe selbst leitete die Bibliothek über viele Jahre mit. Der Ort verbindet deshalb Literaturgeschichte mit einer ganz praktischen Frage: Wie entsteht eigentlich ein kulturelles Zentrum?',
'en':
'The Duchess Anna Amalia Library is a reminder that Weimar Classicism was never just a story of individual geniuses. It required books, networks, patrons and institutions. Goethe himself helped oversee the library for many years.'
}),
),
TourStop(
poiId: 'gartenhaus',
title: LocalizedContent(
{'de': 'Rückzug im Park', 'en': 'A retreat in the park'}),
walkMinutesFromPrevious: 12,
guideText: LocalizedContent({
'de':
'Im Park an der Ilm verändert sich das Tempo der Tour. Goethes Gartenhaus steht für eine andere Seite seines Lebens: Rückzug, Naturbeobachtung und den Versuch, Arbeit und Alltag in eine gestaltete Umgebung einzubetten. Nimm dir hier ein paar Minuten ohne Bildschirm. Der Guide darf auch einmal schweigen.',
'en':
'In the Park an der Ilm, the pace changes. Goethe’s Garden House represents another side of his life: retreat, observation of nature and the attempt to place work and everyday life within a deliberately shaped environment. Take a few minutes here without looking at your screen.'
}),
),
],
),
Tour(
id: 'bauhaus-90',
title: LocalizedContent({
'de': 'Bauhaus: Die Idee wird radikal',
'en': 'Bauhaus: A Radical Idea'
}),
subtitle: LocalizedContent({
'de': 'Vom Aufbruch der Moderne zu Formen, die bis heute überall sind.',
'en':
'From modernist beginnings to ideas that still shape design today.'
}),
category: 'Bauhaus',
durationMinutes: 75,
distanceKm: 1.8,
highlight: true,
stops: [
TourStop(
poiId: 'bauhaus-museum',
title: LocalizedContent({
'de': 'Der Anfang einer Design-Revolution',
'en': 'The start of a design revolution'
}),
walkMinutesFromPrevious: 0,
guideText: LocalizedContent({
'de':
'Bauhaus klingt heute nach einem Stil. Ursprünglich war es vor allem eine Schule und ein Experiment: Kunst, Handwerk, Architektur und Gestaltung sollten neu zusammengedacht werden. Weimar ist der Ort, an dem dieses Experiment 1919 begann.',
'en':
'Today Bauhaus sounds like a style. Originally it was above all a school and an experiment: art, craft, architecture and design were to be rethought together. Weimar is where that experiment began in 1919.'
}),
),
],
),
Tour(
id: 'weimar-first-hour',
title: LocalizedContent(
{'de': 'Weimar in 60 Minuten', 'en': 'Weimar in 60 Minutes'}),
subtitle: LocalizedContent({
'de': 'Wenig Zeit? Die wichtigsten Eindrücke in einer Stunde.',
'en': 'Short on time? Get the essential Weimar experience in one hour.'
}),
category: 'Highlights',
durationMinutes: 60,
distanceKm: 1.6,
highlight: false,
familyFriendly: true,
stops: [
TourStop(
poiId: 'goethe-schiller',
title:
LocalizedContent({'de': 'Theaterplatz', 'en': 'Theaterplatz'}),
walkMinutesFromPrevious: 0,
guideText: LocalizedContent({
'de':
'Hier treffen Literatur, Theater und deutsche Demokratiegeschichte auf engem Raum zusammen.',
'en':
'Here literature, theatre and German democratic history meet within a remarkably small space.'
})),
TourStop(
poiId: 'goethe-house',
title: LocalizedContent({'de': 'Frauenplan', 'en': 'Frauenplan'}),
walkMinutesFromPrevious: 6,
guideText: LocalizedContent({
'de':
'Der Frauenplan bringt dich mitten in das Weimar der Klassik.',
'en':
'Frauenplan places you right in the heart of Classical Weimar.'
})),
TourStop(
poiId: 'anna-amalia',
title: LocalizedContent(
{'de': 'Platz der Demokratie', 'en': 'Platz der Demokratie'}),
walkMinutesFromPrevious: 7,
guideText: LocalizedContent({
'de':
'Ein kurzer Weg führt zu einem der bekanntesten Bibliotheksorte Deutschlands.',
'en':
'A short walk leads to one of Germany’s best-known library sites.'
})),
],
),
];
static Poi poiById(String id) => pois.firstWhere((poi) => poi.id == id);
}

