summaryrefslogtreecommitdiff
path: root/lib/bidding/vendor/partners-bidding-toolbar-actions.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding/vendor/partners-bidding-toolbar-actions.tsx')
-rw-r--r--lib/bidding/vendor/partners-bidding-toolbar-actions.tsx29
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/bidding/vendor/partners-bidding-toolbar-actions.tsx b/lib/bidding/vendor/partners-bidding-toolbar-actions.tsx
index c45568bd..324e21d1 100644
--- a/lib/bidding/vendor/partners-bidding-toolbar-actions.tsx
+++ b/lib/bidding/vendor/partners-bidding-toolbar-actions.tsx
@@ -2,19 +2,21 @@
import * as React from "react"
import { type Table } from "@tanstack/react-table"
-import { Users } from "lucide-react"
+import { Users, CheckCircle, XCircle } from "lucide-react"
import { Button } from "@/components/ui/button"
import { PartnersBiddingListItem } from '../detail/service'
interface PartnersBiddingToolbarActionsProps {
table: Table<PartnersBiddingListItem>
+ companyId: number
onRefresh: () => void
setRowAction?: (action: { type: string; row: { original: PartnersBiddingListItem } }) => void
}
export function PartnersBiddingToolbarActions({
table,
+ companyId,
onRefresh,
setRowAction
}: PartnersBiddingToolbarActionsProps) {
@@ -29,6 +31,11 @@ export function PartnersBiddingToolbarActions({
selectedBidding.invitationStatus === 'submitted'
)
+ // 참여 의사 결정 버튼 활성화 조건 (sent 상태이고 아직 참여의사를 결정하지 않은 경우)
+ const canDecideParticipation = selectedBidding &&
+ selectedBidding.invitationStatus === 'sent' &&
+ selectedBidding.isPreQuoteSelected === null
+
const handleAttendanceClick = () => {
if (selectedBidding && setRowAction) {
setRowAction({
@@ -38,11 +45,31 @@ export function PartnersBiddingToolbarActions({
}
}
+ const handleParticipationClick = () => {
+ if (selectedBidding && setRowAction) {
+ setRowAction({
+ type: 'participation',
+ row: { original: selectedBidding }
+ })
+ }
+ }
+
return (
<div className="flex items-center gap-2">
<Button
variant="outline"
size="sm"
+ onClick={handleParticipationClick}
+ disabled={!canDecideParticipation}
+ className="flex items-center gap-2"
+ >
+ <CheckCircle className="w-4 h-4" />
+ 참여 의사 결정
+ </Button>
+
+ <Button
+ variant="outline"
+ size="sm"
onClick={handleAttendanceClick}
disabled={!canManageAttendance}
className="flex items-center gap-2"