import { revealItemInDir } from "@tauri-apps/plugin-opener"; import { patchModel, settingsAtom } from "@yaakapp-internal/models"; import { useAtomValue } from "jotai"; import { activeWorkspaceAtom } from "../../hooks/useActiveWorkspace"; import { useCheckForUpdates } from "../../hooks/useCheckForUpdates"; import { appInfo } from "../../lib/appInfo"; import { revealInFinderText } from "../../lib/reveal"; import { CargoFeature } from "../CargoFeature"; import { Checkbox } from "../core/Checkbox"; import { Heading } from "../core/Heading"; import { IconButton } from "../core/IconButton"; import { KeyValueRow, KeyValueRows } from "../core/KeyValueRow"; import { PlainInput } from "../core/PlainInput"; import { Select } from "../core/Select"; import { Separator } from "../core/Separator"; import { VStack } from "../core/Stacks"; export function SettingsGeneral() { const workspace = useAtomValue(activeWorkspaceAtom); const settings = useAtomValue(settingsAtom); const checkForUpdates = useCheckForUpdates(); if (settings == null || workspace == null) { return null; } return (
General

Configure general settings for update behavior and more.

patchModel(settings, { autoupdate: v === "auto" })} options={[ { label: "Automatic", value: "auto" }, { label: "Manual", value: "manual" }, ]} /> patchModel(settings, { autoDownloadUpdates })} /> patchModel(settings, { checkNotifications })} /> patchModel(settings, { checkNotifications })} /> Workspace{" "}
{workspace.name}
Number.parseInt(value, 10) >= 0} onChange={(v) => patchModel(workspace, { settingRequestTimeout: Number.parseInt(v, 10) || 0 }) } type="number" /> patchModel(workspace, { settingValidateCertificates }) } /> patchModel(workspace, { settingFollowRedirects, }) } /> App Info {appInfo.version} revealItemInDir(appInfo.appDataDir)} /> } > {appInfo.appDataDir} revealItemInDir(appInfo.appLogDir)} /> } > {appInfo.appLogDir} ); }