diff --git a/src/components/Header.tsx b/src/components/Header.tsx index df72142..ff3ce0f 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -84,7 +84,7 @@ export default function Header() { Upload {isSoulMode ? null : Import} - + Search {me ? Stars : null} @@ -138,7 +138,7 @@ export default function Header() { )} - + Search diff --git a/src/routes/search.tsx b/src/routes/search.tsx index ba20899..9d882ca 100644 --- a/src/routes/search.tsx +++ b/src/routes/search.tsx @@ -1,4 +1,5 @@ import { createFileRoute, redirect } from '@tanstack/react-router' +import { getSiteMode } from '../lib/site' export const Route = createFileRoute('/search')({ validateSearch: (search) => ({ @@ -6,13 +7,37 @@ export const Route = createFileRoute('/search')({ highlighted: search.highlighted === '1' || search.highlighted === 'true' ? true : undefined, }), beforeLoad: ({ search }) => { - throw redirect({ - to: '/skills', - search: { - q: search.q || undefined, - highlighted: search.highlighted || undefined, - }, - replace: true, - }) + const mode = getSiteMode() + switch (mode) { + case 'souls': + throw redirect({ + to: '/', + search: { + q: search.q || undefined, + highlighted: undefined, + search: search.q ? undefined : true, + }, + replace: true, + }) + case 'skills': + throw redirect({ + to: '/skills', + search: { + q: search.q || undefined, + highlighted: search.highlighted || undefined, + }, + replace: true, + }) + default: + throw redirect({ + to: '/', + search: { + q: search.q || undefined, + highlighted: undefined, + search: search.q ? undefined : true, + }, + replace: true, + }) + } }, })