diff --git a/apps/nextjs/src/app/[locale]/boards/(content)/_edit-actions.tsx b/apps/nextjs/src/app/[locale]/boards/(content)/_edit-actions.tsx
index 29dbc8ac0..8b074d913 100644
--- a/apps/nextjs/src/app/[locale]/boards/(content)/_edit-actions.tsx
+++ b/apps/nextjs/src/app/[locale]/boards/(content)/_edit-actions.tsx
@@ -21,17 +21,9 @@ export default function BoardEditActions() {
return ;
}
-const AddMenu = () => {
- const { data: session } = useSession();
+export const InitialBoardAddAction = () => {
const board = useRequiredBoard();
const { openModal: openItemSelectModal } = useModalAction(ItemSelectModal);
- const { openModal: openAppSelectModal } = useModalAction(AppSelectModal);
- const { openModal: openIntegrationSelectModal } = useModalAction(IntegrationSelectModal);
- const { addContainer } = useContainerActions();
- const { createItem } = useItemActions();
- const tBoard = useI18n("board");
- const tIntegration = useI18n("integration");
- const tContainer = useI18n("section.container");
const pathname = usePathname();
const router = useRouter();
const searchParams = useSearchParams();
@@ -48,6 +40,21 @@ const AddMenu = () => {
router.replace(query ? `${pathname}?${query}` : pathname, { scroll: false });
}, [board.id, openItemSelectModal, pathname, router, searchParams]);
+ return null;
+};
+
+const AddMenu = () => {
+ const { data: session } = useSession();
+ const board = useRequiredBoard();
+ const { openModal: openItemSelectModal } = useModalAction(ItemSelectModal);
+ const { openModal: openAppSelectModal } = useModalAction(AppSelectModal);
+ const { openModal: openIntegrationSelectModal } = useModalAction(IntegrationSelectModal);
+ const { addContainer } = useContainerActions();
+ const { createItem } = useItemActions();
+ const tBoard = useI18n("board");
+ const tIntegration = useI18n("integration");
+ const tContainer = useI18n("section.container");
+
const handleSelectItem = () => {
openItemSelectModal({ boardId: board.id });
};
diff --git a/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx b/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx
index 41552ff34..c09102006 100644
--- a/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx
+++ b/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx
@@ -38,16 +38,26 @@ const loadBoardEditorAsync = async () =>
import("~/components/board/sections/container/container-menu"),
]);
const BoardEditActions = dynamic(loadEditActionsAsync, { ssr: false });
+const InitialBoardAddAction = dynamic(
+ async () => {
+ const editActions = await loadEditActionsAsync();
+ return editActions.InitialBoardAddAction;
+ },
+ { ssr: false },
+);
export const BoardContentEditAction = ({ demoReadOnly }: { demoReadOnly: boolean }) => {
const [isEditMode] = useEditMode();
const board = useRequiredBoard();
+ const searchParams = useSearchParams();
const { hasChangeAccess } = useBoardPermissions(board);
+ const shouldOpenInitialAdd = searchParams.get("add") === "true";
if (!hasChangeAccess) return null;
return (
<>
+ {shouldOpenInitialAdd && }
{isEditMode && }
>
diff --git a/packages/forms-collection/src/board-create/board-create-form.tsx b/packages/forms-collection/src/board-create/board-create-form.tsx
index e96a13597..828db7b23 100644
--- a/packages/forms-collection/src/board-create/board-create-form.tsx
+++ b/packages/forms-collection/src/board-create/board-create-form.tsx
@@ -49,8 +49,7 @@ export const BoardCreateForm = ({ onCancel }: BoardCreateFormProps) => {
message: tBoard("action.create.notification.success.message", { name: values.name }),
});
const name = encodeURIComponent(result.name);
- const layoutId = encodeURIComponent(result.layoutId);
- router.push(`/boards/${name}?layout=${layoutId}&edit=true&add=true`);
+ router.push(`/boards/${name}?add=true`);
},
onError() {
showErrorNotification({