From 15dd29c0f8b94377bff01ae0a2293264850e4ede Mon Sep 17 00:00:00 2001 From: pompurin404 Date: Tue, 6 Aug 2024 11:00:39 +0800 Subject: [PATCH] fix styles --- src/main/utils/ipc.ts | 1 + .../src/components/profiles/profile-item.tsx | 15 +++++++++++++-- .../src/components/proxies/proxy-item.tsx | 2 +- .../src/components/sider/profile-card.tsx | 4 +++- src/renderer/src/components/sider/proxy-card.tsx | 4 ++-- src/renderer/src/components/sider/rule-card.tsx | 4 ++-- src/renderer/src/pages/proxies.tsx | 4 ++-- src/renderer/src/pages/settings.tsx | 9 +++++++-- src/renderer/src/utils/init.ts | 4 +++- src/renderer/src/utils/ipc.ts | 4 ++++ 10 files changed, 38 insertions(+), 13 deletions(-) diff --git a/src/main/utils/ipc.ts b/src/main/utils/ipc.ts index d5ca78c..914cb67 100644 --- a/src/main/utils/ipc.ts +++ b/src/main/utils/ipc.ts @@ -67,6 +67,7 @@ export function registerIpcMainHandlers(): void { ipcMain.handle('isEncryptionAvailable', isEncryptionAvailable) ipcMain.handle('encryptString', (_e, str) => safeStorage.encryptString(str)) ipcMain.handle('checkUpdate', () => checkUpdate()) + ipcMain.handle('getVersion', () => app.getVersion()) ipcMain.handle('platform', () => process.platform) ipcMain.handle('quitApp', () => app.quit()) } diff --git a/src/renderer/src/components/profiles/profile-item.tsx b/src/renderer/src/components/profiles/profile-item.tsx index dc97bf6..c476c1e 100644 --- a/src/renderer/src/components/profiles/profile-item.tsx +++ b/src/renderer/src/components/profiles/profile-item.tsx @@ -47,6 +47,7 @@ const ProfileItem: React.FC = (props) => { const usage = (extra?.upload ?? 0) + (extra?.download ?? 0) const total = extra?.total ?? 0 const [updating, setUpdating] = useState(false) + const [selecting, setSelecting] = useState(false) const [openInfo, setOpenInfo] = useState(false) const [openFile, setOpenFile] = useState(false) @@ -119,7 +120,17 @@ const ProfileItem: React.FC = (props) => { updateProfileItem={updateProfileItem} /> )} - + { + setSelecting(true) + onClick().finally(() => { + setSelecting(false) + }) + }} + className={`${isCurrent ? 'bg-primary' : ''} ${selecting ? 'blur-sm' : ''}`} + >

= (props) => {

{extra ? `${calcTraffic(usage)}/${calcTraffic(total)}` : undefined} {dayjs(info.updated).fromNow()} diff --git a/src/renderer/src/components/proxies/proxy-item.tsx b/src/renderer/src/components/proxies/proxy-item.tsx index 5975f8e..16759fe 100644 --- a/src/renderer/src/components/proxies/proxy-item.tsx +++ b/src/renderer/src/components/proxies/proxy-item.tsx @@ -62,7 +62,7 @@ const ProxyItem: React.FC = (props) => { radius="sm" > -
+
{proxy.name} diff --git a/src/renderer/src/components/sider/profile-card.tsx b/src/renderer/src/components/sider/profile-card.tsx index 4da7926..d05e233 100644 --- a/src/renderer/src/components/sider/profile-card.tsx +++ b/src/renderer/src/components/sider/profile-card.tsx @@ -60,7 +60,9 @@ const ProfileCard: React.FC = () => { />
-
+
{extra ? `${calcTraffic(usage)}/${calcTraffic(total)}` : undefined} {dayjs(info.updated).fromNow()}
diff --git a/src/renderer/src/components/sider/proxy-card.tsx b/src/renderer/src/components/sider/proxy-card.tsx index aff52c6..d332a8f 100644 --- a/src/renderer/src/components/sider/proxy-card.tsx +++ b/src/renderer/src/components/sider/proxy-card.tsx @@ -39,11 +39,11 @@ const ProxyCard: React.FC = () => { match ? { base: 'border-white', - content: 'text-white' + content: 'text-white select-none' } : { base: 'border-primary', - content: 'text-primary' + content: 'text-primary select-none' } } size="sm" diff --git a/src/renderer/src/components/sider/rule-card.tsx b/src/renderer/src/components/sider/rule-card.tsx index a74b7ae..214d599 100644 --- a/src/renderer/src/components/sider/rule-card.tsx +++ b/src/renderer/src/components/sider/rule-card.tsx @@ -36,11 +36,11 @@ const RuleCard: React.FC = () => { match ? { base: 'border-white', - content: 'text-white' + content: 'text-white select-none' } : { base: 'border-primary', - content: 'text-primary' + content: 'text-primary select-none' } } size="sm" diff --git a/src/renderer/src/pages/proxies.tsx b/src/renderer/src/pages/proxies.tsx index f3f67a0..4436b1c 100644 --- a/src/renderer/src/pages/proxies.tsx +++ b/src/renderer/src/pages/proxies.tsx @@ -158,7 +158,7 @@ const Proxies: React.FC = () => { src={groups[index].icon} /> ) : null} -
+
{groups[index].name} {proxyDisplayMode === 'full' && ( <> @@ -174,7 +174,7 @@ const Proxies: React.FC = () => {
{proxyDisplayMode === 'full' && ( - + {groups[index].all.length} )} diff --git a/src/renderer/src/pages/settings.tsx b/src/renderer/src/pages/settings.tsx index 201c20b..155f1b8 100644 --- a/src/renderer/src/pages/settings.tsx +++ b/src/renderer/src/pages/settings.tsx @@ -11,7 +11,7 @@ import { checkUpdate } from '@renderer/utils/ipc' import { IoLogoGithub } from 'react-icons/io5' - +import { version } from '@renderer/utils/init' import useSWR from 'swr' const Settings: React.FC = () => { @@ -108,11 +108,16 @@ const Settings: React.FC = () => { (): void => { open(`https://github.com/pompurin404/mihomo-party/releases/tag/v${v}`) } + } else { + new window.Notification('当前已是最新版本', { body: '无需更新' }) } }) }} /> - + + +
v{version}
+
) diff --git a/src/renderer/src/utils/init.ts b/src/renderer/src/utils/init.ts index 91f2144..13ff18f 100644 --- a/src/renderer/src/utils/init.ts +++ b/src/renderer/src/utils/init.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { getPlatform } from './ipc' +import { getPlatform, getVersion } from './ipc' const originError = console.error const originWarn = console.warn console.error = function (...args: any[]): void { @@ -17,7 +17,9 @@ console.warn = function (...args): void { } export let platform: NodeJS.Platform +export let version: string export async function init(): Promise { platform = await getPlatform() + version = await getVersion() } diff --git a/src/renderer/src/utils/ipc.ts b/src/renderer/src/utils/ipc.ts index f0c67de..b037cf0 100644 --- a/src/renderer/src/utils/ipc.ts +++ b/src/renderer/src/utils/ipc.ts @@ -131,6 +131,10 @@ export async function checkUpdate(): Promise { return await window.electron.ipcRenderer.invoke('checkUpdate') } +export async function getVersion(): Promise { + return await window.electron.ipcRenderer.invoke('getVersion') +} + export async function getPlatform(): Promise { return await window.electron.ipcRenderer.invoke('platform') }