Skip to content

Commit

Permalink
Revert "Merge branch 'uat' into dev"
Browse files Browse the repository at this point in the history
This reverts commit 0f07cb7, reversing
changes made to 96b0806.
  • Loading branch information
martinheppner committed Sep 6, 2024
1 parent 0f07cb7 commit c05793f
Show file tree
Hide file tree
Showing 6 changed files with 429 additions and 431 deletions.
174 changes: 76 additions & 98 deletions src/App.js
Original file line number Diff line number Diff line change
@@ -1,119 +1,97 @@
import CircularProgress from "@mui/material/CircularProgress";
import ThemeProvider from "@mui/material/styles/ThemeProvider";
import * as React from "react";
import { lazy, Suspense } from "react";
import { Navigate, Route, Routes } from "react-router-dom";
import "./App.css";
import ModalRoot from "./components/ModalRoot";
import ThemeProvider from "@mui/material/styles/ThemeProvider";
import { theme } from "./theme";
import Start from "./views/Start/Start";
import ModalRoot from "./components/ModalRoot";
import { Route, Routes, Navigate } from "react-router-dom";
import { lazy, Suspense, useCallback } from "react";
import CircularProgress from "@mui/material/CircularProgress";
// import Start from "./views/Start/Start";
// import DetailReworked from "./views/Main/DetailReworked";
// import Search from "./components/Search/Search";
import i18next from "i18next";
import { getTopLevelDomain } from "./utils/globals";
import "/src/config.js";
import '/src/config.js';

const Main = lazy(() => import("./views/Main/Main"));
const Impressum = lazy(() => import("./views/Pages/Impressum"));
const Privacy = lazy(() => import("./views/Pages/Privacy"));
const DetailReworked = lazy(() => import("./views/Main/DetailReworked"));
const Search = lazy(() => import("./components/Search/Search"));
// const Start = lazy(() => import("./views/Start/Start"));
const DetailReworked = lazy(() => import("./views/Main/DetailReworked"));
const Search = lazy(() => import("./components/Search/Search"));
const Start = lazy(() => import("./views/Start/Start"));




function App() {
//check if first visit and change code to domain language
if (!localStorage.getItem("visited")) {
let domain = getTopLevelDomain();
//check if first visit and change code to domain language
if(!localStorage.getItem('visited')) {

let domain = getTopLevelDomain();

//switch to domain language
switch (domain) {
case 'si':
i18next.changeLanguage('sl');
break;
case 'fr':
i18next.changeLanguage('fr');
break;
case 'it':
i18next.changeLanguage('it');
break;
default:
i18next.changeLanguage('de');
break;
}

localStorage.setItem('visited',true);
}

// Matomo tracking
var _mtm = window._mtm = window._mtm || [];
React.useEffect(() => {
_mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src='https://stats.bahnzumberg.at/js/container_ANAXmMKf.js'; s.parentNode.insertBefore(g,s);
let language = i18next.resolvedLanguage;
_mtm.push({'language': language});
});

//switch to domain language
switch (domain) {
case "si":
i18next.changeLanguage("sl");
break;
case "fr":
i18next.changeLanguage("fr");
break;
case "it":
i18next.changeLanguage("it");
break;
default:
i18next.changeLanguage("de");
break;
}

localStorage.setItem("visited", true);
}

// Matomo tracking
var _mtm = (window._mtm = window._mtm || []);
React.useEffect(() => {
_mtm.push({
"mtm.startTime": new Date().getTime(),
event: "mtm.Start",
});
var d = document,
g = d.createElement("script"),
s = d.getElementsByTagName("script")[0];
g.async = true;
g.src = "https://stats.bahnzumberg.at/js/container_ANAXmMKf.js";
s.parentNode.insertBefore(g, s);
let language = i18next.resolvedLanguage;
_mtm.push({ language: language });
}, []);
return (
<>
<ThemeProvider theme={theme}>
<div className="App" style={{ minHeight: '100vh', display: 'flex', flexDirection: 'column' }}>
<Suspense
fallback={
<div style={{ height: "100%", width: "100%", padding: "20px" }}>
<CircularProgress />
</div>
}
>
<Routes>
<Route path="/" element={<Start />} />
<Route path="/total" element={<Start />} />
<Route path="/search" element={<Main />} />
<Route path="/tour/:idOne/:cityOne" element={<DetailReworked />} />
<Route path="/tour" element={<DetailReworked />} />
<Route path="/provider/:provider" element={<DetailReworked />} />
<Route path="/imprint" element={<Impressum />} />
<Route path="/privacy" element={<Privacy />} />
<Route path="/:city" element={<Main />} />
<Route path="/searchPhrases" element={<Search />} />

return (
<>
<ThemeProvider theme={theme}>
<div
className="App"
style={{
minHeight: "100vh",
display: "flex",
flexDirection: "column",
}}
>
<Suspense
fallback={
<div
style={{
height: "100%",
width: "100%",
padding: "20px",
}}
>
<CircularProgress />
</div>
}
>
<Routes>
<Route path="/" element={<Start />} />
<Route path="/total" element={<Start />} />
<Route path="/search" element={<Main />} />
<Route
path="/tour/:idOne/:cityOne"
element={<DetailReworked />}
/>
<Route path="/tour" element={<DetailReworked />} />
<Route
path="/provider/:provider"
element={<DetailReworked />}
/>
<Route path="/imprint" element={<Impressum />} />
<Route path="/privacy" element={<Privacy />} />
<Route path="/:city" element={<Main />} />
<Route path="/searchPhrases" element={<Search />} />
<Route path="*" element={<Navigate to="/" replace />} />
</Routes>
</Suspense>
</div>
<ModalRoot />
</ThemeProvider>
</>

<Route
path="*"
element={<Navigate to="/" replace />}
/>
</Routes>
</Suspense>
</div>
<ModalRoot />
</ThemeProvider>
</>
);
);
}

