feat: split bills for one deal
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { FC } from "react";
|
||||
import { FC, useEffect, useState } from "react";
|
||||
import { CardService, CardSummary } from "../../../../client";
|
||||
import styles from "./CardSummaryItem.module.css";
|
||||
|
||||
@@ -14,6 +14,7 @@ import { useProjectsContext } from "../../../../contexts/ProjectsContext.tsx";
|
||||
import CardTags from "../CardTags/CardTags.tsx";
|
||||
import CardAttributesInSummaryItem from "../CardAttributesInSummaryItem/CardAttributesInSummaryItem.tsx";
|
||||
import { ModuleNames } from "../../../../modules/modules.tsx";
|
||||
import isDealPaid from "../../../../pages/CardsPage/utils/isDealPaid.ts";
|
||||
|
||||
type Props = {
|
||||
cardSummary: CardSummary;
|
||||
@@ -25,6 +26,7 @@ const CardSummaryItem: FC<Props> = ({ cardSummary, color }) => {
|
||||
const { selectedProject } = useProjectsContext();
|
||||
const { setSelectedCard } = useCardPageContext();
|
||||
const { onDelete, onComplete, onDeleteFromGroup } = useCardSummaryState();
|
||||
const [isPaid, setIsPaid] = useState<boolean>(false);
|
||||
|
||||
const isServicesAndProductsIncluded = isModuleInProject(ModuleNames.SERVICES_AND_PRODUCTS, selectedProject);
|
||||
const isClientIncluded = isModuleInProject(ModuleNames.CLIENTS, selectedProject);
|
||||
@@ -34,13 +36,14 @@ const CardSummaryItem: FC<Props> = ({ cardSummary, color }) => {
|
||||
setSelectedCard(card);
|
||||
});
|
||||
};
|
||||
const isPaid = () => {
|
||||
return cardSummary.billRequest?.paid || cardSummary.group?.billRequest?.paid;
|
||||
};
|
||||
const isLockedInsideGroup = () => {
|
||||
return cardSummary.group && !cardSummary.group.billRequest;
|
||||
return cardSummary.group && !cardSummary.group.billRequests;
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
setIsPaid(isDealPaid(cardSummary));
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div
|
||||
onContextMenu={showContextMenu([
|
||||
@@ -147,7 +150,7 @@ const CardSummaryItem: FC<Props> = ({ cardSummary, color }) => {
|
||||
</Popover>
|
||||
)}
|
||||
</CopyButton>
|
||||
{isPaid() && (
|
||||
{isPaid && (
|
||||
<Tooltip label={"Оплачен"}>
|
||||
<ThemeIcon variant={"transparent"}>
|
||||
<IconCheck />
|
||||
|
||||
Reference in New Issue
Block a user