diff options
Diffstat (limited to 'lib/bidding/selection/bidding-selection-detail-content.tsx')
| -rw-r--r-- | lib/bidding/selection/bidding-selection-detail-content.tsx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/bidding/selection/bidding-selection-detail-content.tsx b/lib/bidding/selection/bidding-selection-detail-content.tsx new file mode 100644 index 00000000..45d5d402 --- /dev/null +++ b/lib/bidding/selection/bidding-selection-detail-content.tsx @@ -0,0 +1,41 @@ +'use client' + +import * as React from 'react' +import { Bidding } from '@/db/schema' +import { BiddingInfoCard } from './bidding-info-card' +import { SelectionResultForm } from './selection-result-form' +import { VendorSelectionTable } from './vendor-selection-table' + +interface BiddingSelectionDetailContentProps { + biddingId: number + bidding: Bidding +} + +export function BiddingSelectionDetailContent({ + biddingId, + bidding +}: BiddingSelectionDetailContentProps) { + const [refreshKey, setRefreshKey] = React.useState(0) + + const handleRefresh = React.useCallback(() => { + setRefreshKey(prev => prev + 1) + }, []) + + return ( + <div className="space-y-6"> + {/* 입찰정보 카드 */} + <BiddingInfoCard bidding={bidding} /> + + {/* 선정결과 폼 */} + <SelectionResultForm biddingId={biddingId} onSuccess={handleRefresh} /> + + {/* 업체선정 테이블 */} + <VendorSelectionTable + key={refreshKey} + biddingId={biddingId} + bidding={bidding} + onRefresh={handleRefresh} + /> + </div> + ) +} |
