refactor(modals): split directory modal into separate create board modal

Separate DirectoryModal (for home view placeholders) and CreateBoardModal (for board view create button) into distinct components with their own stores, allowing independent styling and cleaner separation of concerns.
This commit is contained in:
plebeius
2025-11-06 22:20:46 +01:00
parent f44b9aefbb
commit 79dcc73556
10 changed files with 262 additions and 49 deletions
@@ -0,0 +1,25 @@
import { create } from 'zustand';
interface CreateBoardModalState {
showModal: boolean;
openCreateBoardModal: () => void;
closeCreateBoardModal: () => void;
}
const useCreateBoardModalStore = create<CreateBoardModalState>((set) => ({
showModal: false,
openCreateBoardModal: () => {
set({
showModal: true,
});
},
closeCreateBoardModal: () => {
set({
showModal: false,
});
},
}));
export default useCreateBoardModalStore;
+2 -7
View File
@@ -1,22 +1,17 @@
import { create } from 'zustand';
type ModalContext = 'placeholder' | 'create-button';
interface DirectoryModalState {
showModal: boolean;
modalContext: ModalContext;
openDirectoryModal: (context?: ModalContext) => void;
openDirectoryModal: () => void;
closeDirectoryModal: () => void;
}
const useDirectoryModalStore = create<DirectoryModalState>((set) => ({
showModal: false,
modalContext: 'placeholder',
openDirectoryModal: (context: ModalContext = 'placeholder') => {
openDirectoryModal: () => {
set({
showModal: true,
modalContext: context,
});
},