From 7c98b65401778a61a4af4206612fa62dd95ba9a5 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Wed, 1 May 2024 21:57:24 +0200 Subject: [PATCH] fix: server data is loaded on settings page #363 (#414) --- .../src/app/[locale]/boards/(content)/_creator.tsx | 1 + apps/nextjs/src/app/[locale]/boards/[name]/layout.tsx | 1 + apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx | 7 ++++++- packages/widgets/src/server/runner.tsx | 9 ++++++++- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx b/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx index 1d543de05..761e4ffc4 100644 --- a/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx +++ b/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx @@ -26,6 +26,7 @@ export const createBoardContentPage = < layout: createBoardLayout({ headerActions: , getInitialBoard, + isBoardContentPage: true, }), page: () => { return ; diff --git a/apps/nextjs/src/app/[locale]/boards/[name]/layout.tsx b/apps/nextjs/src/app/[locale]/boards/[name]/layout.tsx index 2fc15aebf..108e7f222 100644 --- a/apps/nextjs/src/app/[locale]/boards/[name]/layout.tsx +++ b/apps/nextjs/src/app/[locale]/boards/[name]/layout.tsx @@ -8,4 +8,5 @@ export default createBoardLayout<{ locale: string; name: string }>({ async getInitialBoard({ name }) { return await api.board.getBoardByName({ name }); }, + isBoardContentPage: false, }); diff --git a/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx b/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx index dbb946a68..30dcd1e30 100644 --- a/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx +++ b/apps/nextjs/src/app/[locale]/boards/_layout-creator.tsx @@ -17,11 +17,13 @@ import { BoardMantineProvider } from "./(content)/_theme"; interface CreateBoardLayoutProps { headerActions: JSX.Element; getInitialBoard: (params: TParams) => Promise; + isBoardContentPage: boolean; } export const createBoardLayout = ({ headerActions, getInitialBoard, + isBoardContentPage, }: CreateBoardLayoutProps) => { const Layout = async ({ params, @@ -39,7 +41,10 @@ export const createBoardLayout = ({ }); return ( - + diff --git a/packages/widgets/src/server/runner.tsx b/packages/widgets/src/server/runner.tsx index fa4a7d451..d3792574b 100644 --- a/packages/widgets/src/server/runner.tsx +++ b/packages/widgets/src/server/runner.tsx @@ -10,10 +10,17 @@ import { GlobalItemServerDataProvider } from "./provider"; type Board = RouterOutputs["board"]["getDefaultBoard"]; type Props = PropsWithChildren<{ + shouldRun: boolean; board: Board; }>; -export const GlobalItemServerDataRunner = ({ board, children }: Props) => { +export const GlobalItemServerDataRunner = ({ + board, + shouldRun, + children, +}: Props) => { + if (!shouldRun) return children; + const allItems = board.sections.flatMap((section) => section.items); return (