import { useEffect, useState } from 'react'; import { Form, Radio, Switch, Input, Button, Space, message, Tooltip } from 'antd'; import { QuestionCircleOutlined } from '@ant-design/icons'; import { invoke } 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 { DISABLE_AUTO_COMPLETE } from '@/utils'; const OriginLabel = ({ url }: { url: string }) => { return ( Switch Origin ) } export default function General() { const [form] = Form.useForm(); const [platformInfo, setPlatform] = useState(''); const [chatConf, setChatConf] = useState(null); const init = async () => { setPlatform(await platform()); const chatData = await invoke('get_chat_conf'); setChatConf(chatData); } useEffect(() => { init(); }, []) useEffect(() => { form.setFieldsValue(clone(chatConf)); }, [chatConf]) const onCancel = () => { form.setFieldsValue(chatConf); }; 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 {platformInfo === 'darwin' && ( )} } name="origin">
) }