refactor: crud objects in contexts
This commit is contained in:
@ -13,7 +13,7 @@ type Props = {
|
||||
};
|
||||
|
||||
const Board: FC<Props> = ({ board }) => {
|
||||
const { selectedBoard, onUpdateBoard, onDeleteBoard } = useBoardsContext();
|
||||
const { selectedBoard, boardsCrud } = useBoardsContext();
|
||||
const isMobile = useIsMobile();
|
||||
const [isHovered, setIsHovered] = useState(false);
|
||||
|
||||
@ -30,7 +30,9 @@ const Board: FC<Props> = ({ board }) => {
|
||||
onMouseLeave={() => setIsHovered(false)}>
|
||||
<InPlaceInput
|
||||
defaultValue={board.name}
|
||||
onComplete={value => onUpdateBoard(board.id, { name: value })}
|
||||
onComplete={value =>
|
||||
boardsCrud.onUpdate(board.id, { name: value })
|
||||
}
|
||||
inputStyles={{
|
||||
input: {
|
||||
height: 24,
|
||||
@ -49,7 +51,7 @@ const Board: FC<Props> = ({ board }) => {
|
||||
isHovered={
|
||||
selectedBoard?.id === board.id || isHovered
|
||||
}
|
||||
onDeleteBoard={onDeleteBoard}
|
||||
onDeleteBoard={boardsCrud.onDelete}
|
||||
board={board}
|
||||
startEditing={startEditing}
|
||||
/>
|
||||
|
||||
@ -11,13 +11,13 @@ import { BoardSchema } from "@/lib/client";
|
||||
import styles from "./Boards.module.css";
|
||||
|
||||
const Boards = () => {
|
||||
const { boards, setSelectedBoardId, onUpdateBoard } = useBoardsContext();
|
||||
const { boards, setSelectedBoardId, boardsCrud } = useBoardsContext();
|
||||
const isMobile = useIsMobile();
|
||||
|
||||
const renderBoard = (board: BoardSchema) => <Board board={board} />;
|
||||
|
||||
const onDragEnd = (itemId: number, newLexorank: string) => {
|
||||
onUpdateBoard(itemId, { lexorank: newLexorank });
|
||||
boardsCrud.onUpdate(itemId, { lexorank: newLexorank });
|
||||
};
|
||||
|
||||
const selectBoard = (board: BoardSchema) => {
|
||||
|
||||
@ -5,13 +5,13 @@ import InPlaceInput from "@/components/ui/InPlaceInput/InPlaceInput";
|
||||
import styles from "./CreateBoardButton.module.css";
|
||||
|
||||
const CreateBoardButton = () => {
|
||||
const { onCreateBoard } = useBoardsContext();
|
||||
const { boardsCrud } = useBoardsContext();
|
||||
|
||||
return (
|
||||
<Flex style={{ borderBottom: "2px solid gray" }}>
|
||||
<InPlaceInput
|
||||
placeholder={"Название доски"}
|
||||
onComplete={onCreateBoard}
|
||||
onComplete={boardsCrud.onCreate}
|
||||
getChildren={startEditing => (
|
||||
<Box
|
||||
onClick={startEditing}
|
||||
|
||||
@ -7,7 +7,7 @@ import useIsMobile from "@/hooks/useIsMobile";
|
||||
import styles from "./CreateStatusButton.module.css";
|
||||
|
||||
const CreateStatusButton = () => {
|
||||
const { onCreateStatus } = useStatusesContext();
|
||||
const { statusesCrud } = useStatusesContext();
|
||||
const isMobile = useIsMobile();
|
||||
|
||||
return (
|
||||
@ -15,7 +15,7 @@ const CreateStatusButton = () => {
|
||||
<Box className={styles["inner-container"]}>
|
||||
<InPlaceInput
|
||||
placeholder={"Название колонки"}
|
||||
onComplete={onCreateStatus}
|
||||
onComplete={statusesCrud.onCreate}
|
||||
getChildren={startEditing => (
|
||||
<Center
|
||||
p={"sm"}
|
||||
|
||||
@ -13,14 +13,13 @@ type Props = {
|
||||
};
|
||||
|
||||
const StatusColumnHeader: FC<Props> = ({ status, isDragging }) => {
|
||||
const { onUpdateStatus, onDeleteStatus, refetchStatuses } =
|
||||
useStatusesContext();
|
||||
const { statusesCrud, refetchStatuses } = useStatusesContext();
|
||||
const { selectedBoard } = useBoardsContext();
|
||||
|
||||
const handleSave = (value: string) => {
|
||||
const newValue = value.trim();
|
||||
if (newValue && newValue !== status.name) {
|
||||
onUpdateStatus(status.id, { name: newValue });
|
||||
statusesCrud.onUpdate(status.id, { name: newValue });
|
||||
}
|
||||
};
|
||||
|
||||
@ -55,7 +54,7 @@ const StatusColumnHeader: FC<Props> = ({ status, isDragging }) => {
|
||||
status={status}
|
||||
handleEdit={startEditing}
|
||||
refetchStatuses={refetchStatuses}
|
||||
onDeleteStatus={onDeleteStatus}
|
||||
onDeleteStatus={statusesCrud.onDelete}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user