chore: settings

This commit is contained in:
lencx
2023-01-23 10:56:07 +08:00
parent 84a29d7cda
commit d5df706b47
7 changed files with 76 additions and 20 deletions

View File

@@ -124,7 +124,12 @@ export default function SyncCustom() {
return (
<div>
<Button className="chat-add-btn" type="primary" onClick={opInfo.opNew}>
<Button
style={{ marginBottom: 10 }}
className="chat-add-btn"
type="primary"
onClick={opInfo.opNew}
>
Add PATH
</Button>
<Table

View File

@@ -1,8 +1,22 @@
import { Form, Switch, Input } from 'antd';
import { Form, Switch, Input, Tooltip } from 'antd';
import { QuestionCircleOutlined } from '@ant-design/icons';
import { DISABLE_AUTO_COMPLETE } from '@/utils';
import SwitchOrigin from '@/components/SwitchOrigin';
const UALabel = () => {
return (
<span>
User Agent (SystemTray){' '}
<Tooltip
title={<div>For a better experience, we recommend using the Mobile User-Agent.</div>}
>
<QuestionCircleOutlined style={{ color: '#1677ff' }} />
</Tooltip>
</span>
);
};
export default function General() {
return (
<>
@@ -10,7 +24,7 @@ export default function General() {
<Switch />
</Form.Item>
<SwitchOrigin name="tray_origin" />
<Form.Item label="User Agent (SystemTray)" name="ua_tray">
<Form.Item label={<UALabel />} name="ua_tray">
<Input.TextArea
autoSize={{ minRows: 4, maxRows: 4 }}
{...DISABLE_AUTO_COMPLETE}

View File

@@ -1,11 +1,11 @@
import { useEffect, useState } from 'react';
import { Form, Tabs, Space, Button, message } from 'antd';
import { invoke, dialog, process } from '@tauri-apps/api';
import { Form, Tabs, Space, Button, Popconfirm, message } from 'antd';
import { invoke, dialog, process, path, shell } from '@tauri-apps/api';
import { clone, omit, isEqual } from 'lodash';
import useInit from '@/hooks/useInit';
import FilePath from '@/components/FilePath';
import { CHAT_CONF_JSON } from '@/utils';
import { chatRoot, CHAT_CONF_JSON } from '@/utils';
import General from './General';
import MainWindow from './MainWindow';
import TrayWindow from './TrayWindow';
@@ -13,10 +13,11 @@ import TrayWindow from './TrayWindow';
export default function Settings() {
const [form] = Form.useForm();
const [chatConf, setChatConf] = useState<any>(null);
const [filePath, setPath] = useState('');
useInit(async () => {
const chatData = await invoke('get_chat_conf');
setChatConf(chatData);
setChatConf(await invoke('get_chat_conf'));
setPath(await path.join(await chatRoot(), CHAT_CONF_JSON));
});
useEffect(() => {
@@ -78,9 +79,22 @@ export default function Settings() {
<Button type="primary" htmlType="submit">
Submit
</Button>
<Button type="dashed" onClick={onReset}>
Reset to defaults
</Button>
<Popconfirm
title={
<div style={{ width: 360 }}>
Are you sure you want to reset the configuration file
<a onClick={() => shell.open(filePath)} style={{ margin: '0 5px' }}>
{filePath}
</a>
to the default?
</div>
}
onConfirm={onReset}
okText="Yes"
cancelText="No"
>
<Button type="dashed">Reset to defaults</Button>
</Popconfirm>
</Space>
</Form.Item>
</Form>