// mobile-blocks.jsx — mobile-optimized variant of every content block (Tailwind). // Each block matches the desktop block's content but reflows for ~390px width. const MOBILE_W = 390; // Container that wraps each mobile block in the canvas with consistent setup function MobileBlock({name, variant, showMeta = true, children, bg = 'white'}) { return (
{showMeta && } {children}
); } // ─── 1) Hero — simple ────────────────────────────────────────────── function MHeroSimple({ showMeta = true, title = "Gotthard-Rundfahrt", body = "Legendäre Passroute über den historischen Gotthard — Geschichte, Panorama und Abenteuer.", bgClass = "img-ph", }) { return (

{title}

{body}

); } // ─── 2) Hero — with widget ───────────────────────────────────────── function MHeroWithWidget({showMeta = true, bgClass = "img-ph"}) { return (

Unterwegs mit
Auto AG Uri

Ihr zuverlässiger Mobilitätspartner im Kanton Uri.

); } // ─── 3) Call to action ───────────────────────────────────────────── function MCTA({showMeta = true}) { return (
Jetzt bewerben

Werde Teil unseres Teams

Offene Stellen bei Auto AG Uri — vom Chauffeur bis zur Mechatronikerin.

{[ {icon: , t: 'Bus-Chauffeur Kat. D'}, {icon: , t: 'Automobil-Mechatroniker/in'}, ].map((it, i) => (
{it.icon}
{it.t}
))}
); } // ─── 4) Cards grid (horizontal scroll for mobile) ───────────────── function MCardsGrid({ showMeta = true, eyebrow = "Mit dem Bus erleben", title = "Spezialangebote & Freizeit", cards = [ {title: 'Gotthard-Rundfahrt'}, {title: 'Urnersee-Ticket'}, {title: 'Schneespass Andermatt'}, {title: 'Klausenpass Linie'}, ], }) { return (
{eyebrow &&
{eyebrow}
}

{title}

{cards.map((c, i) => (
{c.title}
Mehr
))}
); } // ─── 5) Cards compact links ──────────────────────────────────────── function MCardsLinks({ showMeta = true, eyebrow = "Schnellzugriff", title = "So planen Sie Ihre Fahrt", cards = [ {icon: , title: 'Tickets'}, {icon: , title: 'Linien'}, {icon: , title: 'Fahrplan'}, {icon: , title: 'Karriere'}, ], }) { return (
{eyebrow}

{title}

{cards.map((c, i) => ( {c.icon}
{c.title}
Öffnen
))}
); } // ─── 6) Stats — inline (2 columns) ───────────────────────────────── function MStatsInline({showMeta = true}) { const stats = [ {icon: , value: '28', unit: '', label: 'Linien'}, {icon: , value: '180', unit: '', label: 'Haltestellen'}, {icon: , value: '3 Mio.', unit: '', label: 'Fahrgäste · Jahr'}, {icon: , value: '99,7', unit: '%', label: 'Pünktlichkeit'}, ]; return (
{stats.map((s, i) => (
{s.icon}
{s.value}{s.unit}
{s.label}
))}
); } // ─── 7) Stats — boxed ───────────────────────────────────────────── function MStatsBoxed({showMeta = true}) { const stats = [ {icon: , value: 'ca. 4 h', label: 'Gesamtdauer'}, {icon: , value: '120 km', label: 'Strecke'}, {icon: , value: '2 106 m', label: 'Höchstpunkt'}, {icon: , value: 'Jun–Okt', label: 'Saison'}, ]; return (
{stats.map((s, i) => (
{s.icon}
{s.value}
{s.label}
))}
); } // ─── 8) News grid ───────────────────────────────────────────────── function MNewsGrid({showMeta = true}) { const items = [ {date: '12. April 2026', title: 'Neue Elektrobusse im Einsatz', body: 'Die Auto AG Uri setzt einen weiteren Schritt in Richtung Nachhaltigkeit…'}, {date: '05. April 2026', title: 'Fahrplanwechsel Sommer', body: 'Bitte beachten Sie die neuen Abfahrtszeiten auf diversen Linien…'}, ]; return (

Aktuelle News

Alle
{items.map((it, i) => (
{it.date}
{it.title}
{it.body}
))}
); } // ─── 9) Image + Text ────────────────────────────────────────────── function MImageText({ showMeta = true, eyebrow = "Über uns", title = "Seit 1922 bewegen wir Uri", body = "Was als kleines Postautounternehmen begann, ist heute das zuverlässige Rückgrat der öffentlichen Mobilität im Kanton Uri.", bullets = ['100% Anschluss an SBB-Knoten', 'Elektroflotte bis 2030', 'Ausbildungsbetrieb mit 12 Lehrstellen'], buttonLabel = "Mehr über uns", }) { return (
{eyebrow &&
{eyebrow}
}

{title}

{body}

    {bullets.map((b, i) => (
  • {b}
  • ))}
); } // ─── 10) FAQ ────────────────────────────────────────────────────── function MFAQ({ showMeta = true, title = "Häufige Fragen", eyebrow = "FAQ", items = [ {q: 'Wo kann ich Billette kaufen?', a: 'Billette gibt es online, in unserer App, an den Verkaufsstellen sowie direkt im Bus beim Chauffeur.', open: true}, {q: 'Sind Hunde im Bus erlaubt?'}, {q: 'Wie funktioniert das Tarifsystem?'}, {q: 'Gibt es Rabatte für Schulen?'}, ], }) { return (
{eyebrow &&
{eyebrow}
}

{title}

