fix: Redirect /board/:slug URLs to clean /:slug/ URLs

- Old links like jeffemmett.com/board/ccc now redirect to /ccc/
- Both /board/:slug and /board/:slug/ redirect to clean URLs
- Boards served directly at /:slug/ without /board prefix

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-01-02 21:45:21 +01:00
parent 7debeb598f
commit 5db25f3ac1
1 changed files with 3 additions and 7 deletions

View File

@ -112,11 +112,11 @@ const OptionalAuthRoute = ({ children }: { children: React.ReactNode }) => {
}; };
/** /**
* Component to redirect board URLs without trailing slashes * Component to redirect old /board/:slug URLs to clean /:slug/ URLs
*/ */
const RedirectBoardSlug = () => { const RedirectBoardSlug = () => {
const { slug } = useParams<{ slug: string }>(); const { slug } = useParams<{ slug: string }>();
return <Navigate to={`/board/${slug}/`} replace />; return <Navigate to={`/${slug}/`} replace />;
}; };
@ -181,11 +181,7 @@ const AppWithProviders = () => {
<Contact /> <Contact />
</OptionalAuthRoute> </OptionalAuthRoute>
} /> } />
<Route path="/board/:slug/" element={ <Route path="/board/:slug/" element={<RedirectBoardSlug />} />
<OptionalAuthRoute>
<Board />
</OptionalAuthRoute>
} />
<Route path="/inbox/" element={ <Route path="/inbox/" element={
<OptionalAuthRoute> <OptionalAuthRoute>
<Inbox /> <Inbox />