mirror of
https://github.com/tomru/pfadi-bussle.git
synced 2026-03-04 15:07:13 +01:00
use @next/mdx
This commit is contained in:
4
components/mdx.tsx
Normal file
4
components/mdx.tsx
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
export default function Mdx({ children }: { children: React.ReactNode }) {
|
||||||
|
// Create any shared layout or styles here
|
||||||
|
return <div className="markdown-body">{children}</div>
|
||||||
|
}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
const { withAxiom } = require('next-axiom')
|
|
||||||
|
|
||||||
module.exports = withAxiom({
|
|
||||||
swcMinify: true,
|
|
||||||
})
|
|
||||||
21
next.config.mjs
Normal file
21
next.config.mjs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import { withAxiom } from 'next-axiom'
|
||||||
|
import createMDX from '@next/mdx'
|
||||||
|
|
||||||
|
/** @type {import('next').NextConfig} */
|
||||||
|
const nextConfig = {
|
||||||
|
swcMinify: true,
|
||||||
|
// Configure `pageExtensions`` to include MDX files
|
||||||
|
pageExtensions: ['js', 'jsx', 'mdx', 'ts', 'tsx'],
|
||||||
|
// Optionally, add any other Next.js config below
|
||||||
|
}
|
||||||
|
|
||||||
|
const withMDX = createMDX({
|
||||||
|
// Add markdown plugins here, as desired
|
||||||
|
options: {
|
||||||
|
remarkPlugins: [],
|
||||||
|
rehypePlugins: [],
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
// Merge MDX config with Next.js config
|
||||||
|
export default withMDX(nextConfig)
|
||||||
2417
package-lock.json
generated
2417
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,11 @@
|
|||||||
"test": "jest"
|
"test": "jest"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@mdx-js/loader": "^3.0.1",
|
||||||
|
"@mdx-js/react": "^3.0.1",
|
||||||
"@next-auth/mongodb-adapter": "1.1.3",
|
"@next-auth/mongodb-adapter": "1.1.3",
|
||||||
|
"@next/mdx": "^14.1.3",
|
||||||
|
"@types/mdx": "^2.0.11",
|
||||||
"@vercel/analytics": "^1.0.0",
|
"@vercel/analytics": "^1.0.0",
|
||||||
"autoprefixer": "10.4.18",
|
"autoprefixer": "10.4.18",
|
||||||
"classnames": "2.5.1",
|
"classnames": "2.5.1",
|
||||||
@@ -23,7 +27,6 @@
|
|||||||
"next": "^14.0.1",
|
"next": "^14.0.1",
|
||||||
"next-auth": "4.24.7",
|
"next-auth": "4.24.7",
|
||||||
"next-axiom": "^1.1.0",
|
"next-axiom": "^1.1.0",
|
||||||
"next-mdx-remote": "4.4.1",
|
|
||||||
"nodemailer": "^6.9.1",
|
"nodemailer": "^6.9.1",
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
"react-calendar": "4.8.0",
|
"react-calendar": "4.8.0",
|
||||||
@@ -50,4 +53,4 @@
|
|||||||
"^.+\\.(ts|tsx)$": "ts-jest"
|
"^.+\\.(ts|tsx)$": "ts-jest"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import { useSession, signIn, SessionProvider } from 'next-auth/react'
|
|||||||
import Layout from '../components/layout';
|
import Layout from '../components/layout';
|
||||||
|
|
||||||
import '../styles/index.css'
|
import '../styles/index.css'
|
||||||
|
import '../styles/gfm.css'
|
||||||
|
|
||||||
function Auth({ children }) {
|
function Auth({ children }) {
|
||||||
const { data: session, status } = useSession()
|
const { data: session, status } = useSession()
|
||||||
|
|||||||
38
pages/impressum.mdx
Normal file
38
pages/impressum.mdx
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
import Mdx from '../components/mdx'
|
||||||
|
|
||||||
|
export default function MDXPage({ children }) {
|
||||||
|
return <Mdx>{children}</Mdx>;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# Impressum
|
||||||
|
|
||||||
|
## Anschrift
|
||||||
|
|
||||||
|
Freundeskreis des VCP Rosenfeld e.V.
|
||||||
|
|
||||||
|
Mozartstr. 11
|
||||||
|
|
||||||
|
72348 Rosenfeld
|
||||||
|
|
||||||
|
### 1. Vorsitzender:
|
||||||
|
|
||||||
|
Kevin Deckert
|
||||||
|
|
||||||
|
Mozartstr. 11
|
||||||
|
|
||||||
|
72348 Rosenfeld
|
||||||
|
|
||||||
|
### Bussle-Wart und Technisch Verantwortlicher dieser Webanwendung
|
||||||
|
|
||||||
|
Thomas Ruoff
|
||||||
|
|
||||||
|
Mömpelgardgasse 25
|
||||||
|
|
||||||
|
72348 Rosenfeld
|
||||||
|
|
||||||
|
[pfadibussle@tomru.space](mailto:pfadibussle@tomru.space)
|
||||||
|
|
||||||
|
## Das Impressum gilt für:
|
||||||
|
|
||||||
|
[https://pfadi-bussle.tomru.space](https://pfadi-bussle.tomru.space)
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
import { readFileSync } from 'fs'
|
|
||||||
|
|
||||||
import { serialize } from 'next-mdx-remote/serialize'
|
|
||||||
import { MDXRemote } from 'next-mdx-remote'
|
|
||||||
|
|
||||||
import mdComponents from '../components/mdComponents'
|
|
||||||
|
|
||||||
export default function TermsPage({ source }) {
|
|
||||||
return (
|
|
||||||
<MDXRemote {...source} components={{ ...mdComponents }} />
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getStaticProps() {
|
|
||||||
const source = readFileSync('./md/impressum.md', 'utf8')
|
|
||||||
const mdxSource = await serialize(source)
|
|
||||||
return { props: { source: mdxSource } }
|
|
||||||
}
|
|
||||||
89
pages/privacy.mdx
Normal file
89
pages/privacy.mdx
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
import Mdx from '../components/mdx'
|
||||||
|
|
||||||
|
export default function MDXPage({ children }) {
|
||||||
|
return <Mdx>{children}</Mdx>;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# Datenschutzerklärung
|
||||||
|
|
||||||
|
## Geltungsbereich
|
||||||
|
|
||||||
|
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß
|
||||||
|
Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang
|
||||||
|
und den Zweck der Erhebung und Verwendung personenbezogener Daten durch
|
||||||
|
den Websitebetreiber [Thomas Ruoff](mailto:pfadibussle@tomru.space)
|
||||||
|
informieren.
|
||||||
|
|
||||||
|
Der Websitebetreiber nimmt Ihren Datenschutz sehr ernst und behandelt
|
||||||
|
Ihre personenbezogenen Daten vertraulich und entsprechend der
|
||||||
|
gesetzlichen Vorschriften. Bedenken Sie, dass die Datenübertragung im
|
||||||
|
Internet grundsätzlich mit Sicherheitslücken bedacht sein kann. Ein
|
||||||
|
vollumfänglicher Schutz vor dem Zugriff durch Fremde ist nicht
|
||||||
|
realisierbar.
|
||||||
|
|
||||||
|
## Zugriffsdaten
|
||||||
|
|
||||||
|
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf
|
||||||
|
die Seite und speichert diese als „Server-Logfiles“ ab. Folgende Daten
|
||||||
|
werden so protokolliert:
|
||||||
|
|
||||||
|
- Besuchte URL
|
||||||
|
- Uhrzeit zum Zeitpunkt des Zugriffes
|
||||||
|
- Menge der gesendeten Daten in Byte
|
||||||
|
- Quelle/Verweis, von welchem Sie auf die Seite gelangten
|
||||||
|
- Verwendeter Browser
|
||||||
|
- Verwendetes Betriebssystem
|
||||||
|
- Verwendete IP-Adresse
|
||||||
|
|
||||||
|
Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur
|
||||||
|
Verbesserung der Website. Der Websitebetreiber behält sich allerdings
|
||||||
|
vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete
|
||||||
|
Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.
|
||||||
|
|
||||||
|
## Cookies
|
||||||
|
|
||||||
|
Diese Website verwendet keine Cookies.
|
||||||
|
|
||||||
|
## Benutzerkonto
|
||||||
|
|
||||||
|
Um über dieses Angebot Buchungsanfragen tätigen zu können, ist kein
|
||||||
|
Kundenkonto notwendig noch vorgesehen.
|
||||||
|
|
||||||
|
## Buchungsanfragedaten merken
|
||||||
|
|
||||||
|
Wenn sie eine Buchungsanfrage tätigen, wird Ihnen angeboten, die
|
||||||
|
Buchunsanfragedaten für die nächste Buchung zu merken um weitere
|
||||||
|
Anfragen zu beschleunigen. Die Speicherung der Buchungsdaten erfolgt
|
||||||
|
dabei nicht auf unserem Server sondern nur in Ihrem Browser, genauer auf
|
||||||
|
Ihrem Endgerät im s.g. LocalStorage. Diese Daten sind also nicht in
|
||||||
|
unserem Besitzt noch habe wir Zugriff darauf. Erste wenn eine weitere
|
||||||
|
Buchunsanfrage, mit den bei Ihnen gespeicherten Daten vorausgefüllt und
|
||||||
|
abgeschickt wird, erhalten wir Zugriff drauf. Es besteht somit keinen
|
||||||
|
Unterschied, ob sie die Daten manuell oder mit dieser Funktion
|
||||||
|
vorausfüllen lassen. Die für diese Funktion in Ihrem Browser
|
||||||
|
gespeicherten Daten umfassen ausschließlich Daten welche sie vorher zum
|
||||||
|
Zwecke einer Buchungsanfrage eingegeben haben. Ob sie aktuell
|
||||||
|
Buchungsdaten gespeichert haben, wir Ihnen als Info-Nachricht in der
|
||||||
|
Buchungsanfragemaske angezeigt. Alle gespeicherten Felder werden in
|
||||||
|
diesem Fall auch gleich im Formular transparent vorausgefüllt. Falls Sie
|
||||||
|
diese Daten löschen möchten, können Sie dies über einen Link in der
|
||||||
|
Info-Nachricht bewerkstelligen.
|
||||||
|
|
||||||
|
## Buchungsanfrage
|
||||||
|
|
||||||
|
Sämtliche Daten, welche im Rahmen einer Bestellabwicklung von den Kunden
|
||||||
|
eingegeben werden, werden gespeichert. Dazu gehören:
|
||||||
|
|
||||||
|
- Start- und Enddatum der Anfrage
|
||||||
|
- Zweck und Ziel der Fahrt (sofern angegeben)
|
||||||
|
- Verein (sofern angegeben)
|
||||||
|
- Name
|
||||||
|
- Adresse
|
||||||
|
- E-Mail-Adresse
|
||||||
|
- Telefonnummer (falls angegeben)
|
||||||
|
|
||||||
|
Jene Daten, welche zur Auftragsabwicklung zwingend notwendig sind,
|
||||||
|
werden an dritte Dienstleister weitergegeben. Sowie die Aufbewahrung
|
||||||
|
Ihrer Daten nicht mehr erforderlich oder gesetzlich geboten ist, werden
|
||||||
|
diese gelöscht.
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
import { readFileSync } from 'fs'
|
|
||||||
import { serialize } from 'next-mdx-remote/serialize'
|
|
||||||
import { MDXRemote } from 'next-mdx-remote'
|
|
||||||
import mdComponents from '../components/mdComponents'
|
|
||||||
|
|
||||||
export default function TermsPage({ source }) {
|
|
||||||
return (
|
|
||||||
<div className="text-gray-700">
|
|
||||||
<MDXRemote {...source} components={{ ...mdComponents }} />
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getStaticProps() {
|
|
||||||
const source = readFileSync('./md/privacy.md', 'utf8')
|
|
||||||
const mdxSource = await serialize(source)
|
|
||||||
return { props: { source: mdxSource } }
|
|
||||||
}
|
|
||||||
109
pages/terms.mdx
Normal file
109
pages/terms.mdx
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
import Mdx from '../components/mdx'
|
||||||
|
|
||||||
|
export default function MDXPage({ children }) {
|
||||||
|
return <Mdx>{children}</Mdx>;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# I. Pflichten des Eigentümers
|
||||||
|
|
||||||
|
## 1. Gebrauchsttauglichkeit des Fahrzeugs
|
||||||
|
|
||||||
|
Der Eigentümer überläßt dem Benutzer ein verkehrsicheres und technisch
|
||||||
|
einwandfreies Fahrzeug nebst Zubehör zum Gebrauch.
|
||||||
|
|
||||||
|
## 2. Versicherung
|
||||||
|
|
||||||
|
Das Fahrzeug ist bei der WGV versichert.
|
||||||
|
|
||||||
|
### 1. Kraffahrt-Haftplichtversicherung (KH)
|
||||||
|
|
||||||
|
EURO 100 Mio. pauschal für Personen-, Sach- und Vermögensschäden, jedoch
|
||||||
|
max. Euro 8 Mio. je geschädigter Person.
|
||||||
|
|
||||||
|
### 2. Schutzbrief (VSV)
|
||||||
|
|
||||||
|
### 3. Kraftfahrt-Vollkaskoversicherung (KV)
|
||||||
|
|
||||||
|
mit Euro 300,- Selbstbeteiligung einschließlich Teilkaskoversicherung mit EUR
|
||||||
|
150,- Selbstbeteiligung.
|
||||||
|
|
||||||
|
## 3. Reparatur
|
||||||
|
|
||||||
|
Wird während der Benutzerzeit eine Reparatur notwendig, um den Betribeb oder
|
||||||
|
die Verkehrssicherheit des Fahrzeugs zu gewährleisten, darf der Benutzer eine
|
||||||
|
Vertragswerkstätte bis zum Kostenbetrag von 100,- EUR ohne weiteres, bei
|
||||||
|
größeren Reparaturen hingegen nur mit Einwilliung des Eigentümers,
|
||||||
|
beauftragen. Die Reparaturkosten trägt der Eigentümer, soweit der Benutzer
|
||||||
|
nicht nach Nr. 3 dieser Bestimmung haftet.
|
||||||
|
|
||||||
|
# II. Pflichten des Benutzers
|
||||||
|
|
||||||
|
## 1. Der Benutzerpreis
|
||||||
|
|
||||||
|
richtet sich nach der Vereinbarung im Überlassungsvertrag.
|
||||||
|
Teibstoff und Motorenöl geht bei über 200 km zu Lasten des Benutzers,
|
||||||
|
bis 200 km zu Lasten des Eigentümers.
|
||||||
|
|
||||||
|
## 2. Fürungsberechtigte
|
||||||
|
|
||||||
|
Das Fahrzeug darf nur vom Benutzer und den im Benutzervertrag angegebenen
|
||||||
|
Fahrer geführt werden, die mindestens 1 Jahr PKW-Fahrpraxis haben müssen.
|
||||||
|
|
||||||
|
## 3. Obhutspflicht
|
||||||
|
|
||||||
|
Der Benutzer hat das Fahrzeug sorgsam zu behandeln und alle für die Benutztung
|
||||||
|
gegebenen Vorschriften und technischen Regeln zu beachten sowie das Fahrzeug
|
||||||
|
ordnungsgemäß zu verschließen.
|
||||||
|
|
||||||
|
## 4. Anzeigepflicht
|
||||||
|
|
||||||
|
Bei Unfällen hat der Benutzer dem Eigentümer sogleich, spätestens bei Rückgabe
|
||||||
|
des Fahrzeugs, über alle Einzelheiten schriftlich unter Vorlage einer Skizze
|
||||||
|
zu unterrichten. Der Unfallbericht muß insbesondere Namen und Anschriften der
|
||||||
|
beteiligten Personsen und etwaiger Zeugen sowie die amtlichen Kennzeichen der
|
||||||
|
beteiligten Fahrzeuge enthalten. Der Benutzer hat nach einem Unfall die Plizei
|
||||||
|
zu verständigen, soweit die zur Aufklärung des Unfalls erforderlichen
|
||||||
|
Feststellungen nicht auf andere Weise, z.B. mit Hilfe von Zeugen, zuverlässig
|
||||||
|
getroffen werden können. Gegnerische Ansprüche dürfen nicht anerkannt werden.
|
||||||
|
Brand oder Entwendungsschäden sowie Wildschäden sind zom Benutzer dem
|
||||||
|
Eigentümer zowie der zustädigen Polizeibehörde unverzüglich anzuzeigen.
|
||||||
|
|
||||||
|
## 5. Fahrzeugrücknahme
|
||||||
|
|
||||||
|
Der Benutzer ist verpflichtet, das Fahrzeug bei Ablauf der Benutzungszeit dem
|
||||||
|
Eigentümer am vereinbarten Ort in ordentlichem und sauberem Zustand
|
||||||
|
zurückzugeben.
|
||||||
|
|
||||||
|
# III. Haftung des Benutzers
|
||||||
|
|
||||||
|
## 1. Allgemeine Haftungsregelungen
|
||||||
|
|
||||||
|
Der Benutzer haftet nach dem allgemeinen Haftungsregeln, wenn er das
|
||||||
|
Fahrzeug beschädigt oder eine sonstige Vertragsverletzung begeht.
|
||||||
|
Insbesondere hat der Benutzer das Fahrzeug in demselben Zustand
|
||||||
|
zurückzugeben, wie er es übernommen hat. Die Haftung des Benutzers
|
||||||
|
erstreckt sich auch auf die Schandesnebenkosten wie:
|
||||||
|
|
||||||
|
a) Sachverstädigerkosten
|
||||||
|
b) Abschleppkosten
|
||||||
|
c) Wertminderung
|
||||||
|
|
||||||
|
Wird das Fahrzeug durch Brand, Explosion oder Wild beschädigt,
|
||||||
|
beschränkt sich die Haftung des Benutzers auf den Selbstbehalt der
|
||||||
|
Vollkaskoversicherung, sofern er die Beschädigung nicht aus grobem
|
||||||
|
Verschulden herbeigeführt oder gegen die Anzeigepflicht (gemäß Nr. II 4)
|
||||||
|
diser Bediungng verstoßen hat. Der Benutzer haftet für Schäden am
|
||||||
|
Fahrzeug und für die Nebenkosten, wenn er den Schaden durch grobes
|
||||||
|
Verschulden herbeigeführt, er Unfallflucht begangen oder der Schaden bei
|
||||||
|
alkohol- oder drogenbedinter Fahruntüchtigkeit entstanden ist. Der
|
||||||
|
Benuzter haftet ferner voll, wenn er gegen die Obligenheiten (gemäß Nr.
|
||||||
|
II 2 oder Nr. II 4) verstoßen hat. Bei der Anmietung haftet der Benutzer
|
||||||
|
für alle durch das Ladegut entstehden Schäden, auch bei
|
||||||
|
Haftungsbeschränkung.
|
||||||
|
|
||||||
|
## 2. Rücktritt
|
||||||
|
|
||||||
|
Tritt der Benutzer kurzfristig vor Antritt der Benutzungstage zurück, kann
|
||||||
|
er eine Ausfallgebühr bezahlen müssen. Sie richtet sich nach den evtl.
|
||||||
|
enstandenen Benutzungsausfallkosten.
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
import { readFileSync } from 'fs'
|
|
||||||
|
|
||||||
import { serialize } from 'next-mdx-remote/serialize'
|
|
||||||
import { MDXRemote } from 'next-mdx-remote'
|
|
||||||
|
|
||||||
import mdComponents from '../components/mdComponents'
|
|
||||||
|
|
||||||
export default function TermsPage({ source }) {
|
|
||||||
return (
|
|
||||||
<div className="text-gray-700">
|
|
||||||
<MDXRemote {...source} components={{ ...mdComponents }} />
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function getStaticProps() {
|
|
||||||
const source = readFileSync('./md/terms.md', 'utf8')
|
|
||||||
const mdxSource = await serialize(source)
|
|
||||||
return { props: { source: mdxSource } }
|
|
||||||
}
|
|
||||||
1083
styles/gfm.css
Normal file
1083
styles/gfm.css
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user