diff --git a/frontend/src/components/SessionDetail/__snapshots__/SessionHeader.test.tsx.snap b/frontend/src/components/SessionDetail/__snapshots__/SessionHeader.test.tsx.snap
index 83c99aa5..99c4b699 100644
--- a/frontend/src/components/SessionDetail/__snapshots__/SessionHeader.test.tsx.snap
+++ b/frontend/src/components/SessionDetail/__snapshots__/SessionHeader.test.tsx.snap
@@ -6,6 +6,7 @@ exports[` > renders a session header 1`] = `
class="_header_92353c"
>
> renders a warning when there are unverified
You have 2 unverified email addresses.
- isForwardPagination(search)
- ? { first: search.first, after: search.after }
- : { last: search.last, before: search.before },
+ loaderDeps: ({ search }): Pagination => paginationSchema.parse(search),
async loader({ context, deps: pagination, abortController: { signal } }) {
const result = await context.client.query(QUERY, pagination, {
diff --git a/frontend/src/routes/_account.sessions.index.tsx b/frontend/src/routes/_account.sessions.index.tsx
index 190dffb0..5579aa9d 100644
--- a/frontend/src/routes/_account.sessions.index.tsx
+++ b/frontend/src/routes/_account.sessions.index.tsx
@@ -23,12 +23,7 @@ import CompatSession from "../components/CompatSession";
import OAuth2Session from "../components/OAuth2Session";
import BrowserSessionsOverview from "../components/UserSessionsOverview/BrowserSessionsOverview";
import { graphql } from "../gql";
-import {
- Pagination,
- isForwardPagination,
- paginationSchema,
- usePages,
-} from "../pagination";
+import { Pagination, paginationSchema, usePages } from "../pagination";
const PAGE_SIZE = 6;
@@ -95,10 +90,7 @@ export const Route = createFileRoute("/_account/sessions/")({
// We paginate backwards, so we need to validate the `last` parameter by default
validateSearch: paginationSchema.catch({ last: PAGE_SIZE }),
- loaderDeps: ({ search }): Pagination =>
- isForwardPagination(search)
- ? { first: search.first, after: search.after }
- : { last: search.last, before: search.before },
+ loaderDeps: ({ search }): Pagination => paginationSchema.parse(search),
async loader({ context, deps: pagination, abortController: { signal } }) {
const [overview, list] = await Promise.all([
diff --git a/frontend/src/test-utils/router.tsx b/frontend/src/test-utils/router.tsx
index 005684a0..3fff6ff2 100644
--- a/frontend/src/test-utils/router.tsx
+++ b/frontend/src/test-utils/router.tsx
@@ -36,4 +36,7 @@ beforeAll(async () => await routerReady);
export const DummyRouter: React.FC = ({
children,
-}) => children} />;
+}) => (
+ /** @ts-expect-error: The router we pass doesn't match the "real" router, which is fine for tests */
+ children} />
+);