{items.map((it, i) => (

{it.q}

{it.open ? : }
{it.open && it.a && (
{it.a}
)}
))}
); } // ─── 11) Quote ──────────────────────────────────────────────────── function MQuote({showMeta = true}) { return (
«Ohne die AAGU käme mein Sohn nie pünktlich in die Schule.»
AG
Andrea Gisler
Pendlerin · Bürglen
); } // ─── 12) Section header ─────────────────────────────────────────── function MSectionHeader({ showMeta = true, crumbs = ['Home', 'Freizeit', 'Gotthard-Rundfahrt'], title = "Gotthard-Rundfahrt", body = "Eine Tagesreise über den historischen Alpenpass — auf den Spuren der Säumer, durch Tunnel und Serpentinen bis zum Hospiz.", }) { return (

{title}

{body}

); } // ─── 13) Rich text ──────────────────────────────────────────────── function MRichText({showMeta = true}) { return (

Eine Reise durch die Urner Geschichte

Die Gotthard-Route ist mehr als nur eine Strasse — sie ist eine der ältesten Nord-Süd-Verbindungen Europas. Schon im 13. Jahrhundert führten die Säumer ihre Maultiere über den Pass.

Was Sie unterwegs erleben

Unsere Chauffeur:innen kennen jede Kurve und teilen ihr Wissen gerne. Halten Sie in Andermatt für einen Kaffee oder besuchen Sie das Museum.

Tipp: Reservieren Sie an Wochenenden vor — die Fahrt ist beliebt.
); } // ─── 15) Linien (official line colors) ──────────────────────────── function MLines({showMeta = true}) { const lines = [ {nr: '401', color: 'var(--line-401)', name: 'Flüelen – Göschenen'}, {nr: '402', color: 'var(--line-402)', name: 'Attinghausen – Bürglen'}, {nr: '403', color: 'var(--line-403)', name: 'Seedorf – Bürglen'}, {nr: '405', color: 'var(--line-405)', name: 'Schattdorf – Isenthal'}, {nr: '407', color: 'var(--line-407)', name: 'Amsteg – Bristen'}, {nr: '408', color: 'var(--line-408)', name: 'Attinghausen – Linthal'}, {nr: '411', color: 'var(--line-411)', name: 'Göschenen – Göscheneralp'}, {nr: '412', color: 'var(--line-412)', name: 'Altdorf – Amsteg'}, {nr: '413', color: 'var(--line-413)', name: 'Flüelen – Altdorf'}, {nr: '493', color: 'var(--line-493)', name: 'Altdorf – Luzern (Tellbus)'}, ]; return (
Liniennetz

Alle Linien

{lines.map(l => ( {l.nr}
{l.name}
))}
); } // ─── Mobile chrome — Footer ─────────────────────────────────────── function MFooter({showMeta = true}) { return (

Ihr Mobilitätspartner im Kanton Uri — seit 1922.

Ried 1, 6467 Schattdorf
+41 41 874 78 78 · info@aagu.ch

{[, , ].map((Ic, i) => ( {Ic} ))}
{['Fahrplan', 'Tickets', 'Freizeit', 'Unternehmen'].map(c => ( {c} ))}
© 2026 Auto AG Uri
); } // ─── Mobile subpage — Angebot & Dienstleistung overview ────────── function MobileSubPage() { return (
, title: 'Velo'}, {icon: , title: 'Handicap'}, {icon: , title: 'Fundbüro'}, {icon: , title: 'Buswerbung'}, ]} />
); } // ─── 16) Steps — mobile (vertical) ────────────────────────────── function MStepsBlock({showMeta = true, eyebrow = "So funktionierts", title = "In vier Schritten zur Gruppenreise", steps}) { const items = steps || [ {n: '1', title: 'Anfrage ausfüllen', body: 'Online-Formular einreichen, spätestens 2 Werktage vor Abreise.'}, {n: '2', title: 'Bestätigung erhalten', body: 'Wir prüfen die Verbindung und melden uns.'}, {n: '3', title: 'Billett beziehen', body: 'Am AAGU-Schalter, im Bus oder über die SBB.'}, {n: '4', title: 'Losfahren', body: 'Steigen Sie an der Haltestelle ein.'}, ]; return (
{eyebrow}

{title}

{/* vertical connector */}
{items.map((s, i) => (
{s.n}

{s.title}

{s.body}

))}
); } // ─── 17) Form block — mobile (stacked) ──────────────────────────── function MFormField({label, placeholder, value, required = false, multiline = false, select = false}) { return ( ); } function MFormBlock({showMeta = true}) { return (
Kontakt

Gruppenreise anfragen

Wir erstellen Ihnen ein unverbindliches Angebot — Antwort innert 2 Werktagen.

e.preventDefault()} className="bg-white p-[18px] rounded-[16px] border border-solid border-line flex flex-col gap-3.5">
); } // ─── 18) Call to action — banner ───────────────────────────────── function MCTABanner({ showMeta = true, showButton = true, title = "Gruppenreisen für jeden Anlass", body = "Schulausflug, Vereinsreise, Hochzeit oder Firmenanlass — chartern Sie einen Bus mit eigenem Chauffeur.", buttonLabel = "Offerte anfragen", buttonIcon = , }) { return (

{title}

{body}

{showButton && ( )}
); } Object.assign(window, { MHeroSimple, MHeroWithWidget, MCTA, MCTABanner, MCardsGrid, MCardsLinks, MStatsInline, MStatsBoxed, MNewsGrid, MImageText, MFAQ, MQuote, MSectionHeader, MRichText, MLines, MFooter, MobileSubPage, MFormBlock, MStepsBlock, MOBILE_W, });