feat: no project selecting for clients
This commit is contained in:
@@ -28,7 +28,7 @@ const CardsPageHeader = ({
|
|||||||
}: Props) => {
|
}: Props) => {
|
||||||
const { openProjectsEditor } = useProjectsEditorContext();
|
const { openProjectsEditor } = useProjectsEditorContext();
|
||||||
const { selectedProject, setSelectedProject, projects, refetchProjects } = useProjectsContext();
|
const { selectedProject, setSelectedProject, projects, refetchProjects } = useProjectsContext();
|
||||||
const userRole = useSelector((state: RootState) => state.auth.role);
|
const { role: userRole, isDealsViewer } = useSelector((state: RootState) => state.auth);
|
||||||
const isAdmin = userRole === "admin";
|
const isAdmin = userRole === "admin";
|
||||||
|
|
||||||
const handleCreateClick = () => {
|
const handleCreateClick = () => {
|
||||||
@@ -66,12 +66,14 @@ const CardsPageHeader = ({
|
|||||||
</ActionIcon>
|
</ActionIcon>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
<ObjectSelect
|
{!isDealsViewer && (
|
||||||
placeholder={"Выберите проект"}
|
<ObjectSelect
|
||||||
data={projects}
|
placeholder={"Выберите проект"}
|
||||||
value={selectedProject}
|
data={projects}
|
||||||
onChange={setSelectedProject}
|
value={selectedProject}
|
||||||
/>
|
onChange={setSelectedProject}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,11 +1,22 @@
|
|||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { BoardSchema, BoardService } from "../../../client";
|
import { BoardSchema, BoardService } from "../../../client";
|
||||||
import { useProjectsContext } from "../../../contexts/ProjectsContext.tsx";
|
import { useProjectsContext } from "../../../contexts/ProjectsContext.tsx";
|
||||||
|
import { useSelector } from "react-redux";
|
||||||
|
import { RootState } from "../../../redux/store.ts";
|
||||||
|
|
||||||
|
|
||||||
const useBoards = () => {
|
const useBoards = () => {
|
||||||
const { selectedProject } = useProjectsContext();
|
const { selectedProject } = useProjectsContext();
|
||||||
const [boards, setBoards] = useState<BoardSchema[]>([]);
|
const [boards, setBoards] = useState<BoardSchema[]>([]);
|
||||||
|
const { isDealsViewer } = useSelector((state: RootState) => state.auth);
|
||||||
|
|
||||||
|
const filterBoards = (boards: BoardSchema[]): BoardSchema[] => {
|
||||||
|
if (isDealsViewer) {
|
||||||
|
const SALES_DEPARTMENT_FF = 5;
|
||||||
|
return boards.filter(board => board.id !== SALES_DEPARTMENT_FF);
|
||||||
|
}
|
||||||
|
return boards;
|
||||||
|
};
|
||||||
|
|
||||||
const refetchBoards = () => {
|
const refetchBoards = () => {
|
||||||
if (!selectedProject) return;
|
if (!selectedProject) return;
|
||||||
@@ -14,7 +25,7 @@ const useBoards = () => {
|
|||||||
projectId: selectedProject.id,
|
projectId: selectedProject.id,
|
||||||
})
|
})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
setBoards(data.boards);
|
setBoards(filterBoards(data.boards));
|
||||||
})
|
})
|
||||||
.catch(e => console.log(e));
|
.catch(e => console.log(e));
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user