'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'
import { BiddingItemTable } from './bidding-item-table'

interface BiddingSelectionDetailContentProps {
  biddingId: number
  bidding: Bidding
}

export function BiddingSelectionDetailContent({
  biddingId,
  bidding
}: BiddingSelectionDetailContentProps) {
  const [refreshKey, setRefreshKey] = React.useState(0)

  // 입찰평가중 상태가 아니면 읽기 전용
  const isReadOnly = bidding.status !== 'evaluation_of_bidding'

  const handleRefresh = React.useCallback(() => {
    setRefreshKey(prev => prev + 1)
  }, [])

  return (
    <div className="space-y-6">
      {/* 입찰정보 카드 */}
      <BiddingInfoCard bidding={bidding} />

      {/* 선정결과 폼 */}
      <SelectionResultForm biddingId={biddingId} onSuccess={handleRefresh} readOnly={isReadOnly} />

      {/* 업체선정 테이블 */}
      <VendorSelectionTable
        key={refreshKey}
        biddingId={biddingId}
        bidding={bidding}
        onRefresh={handleRefresh}
        readOnly={isReadOnly}
      />

      {/* 응찰품목 테이블 */}
      <BiddingItemTable biddingId={biddingId} />
      
    </div>
  )
}
