feat: create first project modal

This commit is contained in:
2025-11-07 10:13:32 +04:00
parent 1a1f584b81
commit b0eab6cce7
8 changed files with 156 additions and 40 deletions

View File

@ -10,16 +10,22 @@ import makeContext from "@/lib/contextFactory/contextFactory";
import { ModuleNames } from "@/modules/modules";
type ProjectsContextState = {
projects: ProjectSchema[];
isLoading: boolean;
selectedProject: ProjectSchema | null;
setSelectedProjectId: (id: number | null) => void;
refetchProjects: () => void;
projects: ProjectSchema[];
projectsCrud: ProjectsCrud;
modulesSet: Set<ModuleNames>;
};
const useProjectsContextState = (): ProjectsContextState => {
const { projects, refetch: refetchProjects, queryKey } = useProjectsList();
const {
projects,
refetch: refetchProjects,
queryKey,
isLoading,
} = useProjectsList();
const isMobile = useIsMobile();
const pathname = usePathname();
const router = useRouter();
@ -34,10 +40,7 @@ const useProjectsContextState = (): ProjectsContextState => {
);
const modulesSet = useMemo(
() =>
new Set(
selectedProject?.modules.map(m => m.key as ModuleNames)
),
() => new Set(selectedProject?.modules.map(m => m.key as ModuleNames)),
[selectedProject]
);
@ -54,6 +57,7 @@ const useProjectsContextState = (): ProjectsContextState => {
return {
projects,
isLoading,
selectedProject,
refetchProjects,
setSelectedProjectId: handleSetSelectedProjectId,