import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { commands } from "@/bindings"; import { SettingContainer } from "../ui/SettingContainer"; import { Button } from "../ui/Button"; interface AppDataDirectoryProps { descriptionMode?: "tooltip" | "inline"; grouped?: boolean; } export const AppDataDirectory: React.FC = ({ descriptionMode = "inline", grouped = false, }) => { const { t } = useTranslation(); const [appDirPath, setAppDirPath] = useState(""); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const loadAppDirectory = async () => { try { const result = await commands.getAppDirPath(); if (result.status === "ok") { setAppDirPath(result.data); } else { setError(result.error); } } catch (err) { setError( err instanceof Error ? err.message : "Failed to load app directory", ); } finally { setLoading(false); } }; loadAppDirectory(); }, []); const handleOpen = async () => { if (!appDirPath) return; try { await commands.openAppDataDir(); } catch (openError) { console.error("Failed to open app data directory:", openError); } }; if (loading) { return (
); } if (error) { return (

{t("errors.loadDirectory", { error })}

); } return (
{appDirPath}
); };