Spaces:
Running
Running
File size: 4,780 Bytes
5301c48 |
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
'use client'
import { useState } from 'react'
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import TemplateManager from './components/TemplateManager'
import DatasetViewer from './components/DatasetViewer'
import type { DatasetPageClientProps } from './types'
export default function DatasetPageClient({
projectId,
initialProject
}: DatasetPageClientProps) {
// Basic state management
const [dataset] = useState({
id: projectId,
name: initialProject.name || '',
description: initialProject.description || '',
template_name: initialProject.template_name || '',
})
// Commented out Data Factory related state for now
// const [numRecords, setNumRecords] = useState('500')
// const [selectedModel, setSelectedModel] = useState('gpt-4o-mini-2024-07-18')
// const [prompt, setPrompt] = useState('')
// const [generateJobStatus, setGenerateJobStatus] = useState<GenerateJobStatus>('NOT_STARTED')
// const [isGenerating, setIsGenerating] = useState(false)
return (
<div className="max-w-7xl mx-auto px-4 py-8">
<h1 className="text-3xl font-bold mb-8">{dataset.name}</h1>
<Tabs defaultValue="generate" className="mb-8">
<TabsList className="bg-pink-100 h-12">
<TabsTrigger value="generate" className="data-[state=active]:bg-pink-600 data-[state=active]:text-white h-10 px-16">
Data Factory
</TabsTrigger>
<TabsTrigger value="template" className="data-[state=active]:bg-pink-600 data-[state=active]:text-white h-10 px-16">
Data Template
</TabsTrigger>
<TabsTrigger value="view" className="data-[state=active]:bg-pink-600 data-[state=active]:text-white h-10 px-16">
View Dataset
</TabsTrigger>
</TabsList>
{/* <TabsContent value="generate">
<Tabs defaultValue={factories[0].id} className="mb-8">
<TabsList className="bg-pink-50">
{factories.map(factory => (
<TabsTrigger
key={factory.id}
value={factory.id}
className="data-[state=active]:bg-pink-600 data-[state=active]:text-white"
>
{factory.name}
</TabsTrigger>
))}
</TabsList>
{factories.map(factory => (
<TabsContent key={factory.id} value={factory.id}>
<h2 className="text-2xl font-bold mb-8">{dataset.name} - {dataset.description}</h2>
<DataFactory
projectId={projectId}
numRecords={numRecords}
setNumRecords={setNumRecords}
selectedModel={selectedModel}
setSelectedModel={setSelectedModel}
prompt={prompt}
setPrompt={setPrompt}
generateJobStatus={generateJobStatus}
setGenerateJobStatus={setGenerateJobStatus}
isGenerating={isGenerating}
setIsGenerating={setIsGenerating}
/>
</TabsContent>
))}
</Tabs>
</TabsContent> */}
<TabsContent value="template">
{dataset.template_name ? (
<TemplateManager projectId={projectId} templateName={dataset.template_name} />
) : (
<div className="text-center py-12">
<p className="text-gray-500">No template associated with this project</p>
</div>
)}
</TabsContent>
<TabsContent value="view">
<Tabs defaultValue="template-datasets" className="mb-8">
<TabsList className="bg-pink-50">
<TabsTrigger
value="factory-datasets"
className="data-[state=active]:bg-pink-600 data-[state=active]:text-white"
>
Data Factory Datasets
</TabsTrigger>
<TabsTrigger
value="template-datasets"
className="data-[state=active]:bg-pink-600 data-[state=active]:text-white"
>
Data Template Datasets
</TabsTrigger>
</TabsList>
<TabsContent value="factory-datasets">
<h2 className="text-2xl font-bold mb-6">Data Factory Datasets</h2>
<DatasetViewer projectId={projectId} datasetType="factory" />
</TabsContent>
<TabsContent value="template-datasets">
<h2 className="text-2xl font-bold mb-6">Data Template Datasets</h2>
<DatasetViewer projectId={projectId} datasetType="template" />
</TabsContent>
</Tabs>
</TabsContent>
</Tabs>
</div>
)
} |