"use client"
import {
Database,
Check,
ChevronLeft,
FolderOpen,
Server,
} from "lucide-react"
import {cn} from "@/lib/utils"
import {ProjectWithDatabasesAndBackups as ProjectWith} from "@/db/schema/06_project";
import {DatabaseWith} from "@/db/schema/07_database";
import {ScrollArea} from "@/components/ui/scroll-area";
import {truncateWords} from "@/utils/text";
type ViewState = "projects" | "databases"
interface TargetPanelProps {
projects: ProjectWith[]
selectedProject: ProjectWith | null
selectedDatabase: DatabaseWith | null
onSelectProject: (project: ProjectWith | null) => void
onSelectDatabase: (database: DatabaseWith | null) => void
disabled?: boolean
}
export function TargetPanel({
projects,
selectedProject,
selectedDatabase,
onSelectProject,
onSelectDatabase,
disabled,
}: TargetPanelProps) {
const currentView: ViewState = selectedProject ? "databases" : "projects"
const handleBack = () => {
onSelectDatabase(null)
onSelectProject(null)
}
const getHeaderInfo = () => {
if (selectedProject) {
return {
title: selectedProject.name,
subtitle: selectedDatabase
? selectedDatabase.name
: "Select a target database",
icon:
{headerInfo.subtitle}
No databases in this project