Skip to content

Commit e66f263

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 68c44d3 + 8ec2bec commit e66f263

File tree

3 files changed

+48
-89
lines changed

3 files changed

+48
-89
lines changed

gatsby-config.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require('dotenv').config({
66

77
const config: GatsbyConfig = {
88
siteMetadata: {
9-
siteUrl: `https://barbara-mauz.at/`
9+
siteUrl: `https://limosen.at/`
1010
},
1111
// More easily incorporate content into your pages through automatic TypeScript type generation and better GraphQL IntelliSense.
1212
// If you use VSCode you can also use the GraphQL plugin
@@ -22,15 +22,15 @@ const config: GatsbyConfig = {
2222
options: {
2323
pylonUrl: 'https://services.netsnek.com/jaen/graphql',
2424
remote: {
25-
repository: 'netsnek/nadine-hauswirth'
25+
repository: 'netsnek/limosen.at'
2626
},
2727
zitadel: {
28-
organizationId: '334831568918943355',
28+
organizationId: '339284789469124181',
2929
clientId: '268283382465631862@cms',
3030
authority: 'https://accounts.netsnek.com',
3131
redirectUri:
3232
process.env.NODE_ENV === 'production'
33-
? 'https://nadine-hauswirth.com'
33+
? 'https://new.limosen.at'
3434
: 'https://psychic-dollop-6vwv6x9vq9jf464g-8000.app.github.dev',
3535
projectIds: [
3636
'2268283277977065078'
@@ -42,7 +42,7 @@ const config: GatsbyConfig = {
4242
// dsn: 'https://37ffbc7589f79cfab5936ce5fca4f310@sentry.cronit.io/10'
4343
// },
4444
googleAnalytics: {
45-
trackingIds: ['G-4B98VFJE2T']
45+
trackingIds: ['G-G6Z65QP3Y3']
4646
}
4747
}
4848
},

src/pages/imprint.tsx

Lines changed: 17 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,27 @@
11
import { Field, PageConfig, PageProps } from 'jaen';
2-
import { Box } from '@chakra-ui/react';
2+
import { Box, Container } from '@chakra-ui/react';
33
import { graphql } from 'gatsby';
44
import * as React from 'react';
55

6-
const ImprintPage: React.FC<PageProps> = () => {
7-
return (
8-
<Box as="main">
9-
<Field.Editor
10-
name="imprint"
11-
defaultValue={`# Impressum
12-
13-
**Medieninhaber, Diensteanbieter & Betreiber der Website (ECG, UGB, GewO, MedienG §25)**
14-
**LIMOSEN KG**
15-
Rechtsform: Kommanditgesellschaft
16-
Sitz: Mannswörth, polit. Gemeinde Schwechat (Niederösterreich)
17-
Geschäftsanschrift (Hauptadresse): Mannswörther Straße 59–61/12/5, 2320 Schwechat, Österreich
18-
Weitere Anschrift (Wien): Margaretengürtel 42/3/16, 1050 Wien, Österreich
19-
20-
**Kontakt**
21-
Telefon: +43 660 876 06 06
22-
E-Mail: office@limosen.at
23-
Facebook: exclusiveaustriantransfer
24-
Instagram: @exclusive_austrian_transfer
25-
Twitter/X: @exclusive_a_t
26-
27-
**Unternehmensdaten**
28-
Firmenbuchnummer: FN 447754 m
29-
Firmenbuchgericht: Landesgericht Korneuburg
30-
UID-Nummer: ATU70712428
31-
Geschäftszweig: Taxi, Mietwagen & Limousinenservice
32-
33-
**Vertretungs- & Verantwortungsangaben**
34-
Geschäftsinhaber: Aykut CETINKAYA
35-
Gewerberechtlicher Geschäftsführer: Ertan SEN
36-
37-
**Zuständige Aufsichts-/Gewerbebehörde (GewO)**
38-
Bezirkshauptmannschaft Bruck an der Leitha – Außenstelle Schwechat, Hauptplatz 4, 2320 Schwechat
39-
40-
**Berufsrechtliche Vorschriften**
41-
Gewerbeordnung (GewO) in der geltenden Fassung sowie einschlägige landesrechtliche Vorschriften.
42-
Zugriff auf Rechtsvorschriften: ris.bka.gv.at
43-
44-
---
45-
46-
## Offenlegung nach § 25 Mediengesetz (Blattlinie)
47-
Diese Website informiert über das Unternehmen LIMOSEN KG sowie über angebotene Dienstleistungen (Taxi-, Mietwagen- und Limousinenservice), Preise, Buchungsmöglichkeiten und Kontaktinformationen. Ziel ist die Förderung des Absatzes eigener Dienstleistungen.
48-
49-
---
6+
import { useTOCContext } from '../contexts/toc';
7+
import TableOfContent from '../components/navigation/TableOfContent';
8+
import MdxEditor from '../components/mdx-editor/MdxEditor';
509

51-
## Online-Streitbeilegung / Verbraucherinformation
52-
Plattform der EU-Kommission zur Online-Streitbeilegung (OS-Plattform): https://ec.europa.eu/consumers/odr
53-
Wir sind weder verpflichtet noch bereit, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.
54-
55-
---
56-
57-
## Haftungsausschluss
58-
Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für Richtigkeit, Vollständigkeit und Aktualität der Inhalte. Verbindlich sind ausschließlich individuell vereinbarte Leistungsinhalte und Preise.
59-
Für Inhalte externer Links sind ausschließlich deren Betreiber verantwortlich.
60-
61-
---
62-
63-
## Urheberrecht
64-
Texte, Bilder, Grafiken und sonstige Inhalte dieser Website sind – soweit nicht anders gekennzeichnet – urheberrechtlich geschützt. Jede Nutzung über die gesetzlich zulässigen Fälle hinaus bedarf unserer vorherigen schriftlichen Zustimmung.
65-
66-
---
67-
68-
## Datenschutz
69-
Informationen zur Verarbeitung personenbezogener Daten finden Sie in unserer **Datenschutzerklärung**.
70-
71-
---
72-
73-
## Gender-Hinweis
74-
Aus Gründen der besseren Lesbarkeit wird auf dieser Website teilweise auf eine geschlechtergerechte Sprachform verzichtet. Sämtliche Personenbezeichnungen gelten gleichermaßen für alle Geschlechter.
10+
const ImprintPage: React.FC<PageProps> = () => {
11+
// This can be memoized since it doesn't change and switching pages re-renders most of the app anyway.
12+
const MemoizedToc = React.memo(TableOfContent, () => false);
7513

76-
---
14+
const toc = useTOCContext();
7715

78-
*© LIMOSEN KG – alle Rechte vorbehalten.*
79-
`}
80-
/>
16+
return (
17+
<Box as="main">
18+
<Container
19+
maxW="6xl"
20+
py={{ base: '6', md: '8', lg: '12' }}
21+
px={{ base: '4', md: '8', lg: '12' }}
22+
>
23+
<MdxEditor onMdast={toc.setValue} />;
24+
</Container>
8125
</Box>
8226
);
8327
};

src/services/contact.tsx

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ export interface ContactModalDrawerProps {
3131
}
3232

3333
export const ContactModalProvider: React.FC<ContactModalDrawerProps> = ({ children }) => {
34-
// Use the current location from @reach/router.
3534
const location = useLocation()
3635
const { isCalled, paramValue } = useQueryRouter(location, "contact")
3736

@@ -41,20 +40,16 @@ export const ContactModalProvider: React.FC<ContactModalDrawerProps> = ({ childr
4140
const toast = useToast()
4241
const authentication = useAuth()
4342

44-
// Helper: always get a full URL (incl. protocol, domain, path, search, hash) and guard SSR
4543
const getCurrentUrl = React.useCallback(() => {
4644
if (typeof window !== "undefined" && window.location) {
47-
// Prefer the full href; this includes search and hash even on root "/"
4845
return window.location.href
4946
}
50-
// SSR-safe fallback using @reach/router location
5147
const pathname = location?.pathname ?? "/"
5248
const search = location?.search ?? ""
5349
const hash = location?.hash ?? ""
5450
return `${pathname}${search}${hash}`
5551
}, [location])
5652

57-
// When the query parameter is present, open the modal AND set meta.url
5853
React.useEffect(() => {
5954
if (isCalled) {
6055
setMeta(prev => ({ ...prev, url: getCurrentUrl() }))
@@ -65,15 +60,14 @@ export const ContactModalProvider: React.FC<ContactModalDrawerProps> = ({ childr
6560
const onOpen: ContactModalContextProps["onOpen"] = (args) => {
6661
const updatedMeta = {
6762
...meta,
68-
url: getCurrentUrl(), // ensure we always store a URL when opening
63+
url: getCurrentUrl(),
6964
...args?.meta,
7065
}
7166
setMeta(updatedMeta)
7267
setIsOpen(true)
7368
}
7469

7570
const onClose = () => {
76-
// Remove the "contact" query parameter from the URL without reloading the page.
7771
if (typeof window !== "undefined") {
7872
const url = new URL(window.location.href)
7973
url.searchParams.delete("contact")
@@ -83,22 +77,42 @@ export const ContactModalProvider: React.FC<ContactModalDrawerProps> = ({ childr
8377
}
8478

8579
const onSubmit = async (data: ContactFormValues): Promise<void> => {
86-
// Never empty: prefer meta.url, else current url, else "unknown"
8780
const invokedOnUrl = meta?.url ?? getCurrentUrl() ?? "unknown"
8881

8982
const { errors } = await sendTemplateMail(
90-
"9c919b15-02f9-46ef-8fe8-db0b04abfc40", // replace with your actual template ID
83+
"cc744364-b930-4d3c-918b-d9e98637607b",
9184
{
9285
envelope: {
9386
replyTo: data.email,
9487
},
9588
values: {
89+
// Kontakt
9690
firstName: data.firstName,
9791
lastName: data.lastName,
9892
email: data.email,
9993
phone: data.phone || "",
94+
flightNumber: data.flightNumber || "",
10095
message: data.message,
101-
invokedOnUrl, // <-- full href incl. search + hash; never empty
96+
97+
// Fahrt-Details
98+
rideCategory: data.rideCategory || "",
99+
rideType: data.rideType || "",
100+
date: data.date || "",
101+
time: data.time || "",
102+
pickupAddress: data.pickupAddress || "",
103+
destinationAddress: data.destinationAddress || "",
104+
passengers: data.passengers ?? "",
105+
luggage: data.luggage ?? "",
106+
childSeats: data.childSeats ?? "",
107+
extraTime: data.extraTime ?? "",
108+
109+
// Fahrzeug/Preis
110+
carClass: data.carClass || "",
111+
carTitle: data.carTitle || "",
112+
price: data.price ?? "",
113+
114+
// Meta
115+
invokedOnUrl,
102116
},
103117
}
104118
)
@@ -114,7 +128,7 @@ export const ContactModalProvider: React.FC<ContactModalDrawerProps> = ({ childr
114128
} else {
115129
toast({
116130
title: "Erfolg",
117-
description: "Ihre Nachricht wurde erfolgreich versendet.",
131+
description: "Ihre Reservierungsanfrage wurde erfolgreich versendet.",
118132
status: "success",
119133
duration: 5000,
120134
isClosable: true,
@@ -131,6 +145,7 @@ export const ContactModalProvider: React.FC<ContactModalDrawerProps> = ({ childr
131145
firstName: authentication.user.profile?.given_name,
132146
lastName: authentication.user.profile?.family_name,
133147
email: authentication.user.profile?.email,
148+
phone: authentication.user.profile?.phone_number,
134149
}
135150
}, [authentication.user])
136151

0 commit comments

Comments
 (0)