From 4520822f1f6c609f34445532f3a1e828d7834d09 Mon Sep 17 00:00:00 2001 From: Lim Chee Aun <cheeaun@gmail.com> Date: Mon, 6 Feb 2023 20:17:07 +0800 Subject: [PATCH] Use nested routes --- src/app.jsx | 6 +++++- src/pages/public.jsx | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/app.jsx b/src/app.jsx index 20e2237e..20033223 100644 --- a/src/app.jsx +++ b/src/app.jsx @@ -185,7 +185,11 @@ function App() { {isLoggedIn && <Route path="/l/:id" element={<Lists />} />} <Route path="/:instance?/t/:hashtag" element={<Hashtags />} /> <Route path="/:instance?/a/:id" element={<AccountStatuses />} /> - <Route path="/:instance?/p/l?" element={<Public />} /> + <Route path="/:instance?/p"> + <Route index element={<Public />} /> + <Route path="l" element={<Public local />} /> + </Route> + {/* <Route path="/:instance?/p/l?" element={<Public />} /> */} {/* <Route path="/:anything" element={<NotFound />} /> */} </Routes> <Routes> diff --git a/src/pages/public.jsx b/src/pages/public.jsx index 09e350b8..70339411 100644 --- a/src/pages/public.jsx +++ b/src/pages/public.jsx @@ -1,6 +1,6 @@ // EXPERIMENTAL: This is a work in progress and may not work as expected. import { useRef } from 'preact/hooks'; -import { useMatch, useParams } from 'react-router-dom'; +import { useParams } from 'react-router-dom'; import Timeline from '../components/timeline'; import { api } from '../utils/api'; @@ -8,8 +8,8 @@ import useTitle from '../utils/useTitle'; const LIMIT = 20; -function Public() { - const isLocal = !!useMatch('/:instance/p/l'); +function Public({ local }) { + const isLocal = !!local; const params = useParams(); const { masto, instance } = api({ instance: params.instance }); const title = `${instance} (${isLocal ? 'local' : 'federated'})`;