fix: keep board creation changes persistent

This commit is contained in:
ajnart committed 2026-08-28 07:57:00 +02:00
1 parent 1c089dd906
commit e31dffb42d
4 files changed
+13 -30

No files matched your search

@@ -21,9 +21,17 @@ export default function BoardEditActions() {
return <AddMenu />;
}
export const InitialBoardAddAction = () => {
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 pathname = usePathname();
const router = useRouter();
const searchParams = useSearchParams();
@@ -40,21 +48,6 @@ export const InitialBoardAddAction = () => {
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 });
};
@@ -38,26 +38,16 @@ 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 && <InitialBoardAddAction />}
{isEditMode && <BoardEditActions />}
<EditModeMenu demoReadOnly={demoReadOnly} />
</>