import { revealItemInDir } from '@tauri-apps/plugin-opener'; import React from 'react'; import { upsertWorkspace } from '../../commands/upsertWorkspace'; import { useActiveWorkspace } from '../../hooks/useActiveWorkspace'; import { useAppInfo } from '../../hooks/useAppInfo'; import { useCheckForUpdates } from '../../hooks/useCheckForUpdates'; import { useSettings } from '../../hooks/useSettings'; import { useUpdateSettings } from '../../hooks/useUpdateSettings'; import { revealInFinderText } from '../../lib/reveal'; 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 = useActiveWorkspace(); const settings = useSettings(); const updateSettings = useUpdateSettings(); const appInfo = useAppInfo(); const checkForUpdates = useCheckForUpdates(); if (settings == null || workspace == null) { return null; } return (
{ if (v === 'current') updateSettings.mutate({ openWorkspaceNewWindow: false }); else if (v === 'new') updateSettings.mutate({ openWorkspaceNewWindow: true }); else updateSettings.mutate({ openWorkspaceNewWindow: null }); }} options={[ { label: 'Always Ask', value: 'ask' }, { label: 'Current Window', value: 'current' }, { label: 'New Window', value: 'new' }, ]} /> updateSettings.mutate({ telemetry })} /> Workspace{' '}
{workspace.name}
parseInt(value) >= 0} onChange={(v) => upsertWorkspace.mutate({ ...workspace, settingRequestTimeout: parseInt(v) || 0 }) } type="number" /> upsertWorkspace.mutate({ ...workspace, settingValidateCertificates }) } /> upsertWorkspace.mutate({ ...workspace, settingFollowRedirects, }) } /> App Info {appInfo.version} revealItemInDir(appInfo.appDataDir)} /> } > {appInfo.appDataDir} revealItemInDir(appInfo.appLogDir)} /> } > {appInfo.appLogDir} ); }