Leon4gr45's picture
Upload folder using huggingface_hub
eeb9404 verified
Raw
History Blame Contribute Delete
3.97 kB
'use client';
import React, { useState } from 'react';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { SchemaViewer } from './schema-viewer';
import { SqlEditor } from './sql-editor';
import { FunctionsManager } from './functions-manager';
import { ServerFunctionsManager } from './server-functions-manager';
import { SecretsManager } from './secrets-manager';
import { ScheduledFunctionsManager } from './scheduled-functions-manager';
import { LogsViewer } from './logs-viewer';
import { Database, Code2, Terminal, ScrollText, Wrench, Key, Clock } from 'lucide-react';
interface DatabaseManagerProps {
deploymentId: string;
workspaceId?: string;
}
export function DatabaseManager({ deploymentId, workspaceId }: DatabaseManagerProps) {
const [activeTab, setActiveTab] = useState('schema');
return (
<div className="h-full flex flex-col">
<Tabs value={activeTab} onValueChange={setActiveTab} className="flex-1 flex flex-col">
<TabsList className="grid w-full grid-cols-7">
<TabsTrigger value="schema" className="flex items-center gap-1.5">
<Database className="h-3.5 w-3.5" />
Schema
</TabsTrigger>
<TabsTrigger value="query" className="flex items-center gap-1.5">
<Terminal className="h-3.5 w-3.5" />
SQL
</TabsTrigger>
<TabsTrigger value="functions" className="flex items-center gap-1.5">
<Code2 className="h-3.5 w-3.5" />
Functions
</TabsTrigger>
<TabsTrigger value="helpers" className="flex items-center gap-1.5">
<Wrench className="h-3.5 w-3.5" />
Helpers
</TabsTrigger>
<TabsTrigger value="secrets" className="flex items-center gap-1.5">
<Key className="h-3.5 w-3.5" />
Secrets
</TabsTrigger>
<TabsTrigger value="schedules" className="flex items-center gap-1.5">
<Clock className="h-3.5 w-3.5" />
Schedules
</TabsTrigger>
<TabsTrigger value="logs" className="flex items-center gap-1.5">
<ScrollText className="h-3.5 w-3.5" />
Logs
</TabsTrigger>
</TabsList>
<div className="flex-1 overflow-hidden mt-4">
<TabsContent value="schema" className="h-full m-0">
<SchemaViewer deploymentId={deploymentId} workspaceId={workspaceId} />
</TabsContent>
<TabsContent value="query" className="h-full m-0">
<SqlEditor deploymentId={deploymentId} workspaceId={workspaceId} />
</TabsContent>
<TabsContent value="functions" className="h-full m-0">
<FunctionsManager deploymentId={deploymentId} workspaceId={workspaceId} />
</TabsContent>
<TabsContent value="helpers" className="h-full m-0">
<ServerFunctionsManager deploymentId={deploymentId} workspaceId={workspaceId} />
</TabsContent>
<TabsContent value="secrets" className="h-full m-0">
<SecretsManager deploymentId={deploymentId} workspaceId={workspaceId} />
</TabsContent>
<TabsContent value="schedules" className="h-full m-0">
<ScheduledFunctionsManager deploymentId={deploymentId} workspaceId={workspaceId} />
</TabsContent>
<TabsContent value="logs" className="h-full m-0">
<LogsViewer deploymentId={deploymentId} workspaceId={workspaceId} />
</TabsContent>
</div>
</Tabs>
</div>
);
}
export { SchemaViewer } from './schema-viewer';
export { SqlEditor } from './sql-editor';
export { FunctionsManager } from './functions-manager';
export { ServerFunctionsManager } from './server-functions-manager';
export { SecretsManager } from './secrets-manager';
export { ScheduledFunctionsManager } from './scheduled-functions-manager';
export { LogsViewer } from './logs-viewer';