"use client";
import { Input } from "@/components/ui/input";
import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
} from "@/components/ui/dialog";
import { ArrowLeft, Loader2, Plus, RefreshCw, Search, X } from "@/components/icons/platform-icons";
export type AddNetworkShareDraft = {
host: string;
share: string;
username: string;
password: string;
};
type AddNetworkShareDialogProps = {
createPending: boolean;
discoverSharesPending: boolean;
discoveredShares: string[];
draft: AddNetworkShareDraft;
isBusy: boolean;
isOpen: boolean;
onClose: () => void;
onDiscoverServers: () => void;
onDiscoverShares: () => void;
onDraftChange: (updater: AddNetworkShareDraft | ((draft: AddNetworkShareDraft) => AddNetworkShareDraft)) => void;
onSelectShare: (share: string) => void;
onSubmit: () => void;
};
function FieldLabel({ children }: { children: React.ReactNode }) {
return (
{children}
);
}
export function AddNetworkShareDialog({
createPending,
discoverSharesPending,
discoveredShares,
draft,
isBusy,
isOpen,
onClose,
onDiscoverServers,
onDiscoverShares,
onDraftChange,
onSelectShare,
onSubmit,
}: AddNetworkShareDialogProps) {
function update(key: K, value: AddNetworkShareDraft[K]) {
onDraftChange((current) => ({ ...current, [key]: value }));
}
return (
);
}