1
0
mirror of https://github.com/lencx/ChatGPT.git synced 2024-10-01 01:06:13 -04:00

chore: style

This commit is contained in:
lencx 2023-01-05 13:18:35 +08:00
parent d982a09870
commit 9f3c72ec6d
6 changed files with 55 additions and 57 deletions

View File

@ -57,8 +57,8 @@ jobs:
- name: Install app dependencies and build it
run: yarn && yarn build:fe
- name: Rewrite tauri.conf.json
run: yarn fix:conf
# - name: Rewrite tauri.conf.json
# run: yarn fix:conf
- name: fix tray icon
if: matrix.platform != 'macos-latest'

View File

@ -103,14 +103,13 @@ pub fn init() -> Menu {
update_silent.selected()
} else {
update_silent
})
// .add_item(if chat_conf.auto_update == "Disable" {
}), // .add_item(if chat_conf.auto_update == "Disable" {
// update_disable.selected()
// } else {
// update_disable
// })
,
).into(),
)
.into(),
stay_on_top_menu.into(),
#[cfg(target_os = "macos")]
titlebar_menu.into(),
@ -273,22 +272,31 @@ pub fn menu_handler(event: WindowMenuEvent<tauri::Wry>) {
ChatConfJson::amend(&serde_json::json!({ "theme": theme }), Some(app)).unwrap();
}
"update_prompt" | "update_silent" | "update_disable" => {
for id in ["update_prompt" , "update_silent" , "update_disable"] {
for id in ["update_prompt", "update_silent", "update_disable"] {
menu_handle.get_item(id).set_selected(false).unwrap();
}
let auto_update = match menu_id {
"update_silent" => {
menu_handle.get_item("update_silent").set_selected(true).unwrap();
menu_handle
.get_item("update_silent")
.set_selected(true)
.unwrap();
"Silent"
},
}
"update_disable" => {
menu_handle.get_item("update_disable").set_selected(true).unwrap();
menu_handle
.get_item("update_disable")
.set_selected(true)
.unwrap();
"Disable"
},
}
_ => {
menu_handle.get_item("update_prompt").set_selected(true).unwrap();
menu_handle
.get_item("update_prompt")
.set_selected(true)
.unwrap();
"Prompt"
},
}
};
ChatConfJson::amend(&serde_json::json!({ "auto_update": auto_update }), None).unwrap();
}

16
src/layout/index.scss vendored
View File

@ -1,16 +1,23 @@
.chat-logo {
text-align: center;
padding: 5px 0;
height: 48px;
img {
width: 48px;
height: 48px;
width: 44px;
height: 44px;
margin-top: 4px;
}
}
.chat-info {
text-align: center;
font-weight: bold;
.ant-tag {
margin: 2px;
}
}
.ant-layout-sider-trigger {
user-select: none;
-webkit-user-select: none;
@ -24,9 +31,6 @@
.ant-menu {
user-select: none;
-webkit-user-select: none;
.ant-menu-item {
background-color: #f8f8f8;
}
}
.ant-layout-footer {

24
src/layout/index.tsx vendored
View File

@ -1,5 +1,5 @@
import { FC, useState } from 'react';
import {Layout, Menu, Button, Tooltip, message, ConfigProvider, theme, Tag} from 'antd';
import { useState } from 'react';
import {Layout, Menu, Tooltip, ConfigProvider, theme, Tag } from 'antd';
import { SyncOutlined } from '@ant-design/icons';
import { useNavigate, useLocation } from 'react-router-dom';
import { getName, getVersion } from '@tauri-apps/api/app';
@ -13,25 +13,21 @@ const { Content, Footer, Sider } = Layout;
const appName = await getName();
const appVersion = await getVersion();
const appTheme = await invoke("get_theme");
console.log("theme:"+appTheme);
interface ChatLayoutProps {
children?: React.ReactNode;
}
const ChatLayout: FC<ChatLayoutProps> = ({ children }) => {
export default function ChatLayout() {
const [collapsed, setCollapsed] = useState(false);
const location = useLocation();
const go = useNavigate();
const checkAppUpdate = async () => {
await invoke('run_check_update', {silent: false});
await invoke('run_check_update', { silent: false });
}
return (
<ConfigProvider theme={{algorithm: appTheme === "dark" ? theme.darkAlgorithm : theme.defaultAlgorithm}}>
<Layout style={{ minHeight: '100vh' }} hasSider>
<Sider
theme={ appTheme === "dark" ? "dark" : "light" }
theme={appTheme === "dark" ? "dark" : "light"}
collapsible
collapsed={collapsed}
onCollapse={(value) => setCollapsed(value)}
@ -48,18 +44,12 @@ const ChatLayout: FC<ChatLayoutProps> = ({ children }) => {
<div className="chat-logo"><img src="/logo.png" /></div>
<div className="chat-info">
<Tag>{appName}</Tag>
</div>
<div className="chat-info">
<Tag>
<span>{appVersion}</span>
<span> </span>
{
<span style={{ marginRight: 5 }}>{appVersion}</span>
<Tooltip title="click to check update">
<a onClick={checkAppUpdate}><SyncOutlined /></a>
</Tooltip>
}
</Tag>
</div>
<Menu
@ -88,5 +78,3 @@ const ChatLayout: FC<ChatLayoutProps> = ({ children }) => {
</ConfigProvider>
);
};
export default ChatLayout;

2
src/main.scss vendored
View File

@ -63,7 +63,7 @@ html, body {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #2a2a2a;
// color: #2a2a2a;
}
span {

22
src/view/General.tsx vendored
View File

@ -114,20 +114,23 @@ export default function General() {
labelCol={{ span: 8 }}
wrapperCol={{ span: 15, offset: 1 }}
>
<Form.Item label="Stay On Top" name="stay_on_top" valuePropName="checked">
<Switch />
</Form.Item>
{platformInfo === 'darwin' && (
<Form.Item label="Titlebar" name="titlebar" valuePropName="checked">
<Switch />
</Form.Item>
)}
<Form.Item label="Theme" name="theme">
<Radio.Group>
<Radio value="Light">Light</Radio>
<Radio value="Dark">Dark</Radio>
{
(["darwin", "windows"].includes(platformInfo) ) && (
{["darwin", "windows"].includes(platformInfo) && (
<Radio value="System">System</Radio>
)
}
)}
</Radio.Group>
</Form.Item>
<Form.Item label="Stay On Top" name="stay_on_top" valuePropName="checked">
<Switch />
</Form.Item>
<Form.Item label={<AutoUpdateLabel />} name="auto_update">
<Radio.Group>
<Radio value="Prompt">Prompt</Radio>
@ -138,11 +141,6 @@ export default function General() {
<Form.Item label={<GlobalShortcut />} name="global_shortcut">
<Input placeholder="CmdOrCtrl+Shift+O" {...DISABLE_AUTO_COMPLETE} />
</Form.Item>
{platformInfo === 'darwin' && (
<Form.Item label="Titlebar" name="titlebar" valuePropName="checked">
<Switch />
</Form.Item>
)}
<Form.Item label={<OriginLabel url={chatConf?.default_origin} />} name="origin">
<Input placeholder="https://chat.openai.com" {...DISABLE_AUTO_COMPLETE} />
</Form.Item>