diff --git a/src/components/window-control.tsx b/src/components/layout-control.tsx
similarity index 92%
rename from src/components/window-control.tsx
rename to src/components/layout-control.tsx
index 4b5e470aa99987d95a1e277742812a95a9e1e944..7756906e60b453b365a00163cd2b3a97aababee7 100644
--- a/src/components/window-control.tsx
+++ b/src/components/layout-control.tsx
@@ -6,7 +6,7 @@ import {
   HorizontalRuleRounded,
 } from "@mui/icons-material";
 
-const WindowControl = () => {
+const LayoutControl = () => {
   return (
     <>
       <Button
@@ -36,4 +36,4 @@ const WindowControl = () => {
   );
 };
 
-export default WindowControl;
+export default LayoutControl;
diff --git a/src/components/notice.tsx b/src/components/notice.tsx
index eedc7a549eaac7bc00e8582bc266d4f9f145112c..7729ba34d9b8b7fce9a90be66d26e178449fd753 100644
--- a/src/components/notice.tsx
+++ b/src/components/notice.tsx
@@ -30,7 +30,11 @@ const NoticeInner = (props: InnerProps) => {
         {type === "error" && <ErrorRounded color="error" />}
         {type === "success" && <CheckCircleRounded color="success" />}
 
-        <Typography sx={{ ml: 1 }}>{message}</Typography>
+        <Typography
+          sx={{ ml: 1, wordWrap: "break-word", wordBreak: "break-all" }}
+        >
+          {message}
+        </Typography>
       </Box>
     );
 
diff --git a/src/components/profile-item.tsx b/src/components/profile-item.tsx
index 6f1f70f7bd999b3554837376cd2684b3ae61a2a1..c83dcc1b02683d885d94149db8c1ad9d54fef02c 100644
--- a/src/components/profile-item.tsx
+++ b/src/components/profile-item.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
+import React, { useRef, useState } from "react";
 import dayjs from "dayjs";
 import {
   alpha,
@@ -15,6 +15,7 @@ import { useSWRConfig } from "swr";
 import { RefreshRounded } from "@mui/icons-material";
 import { CmdType } from "../services/types";
 import { updateProfile, deleteProfile } from "../services/cmds";
+import Notice from "./notice";
 import parseTraffic from "../utils/parse-traffic";
 import relativeTime from "dayjs/plugin/relativeTime";
 
@@ -32,8 +33,8 @@ const Wrapper = styled(Box)(({ theme }) => ({
 }));
 
 const round = keyframes`
-from { transform: rotate(0deg); }
-to { transform: rotate(360deg); }
+  from { transform: rotate(0deg); }
+  to { transform: rotate(360deg); }
 `;
 
 interface Props {
@@ -43,7 +44,7 @@ interface Props {
   onClick: () => void;
 }
 
-const ProfileItemComp: React.FC<Props> = (props) => {
+const ProfileItem: React.FC<Props> = (props) => {
   const { index, selected, itemData, onClick } = props;
 
   const { mutate } = useSWRConfig();
@@ -65,20 +66,25 @@ const ProfileItemComp: React.FC<Props> = (props) => {
     try {
       await updateProfile(index);
       mutate("getProfiles");
-    } catch (err) {
-      console.error(err);
+    } catch (err: any) {
+      Notice.error(err.toString());
     } finally {
       setLoading(false);
     }
   };
 
+  const deleteRef = useRef(false);
   const onDelete = async () => {
     setAnchorEl(null);
+    if (deleteRef.current) return;
+    deleteRef.current = true;
     try {
       await deleteProfile(index);
       mutate("getProfiles");
-    } catch (err) {
-      console.error(err);
+    } catch (err: any) {
+      Notice.error(err.toString());
+    } finally {
+      deleteRef.current = false;
     }
   };
 
@@ -198,7 +204,6 @@ const ProfileItemComp: React.FC<Props> = (props) => {
       >
         <MenuItem onClick={onUpdate}>Update</MenuItem>
         <MenuItem onClick={onDelete}>Delete</MenuItem>
-        {/* <MenuItem>Update(proxy)</MenuItem> */}
       </Menu>
     </>
   );
@@ -216,4 +221,4 @@ function parseExpire(expire?: number) {
   return dayjs(expire * 1000).format("YYYY-MM-DD");
 }
 
-export default ProfileItemComp;
+export default ProfileItem;
diff --git a/src/components/guard-state.tsx b/src/components/setting/guard-state.tsx
similarity index 97%
rename from src/components/guard-state.tsx
rename to src/components/setting/guard-state.tsx
index f17fd51634af8d3b8f03718e7b8bd5551f54e2ca..b2cff75574acd8f6098dda9755751869daf33d20 100644
--- a/src/components/guard-state.tsx
+++ b/src/components/setting/guard-state.tsx
@@ -1,5 +1,5 @@
 import { cloneElement, isValidElement, ReactNode, useRef } from "react";
-import noop from "../utils/noop";
+import noop from "../../utils/noop";
 
 interface Props<Value> {
   value?: Value;
diff --git a/src/components/palette-switch.tsx b/src/components/setting/palette-switch.tsx
similarity index 100%
rename from src/components/palette-switch.tsx
rename to src/components/setting/palette-switch.tsx
diff --git a/src/components/setting/setting-clash.tsx b/src/components/setting/setting-clash.tsx
index 97d5b8b554d60c239384e520b6fa42b8a9855d68..766d3e355cf4db806e3173b021feffae59787a4d 100644
--- a/src/components/setting/setting-clash.tsx
+++ b/src/components/setting/setting-clash.tsx
@@ -10,7 +10,7 @@ import { getClashConfig, updateConfigs } from "../../services/api";
 import { SettingList, SettingItem } from "./setting";
 import { patchClashConfig } from "../../services/cmds";
 import { ApiType } from "../../services/types";
-import GuardState from "../guard-state";
+import GuardState from "./guard-state";
 
 interface Props {
   onError?: (err: Error) => void;
diff --git a/src/components/setting/setting-verge.tsx b/src/components/setting/setting-verge.tsx
index e3d51bb655094ca55d95d8d26463e873098ae27e..ceb621ae16177d1cd9e1db9944d57184f3ff2784 100644
--- a/src/components/setting/setting-verge.tsx
+++ b/src/components/setting/setting-verge.tsx
@@ -4,9 +4,9 @@ import { getVergeConfig, patchVergeConfig } from "../../services/cmds";
 import { SettingList, SettingItem } from "./setting";
 import { CmdType } from "../../services/types";
 import { version } from "../../../package.json";
-import GuardState from "../guard-state";
-import PaletteSwitch from "../palette-switch";
-import SysproxyTooltip from "../sysproxy-tooltip";
+import GuardState from "./guard-state";
+import PaletteSwitch from "./palette-switch";
+import SysproxyTooltip from "./sysproxy-tooltip";
 
 interface Props {
   onError?: (err: Error) => void;
diff --git a/src/components/sysproxy-tooltip.tsx b/src/components/setting/sysproxy-tooltip.tsx
similarity index 94%
rename from src/components/sysproxy-tooltip.tsx
rename to src/components/setting/sysproxy-tooltip.tsx
index 8654a3d2f1dac10c1b06e7a9a4bf553f258f9877..08b56332b67362ae81c71388109129d2de28710c 100644
--- a/src/components/sysproxy-tooltip.tsx
+++ b/src/components/setting/sysproxy-tooltip.tsx
@@ -1,7 +1,7 @@
 import { useEffect, useState } from "react";
 import { InfoRounded } from "@mui/icons-material";
 import { ClickAwayListener, Tooltip } from "@mui/material";
-import { getSystemProxy } from "../services/cmds";
+import { getSystemProxy } from "../../services/cmds";
 
 const SysproxyTooltip = () => {
   const [open, setOpen] = useState(false);
@@ -9,7 +9,6 @@ const SysproxyTooltip = () => {
 
   const onShow = async () => {
     const data = await getSystemProxy();
-    console.log(data);
     setInfo(data ?? {});
     setOpen(true);
   };
diff --git a/src/pages/_layout.tsx b/src/pages/_layout.tsx
index 16e58395dd09ce5d6a15940f32c29c5b8e470b4c..ed9b2e79f026c44c2a09e3c32715f27462764368 100644
--- a/src/pages/_layout.tsx
+++ b/src/pages/_layout.tsx
@@ -11,7 +11,7 @@ import LogoSvg from "../assets/image/logo.svg";
 import Traffic from "../components/traffic";
 import LayoutItem from "../components/layout-item";
 import UpdateButton from "../components/update-button";
-import WindowControl from "../components/window-control";
+import LayoutControl from "../components/layout-control";
 
 const Layout = () => {
   const [mode, setMode] = useRecoilState(atomPaletteMode);
@@ -92,7 +92,7 @@ const Layout = () => {
 
           <div className="layout__right" data-windrag>
             <div className="the-bar">
-              <WindowControl />
+              <LayoutControl />
             </div>
 
             <div className="the-content" data-windrag>
diff --git a/src/pages/profiles.tsx b/src/pages/profiles.tsx
index cbf8a3f0fe87085758e59915471b793fd221776d..bef83145a58b3d31469a36c9c27b509aed6cdf0c 100644
--- a/src/pages/profiles.tsx
+++ b/src/pages/profiles.tsx
@@ -11,7 +11,7 @@ import { getProxies, updateProxy } from "../services/api";
 import noop from "../utils/noop";
 import Notice from "../components/notice";
 import BasePage from "../components/base-page";
-import ProfileItemComp from "../components/profile-item";
+import ProfileItem from "../components/profile-item";
 
 const ProfilePage = () => {
   const [url, setUrl] = useState("");
@@ -121,7 +121,7 @@ const ProfilePage = () => {
       <Grid container spacing={3}>
         {profiles?.items?.map((item, idx) => (
           <Grid item xs={12} sm={6} key={item.file}>
-            <ProfileItemComp
+            <ProfileItem
               index={idx}
               selected={profiles.current === idx}
               itemData={item}