import React from 'react'; 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 { useUpdateWorkspace } from '../../hooks/useUpdateWorkspace'; 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 updateWorkspace = useUpdateWorkspace(workspace?.id ?? null); 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) => updateWorkspace.mutate({ settingRequestTimeout: parseInt(v) || 0 })} type="number" /> updateWorkspace.mutate({ settingValidateCertificates }) } /> updateWorkspace.mutate({ settingFollowRedirects })} /> App Info ); }