diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index abd84ec339307a5174b560f6fdbc27504e2ae47d..2fdcc9e7005d582561ba8b8ab7f835164eb38c85 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -4,7 +4,11 @@ body { "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; } :root { @@ -37,3 +41,10 @@ body { background-color: rgba(18, 18, 18, 1); } } + +.user-none { + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} diff --git a/src/assets/styles/layout.scss b/src/assets/styles/layout.scss index 1dd22bd9a8b9df3e6df3f992c3ab2a4422ed7bd0..0727042a6b2fc5236f2d8e2976fb52e264de7656 100644 --- a/src/assets/styles/layout.scss +++ b/src/assets/styles/layout.scss @@ -14,6 +14,9 @@ flex-direction: column; box-sizing: border-box; user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; overflow: hidden; $maxLogo: 100px; diff --git a/src/components/setting/mods/core-switch.tsx b/src/components/setting/mods/core-switch.tsx index d54e6787507f35b2f8375488e25875cf7de5db46..00f1706f58cf5b209d836836b210d55cfe16ac4d 100644 --- a/src/components/setting/mods/core-switch.tsx +++ b/src/components/setting/mods/core-switch.tsx @@ -1,9 +1,10 @@ import { mutate } from "swr"; import { useState } from "react"; import { useLockFn } from "ahooks"; -import { Menu, MenuItem } from "@mui/material"; +import { IconButton, Menu, MenuItem } from "@mui/material"; import { Settings } from "@mui/icons-material"; import { changeClashCore } from "@/services/cmds"; +import { closeAllConnections } from "@/services/api"; import { useVerge } from "@/hooks/use-verge"; import { Notice } from "@/components/base"; @@ -24,6 +25,7 @@ export const CoreSwitch = () => { if (core === clash_core) return; try { + closeAllConnections(); await changeClashCore(core); mutateVerge(); setTimeout(() => { @@ -39,15 +41,20 @@ export const CoreSwitch = () => { return ( <> - <Settings - fontSize="small" - style={{ cursor: "pointer", opacity: 0.75 }} + <IconButton + color="inherit" + size="small" onClick={(event) => { const { clientX, clientY } = event; setPosition({ top: clientY, left: clientX }); setAnchorEl(event.currentTarget); }} - /> + > + <Settings + fontSize="inherit" + style={{ cursor: "pointer", opacity: 0.75 }} + /> + </IconButton> <Menu open={!!anchorEl} diff --git a/src/components/setting/mods/setting-comp.tsx b/src/components/setting/mods/setting-comp.tsx index 60c48669cb323d16e6d0c2447fde76dd1f0ab85a..1464618f78582408dfd708f6b3a1aa1c741866e5 100644 --- a/src/components/setting/mods/setting-comp.tsx +++ b/src/components/setting/mods/setting-comp.tsx @@ -19,7 +19,7 @@ export const SettingItem: React.FC<ItemProps> = (props) => { label ) : ( <Box sx={{ display: "flex", alignItems: "center" }}> - <span style={{ marginRight: 4 }}>{label}</span> + <span>{label}</span> {extra} </Box> ); diff --git a/src/components/setting/setting-verge.tsx b/src/components/setting/setting-verge.tsx index 12cf47b5060c68ddd69bd0cd4c2daa5149453148..7cf83131776acfe90cfdef52e4286563545ad097 100644 --- a/src/components/setting/setting-verge.tsx +++ b/src/components/setting/setting-verge.tsx @@ -167,7 +167,7 @@ const SettingVerge = ({ onError }: Props) => { </SettingItem> <SettingItem label={t("Verge Version")}> - <Typography sx={{ py: "7px" }}>v{version}</Typography> + <Typography sx={{ py: "7px", pr: 1 }}>v{version}</Typography> </SettingItem> </SettingList> ); diff --git a/src/pages/logs.tsx b/src/pages/logs.tsx index f7326f2c1fbb310cf52e1da1654375bdbb2f55a4..1e6fb5bf0e1c9bfcc31edd0ae89189bccc3614fe 100644 --- a/src/pages/logs.tsx +++ b/src/pages/logs.tsx @@ -65,7 +65,14 @@ const LogPage = () => { </Box> } > - <Paper sx={{ boxSizing: "border-box", boxShadow: 2, height: "100%" }}> + <Paper + sx={{ + boxSizing: "border-box", + boxShadow: 2, + height: "100%", + userSelect: "text", + }} + > <Box sx={{ pt: 1,