"use client" import { useState } from "react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "./ui/card" import { Switch } from "./ui/switch" import { Check, HardDrive, Settings2 } from "lucide-react" import { useT } from "../lib/i18n/provider" import { useGroupDisksByController } from "../lib/storage-display" export function StorageDisplayCard() { const t = useT() const [groupByController, setGroupByController] = useGroupDisksByController() const [editMode, setEditMode] = useState(false) const [pending, setPending] = useState(null) const [saved, setSaved] = useState(false) const handleCancel = () => { setPending(null) setEditMode(false) } const handleSave = () => { if (pending !== null && pending !== groupByController) { setGroupByController(pending) } setPending(null) setEditMode(false) setSaved(true) setTimeout(() => setSaved(false), 2000) } return (
{t("settings.storageDisplay.title")}
{saved && ( {t("status.saved")} )} {editMode ? ( <> ) : ( )}
{t("settings.storageDisplay.description")}
{t("settings.storageDisplay.groupByController")}
setPending(checked)} className={`data-[state=checked]:bg-blue-600 data-[state=unchecked]:bg-input border border-border ${!editMode ? "opacity-60" : ""}`} />
) }