From 9d8c1100445701fc4c5075d632cd0aad3270374c Mon Sep 17 00:00:00 2001 From: Nathan Chapman Date: Thu, 7 Mar 2024 11:36:12 -0600 Subject: [PATCH] Fix for dynamic routes with app router SSR --- .prettierrc.json | 8 +- app/[...all]/page.tsx | 10 +- app/layout.tsx | 12 +- components/AppShell.tsx | 22 +-- components/pages/Feed.tsx | 46 ++++-- components/pages/ListDetail.tsx | 22 ++- components/pages/Lists.tsx | 13 +- components/pages/Notifications.tsx | 21 ++- components/pages/Settings.tsx | 7 +- components/pages/Tabs.tsx | 30 ++-- components/ui/Card.tsx | 12 +- mock/index.ts | 57 ++++--- next.config.js | 9 +- package-lock.json | 244 ++++++++++++++--------------- package.json | 31 ++-- public/img/leo.jpg | Bin 0 -> 26015 bytes public/img/nathan.jpg | Bin 0 -> 25462 bytes store/actions.ts | 12 +- 18 files changed, 327 insertions(+), 229 deletions(-) create mode 100644 public/img/leo.jpg create mode 100644 public/img/nathan.jpg diff --git a/.prettierrc.json b/.prettierrc.json index f6b149f..7cac555 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,5 +1,5 @@ { - "singleQuote": true, - "arrowParens": "avoid", - "printWidth": 100 -} \ No newline at end of file + "singleQuote": true, + "arrowParens": "avoid", + "trailingComma": "all" +} diff --git a/app/[...all]/page.tsx b/app/[...all]/page.tsx index 044dbe8..defd15b 100644 --- a/app/[...all]/page.tsx +++ b/app/[...all]/page.tsx @@ -1,11 +1,17 @@ import dynamic from 'next/dynamic'; +import { lists } from '../../mock'; const App = dynamic(() => import('../../components/AppShell'), { ssr: false, }); -export function generateStaticParams() { - return [{ all: ['tabs', 'feed'] }]; +export async function generateStaticParams() { + return [ + { all: ['feed'] }, + { all: ['lists'] }, + ...lists.map(list => ({ all: ['lists', list.id] })), + { all: ['settings'] }, + ]; } export default function Page() { diff --git a/app/layout.tsx b/app/layout.tsx index ef93351..37398e2 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -40,8 +40,16 @@ export default function RootLayout({ return ( {children} -