extract layout and apply to all pages

This commit is contained in:
Thomas Ruoff
2021-03-13 00:16:07 +01:00
parent cf4a539ac5
commit ecb71f54e7
8 changed files with 274 additions and 289 deletions

13
components/layout.tsx Normal file
View File

@@ -0,0 +1,13 @@
import React from 'react'
import Footer from '../components/footer'
import Header from '../components/header'
export default function Home({ children }: { children: React.ReactNode }) {
return (
<>
<Header />
<main className="main">{children}</main>
<Footer />
</>
)
}

View File

@@ -1,16 +1,11 @@
import React from 'react' import Layout from '../components/layout'
import Footer from '../components/footer'
import Header from '../components/header'
import Wizard from '../components/wizard/index' import Wizard from '../components/wizard/index'
export default function Home() { export default function Home() {
return ( return (
<> <Layout>
<Header /> <h1 className="mb-3 text-xl font-extrabold">Buchungsanfrage</h1>
<main className="main">
<Wizard /> <Wizard />
</main> </Layout>
<Footer />
</>
) )
} }

View File

@@ -1,11 +1,8 @@
import React from 'react' import Layout from '../components/layout'
import Header from '../components/header'
export default function Impressum() { export default function Impressum() {
return ( return (
<> <Layout>
<Header />
<main className="main">
<h1 className="mb-3 text-xl font-extrabold">Impressum</h1> <h1 className="mb-3 text-xl font-extrabold">Impressum</h1>
<address className="mb-3"> <address className="mb-3">
@@ -49,7 +46,6 @@ export default function Impressum() {
https://pfadi-bussle.tomru.space https://pfadi-bussle.tomru.space
</a> </a>
</p> </p>
</main> </Layout>
</>
) )
} }

View File

@@ -1,13 +1,9 @@
import React from 'react'
import Link from 'next/link' import Link from 'next/link'
import Footer from '../components/footer' import Layout from '../components/layout'
import Header from '../components/header'
export default function Home() { export default function Home() {
return ( return (
<> <Layout>
<Header />
<main className="main">
<div className="mt-6 sm:text-center"> <div className="mt-6 sm:text-center">
<h1 className="text-xl tracking-tight font-extrabold text-gray-900 sm:text-2xl md:text-3xl"> <h1 className="text-xl tracking-tight font-extrabold text-gray-900 sm:text-2xl md:text-3xl">
<span className="block text-blue-800 xl:inline">Pfadi-Bussle</span>{' '} <span className="block text-blue-800 xl:inline">Pfadi-Bussle</span>{' '}
@@ -16,8 +12,8 @@ export default function Home() {
</span> </span>
</h1> </h1>
<p className="mt-3 text-gray-500 sm:mt-5 sm:text-lg md:text-xl"> <p className="mt-3 text-gray-500 sm:mt-5 sm:text-lg md:text-xl">
Für Lager, Vereinsausflüge, Urlaubsreisen, Umzüge, etc. kann man Für Lager, Vereinsausflüge, Urlaubsreisen, Umzüge, etc. kann man unser
unser Pfadi-Bussle mieten. Pfadi-Bussle mieten.
</p> </p>
<div className="mt-5 sm:mt-8 sm:flex sm:justify-center"> <div className="mt-5 sm:mt-8 sm:flex sm:justify-center">
<div className="rounded-md shadow"> <div className="rounded-md shadow">
@@ -54,8 +50,6 @@ export default function Home() {
</a> </a>
</p> </p>
</div> </div>
</main> </Layout>
<Footer />
</>
) )
} }

View File

@@ -1,10 +1,8 @@
import Header from '../components/header' import Layout from '../components/layout'
export default function Prices() { export default function Prices() {
return ( return (
<> <Layout>
<Header />
<main className="main text-gray-900">
<h1 className="mb-3 text-xl font-extrabold">Preise</h1> <h1 className="mb-3 text-xl font-extrabold">Preise</h1>
<table className="divide-y divide-gray-200"> <table className="divide-y divide-gray-200">
<thead className="bg-gray-50"> <thead className="bg-gray-50">
@@ -52,7 +50,6 @@ export default function Prices() {
</tr> </tr>
</tbody> </tbody>
</table> </table>
</main> </Layout>
</>
) )
} }

View File

@@ -1,18 +1,16 @@
import React from 'react' import React from 'react'
import Header from '../components/header' import Layout from '../components/layout'
export default function Privacy() { export default function Privacy() {
return ( return (
<> <Layout>
<Header />
<main className="main text-gray-900">
<h1 className="mb-3 text-xl font-extrabold">Datenschutzerklärung</h1> <h1 className="mb-3 text-xl font-extrabold">Datenschutzerklärung</h1>
<h2 className="mb-2 text-lg font-extrabold">Geltungsbereich</h2> <h2 className="mb-2 text-lg font-extrabold">Geltungsbereich</h2>
<p className="mb-2"> <p className="mb-2">
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß
Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang
und den Zweck der Erhebung und Verwendung personenbezogener Daten und den Zweck der Erhebung und Verwendung personenbezogener Daten durch
durch den Websitebetreiber{' '} den Websitebetreiber{' '}
<a className="link" href="mailto:pfadibussle@tomru.space"> <a className="link" href="mailto:pfadibussle@tomru.space">
Thomas Ruoff Thomas Ruoff
</a>{' '} </a>{' '}
@@ -28,9 +26,9 @@ export default function Privacy() {
</p> </p>
<h2 className="mb-2 text-lg font-extrabold">Zugriffsdaten</h2> <h2 className="mb-2 text-lg font-extrabold">Zugriffsdaten</h2>
<p className="mb-2"> <p className="mb-2">
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf
auf die Seite und speichert diese als Server-Logfiles ab. Folgende die Seite und speichert diese als Server-Logfiles ab. Folgende Daten
Daten werden so protokolliert:{' '} werden so protokolliert:{' '}
</p> </p>
<ul className="mb-2 list-disc list-inside"> <ul className="mb-2 list-disc list-inside">
<li>Besuchte URL</li> <li>Besuchte URL</li>
@@ -43,11 +41,10 @@ export default function Privacy() {
</ul> </ul>
<p className="mb-2"> <p className="mb-2">
Die erhobenen Daten dienen lediglich statistischen Auswertungen und Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur
zur Verbesserung der Website. Der Websitebetreiber behält sich Verbesserung der Website. Der Websitebetreiber behält sich allerdings
allerdings vor, die Server-Logfiles nachträglich zu überprüfen, vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete
sollten konkrete Anhaltspunkte auf eine rechtswidrige Nutzung Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.
hinweisen.
</p> </p>
<h2 className="mb-2 text-lg font-extrabold">Cookies</h2> <h2 className="mb-2 text-lg font-extrabold">Cookies</h2>
@@ -64,25 +61,25 @@ export default function Privacy() {
Wenn sie eine Buchungsanfrage tätigen, wird Ihnen angeboten, die Wenn sie eine Buchungsanfrage tätigen, wird Ihnen angeboten, die
Buchunsanfragedaten für die nächste Buchung zu merken um weitere Buchunsanfragedaten für die nächste Buchung zu merken um weitere
Anfragen zu beschleunigen. Die Speicherung der Buchungsdaten erfolgt Anfragen zu beschleunigen. Die Speicherung der Buchungsdaten erfolgt
dabei nicht auf unserem Server sondern nur in Ihrem Browser, genauer dabei nicht auf unserem Server sondern nur in Ihrem Browser, genauer auf
auf Ihrem Endgerät im s.g. LocalStorage. Diese Daten sind also nicht Ihrem Endgerät im s.g. LocalStorage. Diese Daten sind also nicht in
in unserem Besitzt noch habe wir Zugriff darauf. Erste wenn eine unserem Besitzt noch habe wir Zugriff darauf. Erste wenn eine weitere
weitere Buchunsanfrage, mit den bei Ihnen gespeicherten Daten Buchunsanfrage, mit den bei Ihnen gespeicherten Daten vorausgefüllt und
vorausgefüllt und abgeschickt wird, erhalten wir Zugriff drauf. Es abgeschickt wird, erhalten wir Zugriff drauf. Es besteht somit keinen
besteht somit keinen Unterschied, ob sie die Daten manuell oder mit Unterschied, ob sie die Daten manuell oder mit dieser Funktion
dieser Funktion vorausfüllen lassen. Die für diese Funktion in Ihrem vorausfüllen lassen. Die für diese Funktion in Ihrem Browser
Browser gespeicherten Daten umfassen ausschließlich Daten welche sie gespeicherten Daten umfassen ausschließlich Daten welche sie vorher zum
vorher zum Zwecke einer Buchungsanfrage eingegeben haben. Ob sie Zwecke einer Buchungsanfrage eingegeben haben. Ob sie aktuell
aktuell Buchungsdaten gespeichert haben, wir Ihnen als Info-Nachricht Buchungsdaten gespeichert haben, wir Ihnen als Info-Nachricht in der
in der Buchungsanfragemaske angezeigt. Alle gespeicherten Felder Buchungsanfragemaske angezeigt. Alle gespeicherten Felder werden in
werden in diesem Fall auch gleich im Formular transparent diesem Fall auch gleich im Formular transparent vorausgefüllt. Falls Sie
vorausgefüllt. Falls Sie diese Daten löschen möchten, können Sie dies diese Daten löschen möchten, können Sie dies über einen Link in der
über einen Link in der Info-Nachricht bewerkstelligen. Info-Nachricht bewerkstelligen.
</p> </p>
<h2 className="mb-2 text-lg font-extrabold">Buchungsanfrage</h2> <h2 className="mb-2 text-lg font-extrabold">Buchungsanfrage</h2>
<p className="mb-2"> <p className="mb-2">
Sämtliche Daten, welche im Rahmen einer Bestellabwicklung von den Sämtliche Daten, welche im Rahmen einer Bestellabwicklung von den Kunden
Kunden eingegeben werden, werden gespeichert. Dazu gehören: eingegeben werden, werden gespeichert. Dazu gehören:
</p> </p>
<ul className="mb-2 list-disc list-inside"> <ul className="mb-2 list-disc list-inside">
<li>Start- und Enddatum der Anfrage</li> <li>Start- und Enddatum der Anfrage</li>
@@ -96,10 +93,9 @@ export default function Privacy() {
<p className="mb-2"> <p className="mb-2">
Jene Daten, welche zur Auftragsabwicklung zwingend notwendig sind, Jene Daten, welche zur Auftragsabwicklung zwingend notwendig sind,
werden an dritte Dienstleister weitergegeben. Sowie die Aufbewahrung werden an dritte Dienstleister weitergegeben. Sowie die Aufbewahrung
Ihrer Daten nicht mehr erforderlich oder gesetzlich geboten ist, Ihrer Daten nicht mehr erforderlich oder gesetzlich geboten ist, werden
werden diese gelöscht. diese gelöscht.
</p> </p>
</main> </Layout>
</>
) )
} }

View File

@@ -1,17 +1,12 @@
import React from 'react' import Layout from '../components/layout'
import Header from '../components/header'
export default function Terms() { export default function Terms() {
return ( return (
<> <Layout>
<Header />
<main className="main text-gray-900 mt-6">
<h1 className="mb-3 text-xl font-extrabold"> <h1 className="mb-3 text-xl font-extrabold">
Allgemeine Geschäftsbedinungen Allgemeine Geschäftsbedinungen
</h1> </h1>
<h2 className="mb-2 text-lg font-extrabold"> <h2 className="mb-2 text-lg font-extrabold">Grundlegende Bedingungen</h2>
Grundlegende Bedingungen
</h2>
<p> <p>
Die nachstenden Bedingungen gelten für Verträge zwischen Freundeskreis Die nachstenden Bedingungen gelten für Verträge zwischen Freundeskreis
des VCP Rosenfeld e.V.- nachfolgend Anbieter genannt - und Kunden, des VCP Rosenfeld e.V.- nachfolgend Anbieter genannt - und Kunden,
@@ -28,7 +23,6 @@ export default function Terms() {
<p className="mb-2">TODO</p> <p className="mb-2">TODO</p>
<h2 className="mb-2 text-lg font-extrabold">Vertragsdauer</h2> <h2 className="mb-2 text-lg font-extrabold">Vertragsdauer</h2>
<p className="mb-2">TODO</p> <p className="mb-2">TODO</p>
</main> </Layout>
</>
) )
} }

View File

@@ -18,7 +18,7 @@
} }
.form { .form {
@apply w-full mt-6 p-6; @apply w-full;
} }
.fsw { .fsw {