mirror of
https://github.com/tomru/pfadi-bussle.git
synced 2026-03-03 06:27:11 +01:00
58 lines
1.9 KiB
TypeScript
58 lines
1.9 KiB
TypeScript
import React, { useEffect, useState } from 'react'
|
|
import Link from 'next/link'
|
|
import Layout from '../../../components/layout'
|
|
import { Booking } from '../../../db/booking'
|
|
import { loadBookingData, storeBookingData } from '../../../helpers/storage'
|
|
import { getServerSideBooking } from '../../../lib/getServerSideProps'
|
|
|
|
export const getServerSideProps = getServerSideBooking
|
|
|
|
export default function ShowBookingStored({ booking }: { booking: Booking }) {
|
|
const [storedBookingData, setStoredBookingData] = useState(null)
|
|
const [bookingDataStored, setBookingDataStored] = useState(false)
|
|
|
|
useEffect(() => setStoredBookingData(loadBookingData()), [])
|
|
|
|
const store = () => {
|
|
storeBookingData(booking)
|
|
setBookingDataStored(true)
|
|
}
|
|
|
|
return (
|
|
<Layout>
|
|
<h3 className="thanks mb-3 mt-6 text-lg">
|
|
Vielen Dank für die Buchungsanfrage
|
|
</h3>
|
|
<p className="mb-6">
|
|
Nach Prüfung bestätigen wir die Buchung zeitnah per E-Mail.
|
|
</p>
|
|
<p>
|
|
Den{' '}
|
|
<Link href={`/bookings/${booking.uuid}`}>
|
|
<a className="link underline">Link</a>
|
|
</Link>{' '}
|
|
zur Buchung schicken wir Dir auch per E-Mail. Dort kann die Buchung auch
|
|
jederzeit storniert werden.
|
|
</p>
|
|
{!storedBookingData && !bookingDataStored && (
|
|
<div className="mt-6">
|
|
<p>
|
|
Sollen deine Buchungsdaten für die nächste Buchung in{' '}
|
|
<strong>deinem Browser</strong> gespeichert werden?
|
|
</p>
|
|
<button onClick={store} className="mt-3 ml-0 btn btn-blue">
|
|
Ja, bitte speichern
|
|
</button>
|
|
</div>
|
|
)}
|
|
{bookingDataStored === true && (
|
|
<div className="mt-6">
|
|
<p className="info-message">
|
|
Ok, deine Buchungsdaten wurden für die nächste Buchung gespeichert.
|
|
</p>
|
|
</div>
|
|
)}
|
|
</Layout>
|
|
)
|
|
}
|