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