summaryrefslogtreecommitdiff
path: root/lib/bidding/pre-quote/table/bidding-pre-quote-content.tsx
blob: 91b80bd38fd4b8a4c18cacd67014635ab80e1f51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
'use client'

import * as React from 'react'
import { Bidding } from '@/db/schema'
import { QuotationDetails } from '@/lib/bidding/detail/service'
import { getBiddingCompanies } from '../service'

import { BiddingPreQuoteVendorTableContent } from './bidding-pre-quote-vendor-table'

interface BiddingPreQuoteContentProps {
  bidding: Bidding
  quotationDetails: QuotationDetails | null
  biddingCompanies: any[]
  prItems: any[]
}

export function BiddingPreQuoteContent({
  bidding,
  quotationDetails,
  biddingCompanies: initialBiddingCompanies,
  prItems
}: BiddingPreQuoteContentProps) {
  const [biddingCompanies, setBiddingCompanies] = React.useState(initialBiddingCompanies)
  const [refreshTrigger, setRefreshTrigger] = React.useState(0)

  const handleRefresh = React.useCallback(async () => {
    try {
      const result = await getBiddingCompanies(bidding.id)
      if (result.success && result.data) {
        setBiddingCompanies(result.data)
      }
      setRefreshTrigger(prev => prev + 1)
    } catch (error) {
      console.error('Failed to refresh bidding companies:', error)
    }
  }, [bidding.id])

  return (
    <div className="space-y-6">
      <BiddingPreQuoteVendorTableContent
        biddingId={bidding.id}
        bidding={bidding}
        biddingCompanies={biddingCompanies}
        onRefresh={handleRefresh}
        onOpenItemsDialog={() => {}}
        onOpenTargetPriceDialog={() => {}}
        onOpenSelectionReasonDialog={() => {}}
      />
    </div>
  )
}