export default App;
127 changes: 63 additions & 64 deletions src/components/Itinerary/ItineraryCalendar.js
Original file line number Diff line number Diff line change
@@ -1,88 +1,87 @@
import React from "react";
import moment from "moment";
import "moment/locale/de";
import "moment/locale/fr";
import "moment/locale/it";
import "moment/locale/sl";
import React from "react";
import { useTranslation } from "react-i18next";
import * as _ from "lodash";

const formatDate = (date, locale) => {
const formats = {
fr: "dddd D MMMM YYYY",
de: "dddd, D. MMMM YYYY",
sl: "dddd, D. MMMM YYYY",
it: "dddd D MMMM YYYY",
en: "dddd, D MMMM YYYY",
};
moment.locale(locale);
return date.format(formats[locale]);
const formats = {
fr: "dddd D MMMM YYYY",
de: "dddd, D. MMMM YYYY",
sl: "dddd, D. MMMM YYYY",
it: "dddd D MMMM YYYY",
en: "dddd, D MMMM YYYY",
};
moment.locale(locale);
return date.format(formats[locale]);
};

const dayOfWeek = (date, locale) => {
moment.locale(locale);
return moment(date).format("dd");
moment.locale(locale);
return moment(date).format("dd");
};

const isWe = (date) => {
const d = date.isoWeekday();
return d === 6 || d === 7;
const d = date.isoWeekday();
return d === 6 || d === 7;
};

const isSelectedDay = (date, selectedDay) => {
return date.isSame(selectedDay, "day");
return date.isSame(selectedDay, "day");
};

const ItineraryCalendar = ({ connectionData, dateIndex, updateConnIndex }) => {
const { t, i18n } = useTranslation();
let selectedDay = dateIndex;
let days = [];
const ItineraryCalendar = ({
connectionData,
dateIndex,
updateConnIndex
}) => {
const { t, i18n } = useTranslation();
let selectedDay = dateIndex;
let days = [];

if (!connectionData || (!dateIndex && dateIndex !== 0)) {
return <></>;
} else {
days = connectionData?.map((con) => moment(con.date));
}
if (!connectionData || (!dateIndex && dateIndex !== 0)) {
return <></>;
} else {
days = _.map(connectionData, (con) => moment(con.date));
}

return (
<div className="tour-detail-itinerary-calendar">
<div className="tour-detail-itinerary-calendar-selected-day">
{formatDate(
moment(connectionData[selectedDay].date),
i18n.language
)}
</div>
<div className="tour-detail-itinerary-calendar-grid">
{days.map((dd) => (
<div
key={"1" + dd.date()}
className={`${
isWe(dd)
? "tour-detail-itinerary-calendar-week-end"
: "tour-detail-itinerary-calendar-week-day"
}`}
>
{dayOfWeek(dd, i18n.language)}
</div>
))}
{days.map((dd, index) => (
<div
key={"2" + dd.date()}
className={`${
isSelectedDay(
dd,
moment(connectionData[selectedDay].date)
)
? "tour-detail-itinerary-calendar-grid-selected"
: "tour-detail-itinerary-calendar-date"
}`}
onClick={() => updateConnIndex(index)}
>
{dd.date()}
</div>
))}
</div>
</div>
);
return (
<div className="tour-detail-itinerary-calendar">
<div className="tour-detail-itinerary-calendar-selected-day">
{formatDate(moment(connectionData[selectedDay].date), i18n.language)}
</div>
<div className="tour-detail-itinerary-calendar-grid">
{days.map((dd) => (
<div
key={"1" + dd.date()}
className={`${
isWe(dd)
? "tour-detail-itinerary-calendar-week-end"
: "tour-detail-itinerary-calendar-week-day"
}`}
>
{dayOfWeek(dd, i18n.language)}
</div>
))}
{days.map((dd, index) => (
<div
key={"2" + dd.date()}
className={`${
isSelectedDay(dd, moment(connectionData[selectedDay].date))
? "tour-detail-itinerary-calendar-grid-selected"
: "tour-detail-itinerary-calendar-date"
}`}
onClick={() => updateConnIndex(index)}
>
{dd.date()}
</div>
))}
</div>
</div>
);
};

export default ItineraryCalendar;
Loading

0 comments on commit c05793f

Please sign in to comment.