import { useEffect, useState } from 'react'; import { Form, Radio, Switch, Input, Button, Space, message, Tooltip } from 'antd'; import { QuestionCircleOutlined } from '@ant-design/icons'; import { invoke, shell, path } from '@tauri-apps/api'; import { platform } from '@tauri-apps/api/os'; import { ask } from '@tauri-apps/api/dialog'; import { relaunch } from '@tauri-apps/api/process'; import { clone, omit, isEqual } from 'lodash'; import useInit from '@/hooks/useInit'; import { DISABLE_AUTO_COMPLETE, chatRoot } from '@/utils'; const OriginLabel = ({ url }: { url: string }) => { return ( Switch Origin ) } const GlobalShortcut = () => { return (
Global Shortcut {' '}
Shortcut definition, modifiers and key separated by "+" e.g. CmdOrControl+Q
If empty, the shortcut is disabled.
https://tauri.app/v1/api/js/globalshortcut
)}> ) } export default function General() { const [form] = Form.useForm(); const [jsonPath, setJsonPath] = useState(''); const [platformInfo, setPlatform] = useState(''); const [chatConf, setChatConf] = useState(null); useInit(async () => { setJsonPath(await path.join(await chatRoot(), 'chat.conf.json')); setPlatform(await platform()); const chatData = await invoke('get_chat_conf'); setChatConf(chatData); }); useEffect(() => { form.setFieldsValue(clone(chatConf)); }, [chatConf]) const onCancel = () => { form.setFieldsValue(chatConf); }; const onReset = async () => { const chatData = await invoke('reset_chat_conf'); setChatConf(chatData); const isOk = await ask(`Configuration reset successfully, whether to restart?`, { title: 'ChatGPT Preferences' }); if (isOk) { relaunch(); return; } message.success('Configuration reset successfully'); }; const onFinish = async (values: any) => { if (!isEqual(omit(chatConf, ['default_origin']), values)) { await invoke('form_confirm', { data: values, label: 'main' }); const isOk = await ask(`Configuration saved successfully, whether to restart?`, { title: 'ChatGPT Preferences' }); if (isOk) { relaunch(); return; } message.success('Configuration saved successfully'); } }; return ( <>
Light Dark } name="global_shortcut"> {platformInfo === 'darwin' && ( )} } name="origin"> Reset to defaults
) }