"use client" import { useState } from "react" import { FieldGroup } from "@/components/admin/settings/field-group" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Badge } from "@/components/ui/badge" import { useAdminDriveOrgMountMutations, useAdminDriveOrgMounts, } from "@/lib/api/hooks/use-admin-drive-queries" function mountStatusLabel(status: string) { switch (status) { case "active": return "Actif" case "error": return "Erreur" case "pending": return "En attente" default: return status } } export function DriveOrgWebDAVSection({ embedded = false }: { embedded?: boolean }) { const mounts = useAdminDriveOrgMounts() const { create, remove } = useAdminDriveOrgMountMutations() const [orgSlug, setOrgSlug] = useState("") const [displayName, setDisplayName] = useState("") const [host, setHost] = useState("") const [root, setRoot] = useState("/") const [userName, setUserName] = useState("") const [password, setPassword] = useState("") const [secure, setSecure] = useState(true) const canCreate = orgSlug.trim() && displayName.trim() && host.trim() && userName.trim() && password.trim() return (
Connecte un serveur WebDAV partagé (NAS, Nextcloud externe, etc.) visible par tous les utilisateurs UltiDrive.
Le slug d'organisation sert au rattachement administratif. Le volume est monté globalement dans Nextcloud et apparaît dans UltiDrive pour tous les utilisateurs.
{mount.display_name}
{mount.org_slug ?? "—"} · WebDAV · {mount.mount_point}
{mount.last_error ? ({mount.last_error}
) : null}