Skip to content

Commit

Permalink
fix: several tanstack problems (#1007)
Browse files Browse the repository at this point in the history
* fix: faster hydrate

* fix: v2 journeyFind

* fix: routing inputs on fav

* fix: horizontal scoll for wagon layouts
  • Loading branch information
marudor authored Jan 18, 2025
1 parent 75b7ded commit eefbbc0
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 20 deletions.
8 changes: 6 additions & 2 deletions src/client/Common/Components/VehicleMap/VehicleMapDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ const LinkSpan = styled('span')(({ theme }) => ({
color: theme.vars.palette.common.blue,
}));

const NonSrollableDialogContent = styled(DialogContent)`
overflow-x: hidden;
`;

export const VehicleMapDialog: FCC<Props> = ({
vehicleLayout,
fahrzeug,
Expand All @@ -40,12 +44,12 @@ export const VehicleMapDialog: FCC<Props> = ({
Layout von Wagen {fahrzeug.identificationNumber} (Fahrzeug{' '}
{fahrzeug.uic})
</DialogTitle>
<DialogContent>
<NonSrollableDialogContent>
<VehicleMap
layout={vehicleLayout}
orientation={fahrzeug.orientation!}
/>
</DialogContent>
</NonSrollableDialogContent>
</Dialog>
</>
);
Expand Down
15 changes: 14 additions & 1 deletion src/client/Routing/provider/RoutingConfigProvider.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useExpertCookies } from '@/client/Common/hooks/useExpertCookies';
import constate from '@/constate';
import type { MinimalStopPlace } from '@/types/stopPlace';
import { useCallback, useMemo, useState } from 'react';
import { useCallback, useEffect, useMemo, useState } from 'react';
import type { PropsWithChildren, SyntheticEvent } from 'react';

export interface RoutingSettings {
Expand Down Expand Up @@ -42,6 +42,19 @@ const useRoutingConfigInternal = ({

const [routingConfig, setRoutingConfig] = useExpertCookies(routingConfigKeys);

useEffect(() => {
setStart(initialStart);
}, [initialStart]);
useEffect(() => {
setDestination(initialDestination);
}, [initialDestination]);
useEffect(() => {
setVia(initialVia || []);
}, [initialVia]);
useEffect(() => {
initialDate || new Date();
}, [initialDate]);

const updateSetting = useCallback(
<K extends keyof RoutingSettings>(key: K, value: RoutingSettings[K]) => {
setRoutingConfig(key, value);
Expand Down
5 changes: 3 additions & 2 deletions src/client/index.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { createRouter } from '@/router';
import { createRouter, hydrateRouter } from '@/router';
import createEmotionCache from '@emotion/cache';
import { CacheProvider } from '@emotion/react';
import { StartClient } from '@tanstack/start';
import { hydrateRoot } from 'react-dom/client';
import { HeadProvider } from 'react-head';

const cache = createEmotionCache({ prepend: true, key: 'css' });
const router = createRouter();
hydrateRouter();

async function render() {
const router = createRouter();
await router.load();

hydrateRoot(
Expand Down
13 changes: 2 additions & 11 deletions src/external/risJourneysV2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { CacheDatabase, getCache } from '@/server/cache';
import type { CommonProductInfo, JourneyFindResponse } from '@/types/journey';
import type { RouteStop } from '@/types/routing';
import axios from 'axios';
import { format, isBefore, isEqual, isSameDay, subDays } from 'date-fns';
import { format, isBefore, isSameDay, subDays } from 'date-fns';

const risJourneysV2Configuration = new RisJourneysConfiguration({
basePath: process.env.RIS_JOURNEYS_V2_URL,
Expand Down Expand Up @@ -182,14 +182,6 @@ function findAdministrationFilter(
return matches;
}

function findDateTimeFilter(matches: JourneyFindResult[], dateTime: Date) {
const filtered = matches.filter((m) =>
isEqual(m.journeyRelation.startTime, dateTime),
);

return filtered.length ? filtered : matches;
}

function findCategoryFilter(matches: JourneyFindResult[], category?: string) {
if (category) {
const filtered = matches.filter(
Expand All @@ -216,8 +208,7 @@ export async function findJourney(
baseResult,
administration,
);
const dateTimeFiltered = findDateTimeFilter(administrationFiltered, date);
const categoryFiltered = findCategoryFilter(dateTimeFiltered, category);
const categoryFiltered = findCategoryFilter(administrationFiltered, category);

return categoryFiltered;
}
Expand Down
8 changes: 4 additions & 4 deletions src/router.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,17 +67,17 @@ const queryClientOptions: QueryClientConfig = {

const queryClient = new QueryClient(queryClientOptions);

if (!import.meta.env.SSR) {
window.addEventListener('load', () => {
export const hydrateRouter = () => {
if (!import.meta.env.SSR) {
try {
if (window.__TSR__) {
const queryClientData = parse(window.__TSR__.dehydrated).payload
.queryClientState;
hydrate(queryClient, queryClientData);
}
} catch {}
});
}
}
};

const trpcUtils = createTRPCQueryUtils({
client: trpcClient,
Expand Down

0 comments on commit eefbbc0

Please sign in to comment.