diff --git a/package-lock.json b/package-lock.json
index c45c7a1..4f0804d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1213,584 +1213,49 @@
         "to-fast-properties": "^2.0.0"
       }
     },
-    "@chakra-ui/accordion": {
-      "version": "1.3.4",
-      "resolved": "https://registry.nlark.com/@chakra-ui/accordion/download/@chakra-ui/accordion-1.3.4.tgz",
-      "integrity": "sha1-y10nndX6gIbYuQq0qUyRXErHEHo=",
-      "requires": {
-        "@chakra-ui/descendant": "2.0.1",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/transition": "1.3.3",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/alert": {
-      "version": "1.2.6",
-      "resolved": "https://registry.nlark.com/@chakra-ui/alert/download/@chakra-ui/alert-1.2.6.tgz",
-      "integrity": "sha1-JCAfaR1313uevaY48ztacb7OOgo=",
-      "requires": {
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/avatar": {
-      "version": "1.2.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/avatar/download/@chakra-ui/avatar-1.2.7.tgz",
-      "integrity": "sha1-3Lhe/9Fhfzmvwx3CM+Dj3dyDUSk=",
-      "requires": {
-        "@chakra-ui/image": "1.0.17",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/breadcrumb": {
-      "version": "1.2.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/breadcrumb/download/@chakra-ui/breadcrumb-1.2.7.tgz",
-      "integrity": "sha1-GdBHZi3LTaRCgaYFmXm71/NeBXc=",
-      "requires": {
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/button": {
-      "version": "1.4.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/button/download/@chakra-ui/button-1.4.1.tgz",
-      "integrity": "sha1-VwEvqrUjA+sU3aN6eUVaPet+F6c=",
-      "requires": {
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/spinner": "1.1.11",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/checkbox": {
-      "version": "1.5.4",
-      "resolved": "https://registry.nlark.com/@chakra-ui/checkbox/download/@chakra-ui/checkbox-1.5.4.tgz",
-      "integrity": "sha1-yMq+WddnxXMl9C43rv0HU50eGsI=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1",
-        "@chakra-ui/visually-hidden": "1.0.13"
-      }
-    },
-    "@chakra-ui/clickable": {
-      "version": "1.1.6",
-      "resolved": "https://registry.nlark.com/@chakra-ui/clickable/download/@chakra-ui/clickable-1.1.6.tgz",
-      "integrity": "sha1-SdtJCTCA2ppPqHQc4zvUvBwnqjk=",
-      "requires": {
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/close-button": {
-      "version": "1.1.10",
-      "resolved": "https://registry.nlark.com/@chakra-ui/close-button/download/@chakra-ui/close-button-1.1.10.tgz",
-      "integrity": "sha1-rU0CbXD/DtUjo+CYEQmDByWE58c=",
-      "requires": {
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/color-mode": {
-      "version": "1.1.10",
-      "resolved": "https://registry.nlark.com/@chakra-ui/color-mode/download/@chakra-ui/color-mode-1.1.10.tgz",
-      "integrity": "sha1-RvTuJ3qn+1CaN81qn95FKojp40s=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/control-box": {
-      "version": "1.0.14",
-      "resolved": "https://registry.nlark.com/@chakra-ui/control-box/download/@chakra-ui/control-box-1.0.14.tgz",
-      "integrity": "sha1-RwANyASeH7xJWwAbNmNoEuMIYJQ=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/counter": {
-      "version": "1.1.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/counter/download/@chakra-ui/counter-1.1.7.tgz",
-      "integrity": "sha1-jbQZYvw/mfRLIjFjMyZSDfUpkw8=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/css-reset": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/@chakra-ui/css-reset/download/@chakra-ui/css-reset-1.0.0.tgz",
-      "integrity": "sha1-g5WSGzXvJ77gV5pNcwxat/ezlzQ="
-    },
-    "@chakra-ui/descendant": {
-      "version": "2.0.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/descendant/download/@chakra-ui/descendant-2.0.1.tgz",
-      "integrity": "sha1-/DvJCBqgFQMDWyySlrxLn4fOquA=",
-      "requires": {
-        "@chakra-ui/react-utils": "^1.1.2"
-      }
-    },
-    "@chakra-ui/editable": {
-      "version": "1.2.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/editable/download/@chakra-ui/editable-1.2.7.tgz",
-      "integrity": "sha1-OXhXxpAfikacAur5geRiqw9EHBA=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/focus-lock": {
-      "version": "1.1.9",
-      "resolved": "https://registry.nlark.com/@chakra-ui/focus-lock/download/@chakra-ui/focus-lock-1.1.9.tgz",
-      "integrity": "sha1-xkKAQ0TF6smuwokNMZTklqDoGo8=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1",
-        "react-focus-lock": "2.5.0"
-      }
-    },
-    "@chakra-ui/form-control": {
-      "version": "1.3.8",
-      "resolved": "https://registry.nlark.com/@chakra-ui/form-control/download/@chakra-ui/form-control-1.3.8.tgz",
-      "integrity": "sha1-Q2nFjs2sT3xcI+sKVo9rZhjoymQ=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/hooks": {
-      "version": "1.5.4",
-      "resolved": "https://registry.nlark.com/@chakra-ui/hooks/download/@chakra-ui/hooks-1.5.4.tgz",
-      "integrity": "sha1-syU28TrIjmFnXqg8DPfTtJSQPbU=",
-      "requires": {
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1",
-        "compute-scroll-into-view": "1.0.14",
-        "copy-to-clipboard": "3.3.1"
-      }
-    },
-    "@chakra-ui/icon": {
-      "version": "1.1.10",
-      "resolved": "https://registry.nlark.com/@chakra-ui/icon/download/@chakra-ui/icon-1.1.10.tgz",
-      "integrity": "sha1-/nu5bzuBYtkOheNHs+L4IDcz9Eo=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/image": {
-      "version": "1.0.17",
-      "resolved": "https://registry.nlark.com/@chakra-ui/image/download/@chakra-ui/image-1.0.17.tgz",
-      "integrity": "sha1-tcf9Vkrx0jMD6v4dRDx9vs/UzzE=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/input": {
-      "version": "1.2.8",
-      "resolved": "https://registry.nlark.com/@chakra-ui/input/download/@chakra-ui/input-1.2.8.tgz",
-      "integrity": "sha1-yrPU8CIZm3p9PoiTefdxzLdhOv4=",
-      "requires": {
-        "@chakra-ui/form-control": "1.3.8",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/layout": {
-      "version": "1.4.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/layout/download/@chakra-ui/layout-1.4.7.tgz",
-      "integrity": "sha1-ZKgK3lLL5w3lRRpggYENSd+Exm4=",
-      "requires": {
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/live-region": {
-      "version": "1.0.13",
-      "resolved": "https://registry.nlark.com/@chakra-ui/live-region/download/@chakra-ui/live-region-1.0.13.tgz",
-      "integrity": "sha1-/pPrfnXOfJrmt2Zk7QYy3bxbqbc=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/media-query": {
-      "version": "1.1.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/media-query/download/@chakra-ui/media-query-1.1.1.tgz",
-      "integrity": "sha1-OVDiI+KKem48KbNSlpjhU4n6zV4=",
-      "requires": {
-        "@chakra-ui/react-env": "1.0.5",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/menu": {
-      "version": "1.7.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/menu/download/@chakra-ui/menu-1.7.1.tgz",
-      "integrity": "sha1-In8zf9LNlIMXUIjGVQDfEkItdco=",
-      "requires": {
-        "@chakra-ui/clickable": "1.1.6",
-        "@chakra-ui/descendant": "2.0.1",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/popper": "2.2.1",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/transition": "1.3.3",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/modal": {
-      "version": "1.8.9",
-      "resolved": "https://registry.nlark.com/@chakra-ui/modal/download/@chakra-ui/modal-1.8.9.tgz",
-      "integrity": "sha1-EsHFLVwu5+1WUnL+NBEdPw5NoJ4=",
-      "requires": {
-        "@chakra-ui/close-button": "1.1.10",
-        "@chakra-ui/focus-lock": "1.1.9",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/portal": "1.2.7",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/transition": "1.3.3",
-        "@chakra-ui/utils": "1.8.1",
-        "aria-hidden": "^1.1.1",
-        "react-remove-scroll": "2.4.1"
-      }
-    },
-    "@chakra-ui/number-input": {
-      "version": "1.2.8",
-      "resolved": "https://registry.nlark.com/@chakra-ui/number-input/download/@chakra-ui/number-input-1.2.8.tgz",
-      "integrity": "sha1-IsbbVLYMFD/1cRVjhZpkbbmbX4Y=",
-      "requires": {
-        "@chakra-ui/counter": "1.1.7",
-        "@chakra-ui/form-control": "1.3.8",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/pin-input": {
-      "version": "1.6.3",
-      "resolved": "https://registry.nlark.com/@chakra-ui/pin-input/download/@chakra-ui/pin-input-1.6.3.tgz",
-      "integrity": "sha1-2Za6v5AHcIwfT7ImqyvBHR80vCY=",
-      "requires": {
-        "@chakra-ui/descendant": "2.0.1",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/popover": {
-      "version": "1.8.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/popover/download/@chakra-ui/popover-1.8.1.tgz",
-      "integrity": "sha1-1/bvuJkCbSAhsUsvRCpBd+xhjTg=",
-      "requires": {
-        "@chakra-ui/close-button": "1.1.10",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/popper": "2.2.1",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/popper": {
-      "version": "2.2.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/popper/download/@chakra-ui/popper-2.2.1.tgz",
-      "integrity": "sha1-UdSZM+6DezlteNnaqrHZgJr+qYI=",
-      "requires": {
-        "@chakra-ui/react-utils": "1.1.2",
-        "@popperjs/core": "2.4.4"
-      }
-    },
-    "@chakra-ui/portal": {
-      "version": "1.2.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/portal/download/@chakra-ui/portal-1.2.7.tgz",
-      "integrity": "sha1-HbLRSqa6pyZ7HlEWJ0m7BGzbkmM=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/progress": {
-      "version": "1.1.11",
-      "resolved": "https://registry.nlark.com/@chakra-ui/progress/download/@chakra-ui/progress-1.1.11.tgz",
-      "integrity": "sha1-PQLFjJWwN3GayUUTotBTGuADNto=",
-      "requires": {
-        "@chakra-ui/theme-tools": "1.1.8",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/radio": {
-      "version": "1.3.8",
-      "resolved": "https://registry.nlark.com/@chakra-ui/radio/download/@chakra-ui/radio-1.3.8.tgz",
-      "integrity": "sha1-sE5x5ZdemWnxzvgQJMdkukzAckk=",
-      "requires": {
-        "@chakra-ui/form-control": "1.3.8",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1",
-        "@chakra-ui/visually-hidden": "1.0.13"
-      }
-    },
-    "@chakra-ui/react": {
-      "version": "1.6.5",
-      "resolved": "https://registry.nlark.com/@chakra-ui/react/download/@chakra-ui/react-1.6.5.tgz",
-      "integrity": "sha1-+NBbK7f5jXPJYGtqvgLOyVmFQeY=",
-      "requires": {
-        "@chakra-ui/accordion": "1.3.4",
-        "@chakra-ui/alert": "1.2.6",
-        "@chakra-ui/avatar": "1.2.7",
-        "@chakra-ui/breadcrumb": "1.2.7",
-        "@chakra-ui/button": "1.4.1",
-        "@chakra-ui/checkbox": "1.5.4",
-        "@chakra-ui/close-button": "1.1.10",
-        "@chakra-ui/control-box": "1.0.14",
-        "@chakra-ui/counter": "1.1.7",
-        "@chakra-ui/css-reset": "1.0.0",
-        "@chakra-ui/editable": "1.2.7",
-        "@chakra-ui/form-control": "1.3.8",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/image": "1.0.17",
-        "@chakra-ui/input": "1.2.8",
-        "@chakra-ui/layout": "1.4.7",
-        "@chakra-ui/live-region": "1.0.13",
-        "@chakra-ui/media-query": "1.1.1",
-        "@chakra-ui/menu": "1.7.1",
-        "@chakra-ui/modal": "1.8.9",
-        "@chakra-ui/number-input": "1.2.8",
-        "@chakra-ui/pin-input": "1.6.3",
-        "@chakra-ui/popover": "1.8.1",
-        "@chakra-ui/popper": "2.2.1",
-        "@chakra-ui/portal": "1.2.7",
-        "@chakra-ui/progress": "1.1.11",
-        "@chakra-ui/radio": "1.3.8",
-        "@chakra-ui/react-env": "1.0.5",
-        "@chakra-ui/select": "1.1.12",
-        "@chakra-ui/skeleton": "1.1.16",
-        "@chakra-ui/slider": "1.2.7",
-        "@chakra-ui/spinner": "1.1.11",
-        "@chakra-ui/stat": "1.1.11",
-        "@chakra-ui/switch": "1.2.7",
-        "@chakra-ui/system": "1.7.1",
-        "@chakra-ui/table": "1.2.5",
-        "@chakra-ui/tabs": "1.5.3",
-        "@chakra-ui/tag": "1.1.11",
-        "@chakra-ui/textarea": "1.1.12",
-        "@chakra-ui/theme": "1.9.2",
-        "@chakra-ui/toast": "1.2.9",
-        "@chakra-ui/tooltip": "1.3.8",
-        "@chakra-ui/transition": "1.3.3",
-        "@chakra-ui/utils": "1.8.1",
-        "@chakra-ui/visually-hidden": "1.0.13"
-      }
-    },
-    "@chakra-ui/react-env": {
-      "version": "1.0.5",
-      "resolved": "https://registry.nlark.com/@chakra-ui/react-env/download/@chakra-ui/react-env-1.0.5.tgz",
-      "integrity": "sha1-IzPCanSb9q2FoKeGWERHH/nQXXo=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/react-utils": {
-      "version": "1.1.2",
-      "resolved": "https://registry.nlark.com/@chakra-ui/react-utils/download/@chakra-ui/react-utils-1.1.2.tgz",
-      "integrity": "sha1-fqgLauJb17GCCVzJ/6rSPEZECLU=",
-      "requires": {
-        "@chakra-ui/utils": "^1.7.0"
-      }
-    },
-    "@chakra-ui/select": {
-      "version": "1.1.12",
-      "resolved": "https://registry.nlark.com/@chakra-ui/select/download/@chakra-ui/select-1.1.12.tgz",
-      "integrity": "sha1-oVMeFC+WtGx7/h/AWsjWIppY6+g=",
-      "requires": {
-        "@chakra-ui/form-control": "1.3.8",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/skeleton": {
-      "version": "1.1.16",
-      "resolved": "https://registry.nlark.com/@chakra-ui/skeleton/download/@chakra-ui/skeleton-1.1.16.tgz",
-      "integrity": "sha1-P2Em2n3eUPlZInzgBIsUnTEyAqo=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/media-query": "1.1.1",
-        "@chakra-ui/system": "1.7.1",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/slider": {
-      "version": "1.2.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/slider/download/@chakra-ui/slider-1.2.7.tgz",
-      "integrity": "sha1-OaVrJm8+Njrv6sHC6xX0ImV+RKU=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/spinner": {
-      "version": "1.1.11",
-      "resolved": "https://registry.nlark.com/@chakra-ui/spinner/download/@chakra-ui/spinner-1.1.11.tgz",
-      "integrity": "sha1-7VZFzQAH/lhNyxkcJ2v4Hq1lOaA=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1",
-        "@chakra-ui/visually-hidden": "1.0.13"
-      }
-    },
-    "@chakra-ui/stat": {
-      "version": "1.1.11",
-      "resolved": "https://registry.nlark.com/@chakra-ui/stat/download/@chakra-ui/stat-1.1.11.tgz",
-      "integrity": "sha1-EUZziryJxR3gyd5An9TIDke2j+E=",
-      "requires": {
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/utils": "1.8.1",
-        "@chakra-ui/visually-hidden": "1.0.13"
-      }
-    },
-    "@chakra-ui/styled-system": {
-      "version": "1.12.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/styled-system/download/@chakra-ui/styled-system-1.12.1.tgz",
-      "integrity": "sha1-6yDLRgXxLyehhxQdcKqPoV4kN2c=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1",
-        "csstype": "^3.0.6"
-      }
-    },
-    "@chakra-ui/switch": {
-      "version": "1.2.7",
-      "resolved": "https://registry.nlark.com/@chakra-ui/switch/download/@chakra-ui/switch-1.2.7.tgz",
-      "integrity": "sha1-zHSDzU1C8YL09qxRFTWvPVU+bBU=",
-      "requires": {
-        "@chakra-ui/checkbox": "1.5.4",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/system": {
-      "version": "1.7.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/system/download/@chakra-ui/system-1.7.1.tgz",
-      "integrity": "sha1-sfMRp1lj1awfhoc9F7ou5dtZAn0=",
-      "requires": {
-        "@chakra-ui/color-mode": "1.1.10",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/styled-system": "1.12.1",
-        "@chakra-ui/utils": "1.8.1",
-        "react-fast-compare": "3.2.0"
-      }
-    },
-    "@chakra-ui/table": {
-      "version": "1.2.5",
-      "resolved": "https://registry.nlark.com/@chakra-ui/table/download/@chakra-ui/table-1.2.5.tgz",
-      "integrity": "sha1-rzG+fSC/9G9Y+eD/VysChLJ4T6Q=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/tabs": {
-      "version": "1.5.3",
-      "resolved": "https://registry.nlark.com/@chakra-ui/tabs/download/@chakra-ui/tabs-1.5.3.tgz",
-      "integrity": "sha1-y2CGZ7YnLk8XLjvP5MbNcpMRGYE=",
-      "requires": {
-        "@chakra-ui/clickable": "1.1.6",
-        "@chakra-ui/descendant": "2.0.1",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/tag": {
-      "version": "1.1.11",
-      "resolved": "https://registry.nlark.com/@chakra-ui/tag/download/@chakra-ui/tag-1.1.11.tgz",
-      "integrity": "sha1-bcIx9sGLX6qB7B6V1ZBVuRAME/c=",
-      "requires": {
-        "@chakra-ui/icon": "1.1.10",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/textarea": {
-      "version": "1.1.12",
-      "resolved": "https://registry.nlark.com/@chakra-ui/textarea/download/@chakra-ui/textarea-1.1.12.tgz",
-      "integrity": "sha1-P/ozy0nBZTyGlHik6nUW+jA/SWw=",
-      "requires": {
-        "@chakra-ui/form-control": "1.3.8",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/theme": {
-      "version": "1.9.2",
-      "resolved": "https://registry.nlark.com/@chakra-ui/theme/download/@chakra-ui/theme-1.9.2.tgz",
-      "integrity": "sha1-t/BE+W/e377/GB3S6XiOE57K9RM=",
-      "requires": {
-        "@chakra-ui/theme-tools": "1.1.8",
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/theme-tools": {
-      "version": "1.1.8",
-      "resolved": "https://registry.nlark.com/@chakra-ui/theme-tools/download/@chakra-ui/theme-tools-1.1.8.tgz",
-      "integrity": "sha1-zASUeq9fVT24SjK6bHQvH7xyb5s=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1",
-        "@types/tinycolor2": "1.4.2",
-        "tinycolor2": "1.4.2"
-      }
-    },
-    "@chakra-ui/toast": {
-      "version": "1.2.9",
-      "resolved": "https://registry.nlark.com/@chakra-ui/toast/download/@chakra-ui/toast-1.2.9.tgz",
-      "integrity": "sha1-68eKtAT1JMOW7YT0M/VGsYEQzfI=",
-      "requires": {
-        "@chakra-ui/alert": "1.2.6",
-        "@chakra-ui/close-button": "1.1.10",
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/theme": "1.9.2",
-        "@chakra-ui/transition": "1.3.3",
-        "@chakra-ui/utils": "1.8.1",
-        "@reach/alert": "0.13.2"
-      }
-    },
-    "@chakra-ui/tooltip": {
-      "version": "1.3.8",
-      "resolved": "https://registry.nlark.com/@chakra-ui/tooltip/download/@chakra-ui/tooltip-1.3.8.tgz",
-      "integrity": "sha1-J/EQa3Zg3GEvo/O2DRJ63h6o6aw=",
-      "requires": {
-        "@chakra-ui/hooks": "1.5.4",
-        "@chakra-ui/popper": "2.2.1",
-        "@chakra-ui/portal": "1.2.7",
-        "@chakra-ui/react-utils": "1.1.2",
-        "@chakra-ui/utils": "1.8.1",
-        "@chakra-ui/visually-hidden": "1.0.13"
-      }
-    },
-    "@chakra-ui/transition": {
-      "version": "1.3.3",
-      "resolved": "https://registry.nlark.com/@chakra-ui/transition/download/@chakra-ui/transition-1.3.3.tgz",
-      "integrity": "sha1-AxUGBgDRYL4mhyMcoZBicJ42PYw=",
-      "requires": {
-        "@chakra-ui/utils": "1.8.1"
-      }
-    },
-    "@chakra-ui/utils": {
-      "version": "1.8.1",
-      "resolved": "https://registry.nlark.com/@chakra-ui/utils/download/@chakra-ui/utils-1.8.1.tgz",
-      "integrity": "sha1-l3jk6HdtoO1NwAUXVdeQAtLyHsI=",
-      "requires": {
-        "@types/lodash.mergewith": "4.6.6",
-        "css-box-model": "1.2.1",
-        "framesync": "5.3.0",
-        "lodash.mergewith": "4.6.2"
+    "@blueprintjs/core": {
+      "version": "3.47.0",
+      "resolved": "https://registry.nlark.com/@blueprintjs/core/download/@blueprintjs/core-3.47.0.tgz",
+      "integrity": "sha1-vzMVXSJLdCulHG4c9b5FIykDN6c=",
+      "dev": true,
+      "requires": {
+        "@blueprintjs/icons": "^3.27.0",
+        "@types/dom4": "^2.0.1",
+        "classnames": "^2.2",
+        "dom4": "^2.1.5",
+        "normalize.css": "^8.0.1",
+        "popper.js": "^1.16.1",
+        "react-lifecycles-compat": "^3.0.4",
+        "react-popper": "^1.3.7",
+        "react-transition-group": "^2.9.0",
+        "resize-observer-polyfill": "^1.5.1",
+        "tslib": "~1.13.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.13.0.tgz",
+          "integrity": "sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=",
+          "dev": true
+        }
       }
     },
-    "@chakra-ui/visually-hidden": {
-      "version": "1.0.13",
-      "resolved": "https://registry.nlark.com/@chakra-ui/visually-hidden/download/@chakra-ui/visually-hidden-1.0.13.tgz",
-      "integrity": "sha1-HPyo5GE3WDr90UqXT313gVov9RY=",
+    "@blueprintjs/icons": {
+      "version": "3.27.0",
+      "resolved": "https://registry.nlark.com/@blueprintjs/icons/download/@blueprintjs/icons-3.27.0.tgz",
+      "integrity": "sha1-9MA+i8L5MQ9+rvqrJt2R9lk12kM=",
+      "dev": true,
       "requires": {
-        "@chakra-ui/utils": "1.8.1"
+        "classnames": "^2.2",
+        "tslib": "~1.13.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.13.0.tgz",
+          "integrity": "sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=",
+          "dev": true
+        }
       }
     },
     "@develar/schema-utils": {
@@ -2004,6 +1469,16 @@
       "resolved": "https://registry.npm.taobao.org/@emotion/weak-memoize/download/@emotion/weak-memoize-0.2.5.tgz",
       "integrity": "sha1-ju2YLi7m9/TkTCU+EpYpgHke/UY="
     },
+    "@hypnosphi/create-react-context": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npm.taobao.org/@hypnosphi/create-react-context/download/@hypnosphi/create-react-context-0.3.1.tgz",
+      "integrity": "sha1-+L/r3HZl9dQmy6N1Pg6cfTFU18Y=",
+      "dev": true,
+      "requires": {
+        "gud": "^1.0.0",
+        "warning": "^4.0.3"
+      }
+    },
     "@malept/flatpak-bundler": {
       "version": "0.4.0",
       "resolved": "https://registry.nlark.com/@malept/flatpak-bundler/download/@malept/flatpak-bundler-0.4.0.tgz",
@@ -2072,41 +1547,6 @@
         "fastq": "^1.6.0"
       }
     },
-    "@popperjs/core": {
-      "version": "2.4.4",
-      "resolved": "https://registry.nlark.com/@popperjs/core/download/@popperjs/core-2.4.4.tgz",
-      "integrity": "sha1-EdXbGb0XiTbsic2EUZxN5DlXQ5g="
-    },
-    "@reach/alert": {
-      "version": "0.13.2",
-      "resolved": "https://registry.nlark.com/@reach/alert/download/@reach/alert-0.13.2.tgz?cache=0&sync_timestamp=1627883210120&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40reach%2Falert%2Fdownload%2F%40reach%2Falert-0.13.2.tgz",
-      "integrity": "sha1-ccSoSNUTQfHW2equBgl1ORwiSHA=",
-      "requires": {
-        "@reach/utils": "0.13.2",
-        "@reach/visually-hidden": "0.13.2",
-        "prop-types": "^15.7.2",
-        "tslib": "^2.1.0"
-      }
-    },
-    "@reach/utils": {
-      "version": "0.13.2",
-      "resolved": "https://registry.nlark.com/@reach/utils/download/@reach/utils-0.13.2.tgz?cache=0&sync_timestamp=1627883234784&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40reach%2Futils%2Fdownload%2F%40reach%2Futils-0.13.2.tgz",
-      "integrity": "sha1-h+j++Ov+WD+kglAjiho+0DGJ/Mg=",
-      "requires": {
-        "@types/warning": "^3.0.0",
-        "tslib": "^2.1.0",
-        "warning": "^4.0.3"
-      }
-    },
-    "@reach/visually-hidden": {
-      "version": "0.13.2",
-      "resolved": "https://registry.nlark.com/@reach/visually-hidden/download/@reach/visually-hidden-0.13.2.tgz?cache=0&sync_timestamp=1627884200770&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40reach%2Fvisually-hidden%2Fdownload%2F%40reach%2Fvisually-hidden-0.13.2.tgz",
-      "integrity": "sha1-7iHeN2p+V+YNyS2VpnEHN5bKoX4=",
-      "requires": {
-        "prop-types": "^15.7.2",
-        "tslib": "^2.1.0"
-      }
-    },
     "@redux-saga/core": {
       "version": "1.1.3",
       "resolved": "https://registry.npm.taobao.org/@redux-saga/core/download/@redux-saga/core-1.1.3.tgz",
@@ -2382,6 +1822,12 @@
         "@types/ms": "*"
       }
     },
+    "@types/dom4": {
+      "version": "2.0.2",
+      "resolved": "https://registry.nlark.com/@types/dom4/download/@types/dom4-2.0.2.tgz",
+      "integrity": "sha1-ZJUwPwSWic6TbtMoo+Xt6cUUCO4=",
+      "dev": true
+    },
     "@types/eslint": {
       "version": "7.28.0",
       "resolved": "https://registry.nlark.com/@types/eslint/download/@types/eslint-7.28.0.tgz",
@@ -2449,19 +1895,6 @@
       "integrity": "sha1-7fG/Hb9OBEE8qOWxezt9fVS1mBg=",
       "dev": true
     },
-    "@types/lodash": {
-      "version": "4.14.171",
-      "resolved": "https://registry.nlark.com/@types/lodash/download/@types/lodash-4.14.171.tgz?cache=0&sync_timestamp=1625610241869&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Flodash%2Fdownload%2F%40types%2Flodash-4.14.171.tgz",
-      "integrity": "sha1-8Bs6X+NJnjS2IsNipGpgn9sjVzs="
-    },
-    "@types/lodash.mergewith": {
-      "version": "4.6.6",
-      "resolved": "https://registry.nlark.com/@types/lodash.mergewith/download/@types/lodash.mergewith-4.6.6.tgz",
-      "integrity": "sha1-xGmPWyFKQz/zXLLHXubsf5nXnxA=",
-      "requires": {
-        "@types/lodash": "*"
-      }
-    },
     "@types/minimatch": {
       "version": "3.0.5",
       "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1625616331953&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz",
@@ -2597,11 +2030,6 @@
       "integrity": "sha1-HD32JL/Eti+ZLTASuExW1B6rN3Y=",
       "dev": true
     },
-    "@types/tinycolor2": {
-      "version": "1.4.2",
-      "resolved": "https://registry.nlark.com/@types/tinycolor2/download/@types/tinycolor2-1.4.2.tgz",
-      "integrity": "sha1-chylxdGimItKiG41wv/Fc1tq+98="
-    },
     "@types/verror": {
       "version": "1.10.5",
       "resolved": "https://registry.nlark.com/@types/verror/download/@types/verror-1.10.5.tgz?cache=0&sync_timestamp=1625249970390&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fverror%2Fdownload%2F%40types%2Fverror-1.10.5.tgz",
@@ -2609,11 +2037,6 @@
       "dev": true,
       "optional": true
     },
-    "@types/warning": {
-      "version": "3.0.0",
-      "resolved": "https://registry.nlark.com/@types/warning/download/@types/warning-3.0.0.tgz",
-      "integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI="
-    },
     "@types/yargs": {
       "version": "16.0.4",
       "resolved": "https://registry.nlark.com/@types/yargs/download/@types/yargs-16.0.4.tgz?cache=0&sync_timestamp=1625519310139&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-16.0.4.tgz",
@@ -3075,21 +2498,6 @@
       "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=",
       "dev": true
     },
-    "aria-hidden": {
-      "version": "1.1.3",
-      "resolved": "https://registry.nlark.com/aria-hidden/download/aria-hidden-1.1.3.tgz?cache=0&sync_timestamp=1620459459520&other_urls=https%3A%2F%2Fregistry.nlark.com%2Faria-hidden%2Fdownload%2Faria-hidden-1.1.3.tgz",
-      "integrity": "sha1-u0jeGNyEeHo8bu4RNwnEc8ZOwlQ=",
-      "requires": {
-        "tslib": "^1.0.0"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.14.1",
-          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz",
-          "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-        }
-      }
-    },
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.nlark.com/arr-diff/download/arr-diff-4.0.0.tgz",
@@ -4629,11 +4037,6 @@
         }
       }
     },
-    "compute-scroll-into-view": {
-      "version": "1.0.14",
-      "resolved": "https://registry.nlark.com/compute-scroll-into-view/download/compute-scroll-into-view-1.0.14.tgz",
-      "integrity": "sha1-gOPrsl1qqJ9C5TOVbLSxagTP51k="
-    },
     "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
@@ -4797,14 +4200,6 @@
       "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
       "dev": true
     },
-    "copy-to-clipboard": {
-      "version": "3.3.1",
-      "resolved": "https://registry.nlark.com/copy-to-clipboard/download/copy-to-clipboard-3.3.1.tgz",
-      "integrity": "sha1-EVqhqZmP+rYZb5MHatbaO5E2Yq4=",
-      "requires": {
-        "toggle-selection": "^1.0.6"
-      }
-    },
     "core-js": {
       "version": "3.15.2",
       "resolved": "https://registry.nlark.com/core-js/download/core-js-3.15.2.tgz?cache=0&sync_timestamp=1624966012065&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-3.15.2.tgz",
@@ -4890,14 +4285,6 @@
       "integrity": "sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU=",
       "dev": true
     },
-    "css-box-model": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/css-box-model/download/css-box-model-1.2.1.tgz",
-      "integrity": "sha1-WZUdO4H9ayB0pi1JREQVsNK018E=",
-      "requires": {
-        "tiny-invariant": "^1.0.6"
-      }
-    },
     "csstype": {
       "version": "3.0.8",
       "resolved": "https://registry.nlark.com/csstype/download/csstype-3.0.8.tgz?cache=0&sync_timestamp=1618818466657&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-3.0.8.tgz",
@@ -5130,11 +4517,6 @@
       "integrity": "sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=",
       "dev": true
     },
-    "detect-node-es": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/detect-node-es/download/detect-node-es-1.1.0.tgz",
-      "integrity": "sha1-FjrN9kMzDKoLTNfCHn7ndV1vpJM="
-    },
     "diff": {
       "version": "4.0.2",
       "resolved": "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz?cache=0&sync_timestamp=1604803664325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff%2Fdownload%2Fdiff-4.0.2.tgz",
@@ -5276,6 +4658,21 @@
         "buffer-indexof": "^1.0.0"
       }
     },
+    "dom-helpers": {
+      "version": "3.4.0",
+      "resolved": "https://registry.nlark.com/dom-helpers/download/dom-helpers-3.4.0.tgz",
+      "integrity": "sha1-6bNpcA+Vn2Ls3lprq95LzNkWmvg=",
+      "dev": true,
+      "requires": {
+        "@babel/runtime": "^7.1.2"
+      }
+    },
+    "dom4": {
+      "version": "2.1.6",
+      "resolved": "https://registry.nlark.com/dom4/download/dom4-2.1.6.tgz",
+      "integrity": "sha1-yQ3wcTSqDb2B7U1roSN7NvwWR3A=",
+      "dev": true
+    },
     "dot-case": {
       "version": "3.0.4",
       "resolved": "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.4.tgz",
@@ -6176,21 +5573,6 @@
       "resolved": "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz",
       "integrity": "sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ="
     },
-    "focus-lock": {
-      "version": "0.8.1",
-      "resolved": "https://registry.nlark.com/focus-lock/download/focus-lock-0.8.1.tgz?cache=0&sync_timestamp=1620885520737&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffocus-lock%2Fdownload%2Ffocus-lock-0.8.1.tgz",
-      "integrity": "sha1-uzaWir93ogY/oXPLbEexKshZnTM=",
-      "requires": {
-        "tslib": "^1.9.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.14.1",
-          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz",
-          "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-        }
-      }
-    },
     "follow-redirects": {
       "version": "1.14.1",
       "resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz?cache=0&sync_timestamp=1620555300559&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.1.tgz",
@@ -6314,11 +5696,6 @@
         "has-symbols": "^1.0.1"
       }
     },
-    "get-nonce": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/get-nonce/download/get-nonce-1.0.1.tgz",
-      "integrity": "sha1-/fPwJ4Bzgg0s6UJsGPB0gbHgzfM="
-    },
     "get-stream": {
       "version": "4.1.0",
       "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz",
@@ -6489,6 +5866,12 @@
       "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
       "dev": true
     },
+    "gud": {
+      "version": "1.0.0",
+      "resolved": "https://registry.nlark.com/gud/download/gud-1.0.0.tgz",
+      "integrity": "sha1-pIlYGxfmpwvsqavjrlfeekmYUsA=",
+      "dev": true
+    },
     "handle-thing": {
       "version": "2.0.1",
       "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz",
@@ -6995,6 +6378,7 @@
       "version": "2.2.4",
       "resolved": "https://registry.nlark.com/invariant/download/invariant-2.2.4.tgz",
       "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
+      "dev": true,
       "requires": {
         "loose-envify": "^1.0.0"
       }
@@ -7565,11 +6949,6 @@
       "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
       "dev": true
     },
-    "lodash.mergewith": {
-      "version": "4.6.2",
-      "resolved": "https://registry.nlark.com/lodash.mergewith/download/lodash.mergewith-4.6.2.tgz",
-      "integrity": "sha1-YXEh+JrFX1kEfHrsHM1mVMZZD1U="
-    },
     "lodash.some": {
       "version": "4.6.0",
       "resolved": "https://registry.npm.taobao.org/lodash.some/download/lodash.some-4.6.0.tgz",
@@ -7586,6 +6965,7 @@
       "version": "1.4.0",
       "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz",
       "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=",
+      "dev": true,
       "requires": {
         "js-tokens": "^3.0.0 || ^4.0.0"
       }
@@ -7980,6 +7360,11 @@
       "integrity": "sha1-DdkM8SiO4dExO4cIHJpZMu5IUYo=",
       "dev": true
     },
+    "normalize.css": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npm.taobao.org/normalize.css/download/normalize.css-8.0.1.tgz",
+      "integrity": "sha1-m5iiCHOLnMJjTKrLxC0THJdIe/M="
+    },
     "npm-conf": {
       "version": "1.1.3",
       "resolved": "https://registry.npm.taobao.org/npm-conf/download/npm-conf-1.1.3.tgz",
@@ -8003,7 +7388,8 @@
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true
     },
     "object-copy": {
       "version": "0.1.0",
@@ -8475,6 +7861,12 @@
         "tslib": "^2.1.0"
       }
     },
+    "popper.js": {
+      "version": "1.16.1",
+      "resolved": "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1.tgz",
+      "integrity": "sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs=",
+      "dev": true
+    },
     "portfinder": {
       "version": "1.0.28",
       "resolved": "https://registry.nlark.com/portfinder/download/portfinder-1.0.28.tgz",
@@ -8542,6 +7934,7 @@
       "version": "15.7.2",
       "resolved": "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz?cache=0&sync_timestamp=1615984425557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprop-types%2Fdownload%2Fprop-types-15.7.2.tgz",
       "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=",
+      "dev": true,
       "requires": {
         "loose-envify": "^1.4.0",
         "object-assign": "^4.1.1",
@@ -8671,14 +8064,6 @@
         "object-assign": "^4.1.1"
       }
     },
-    "react-clientside-effect": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npm.taobao.org/react-clientside-effect/download/react-clientside-effect-1.2.5.tgz",
-      "integrity": "sha1-4sTcPJ7hCfZC+sT1tum/W80iGaM=",
-      "requires": {
-        "@babel/runtime": "^7.12.13"
-      }
-    },
     "react-dom": {
       "version": "17.0.2",
       "resolved": "https://registry.nlark.com/react-dom/download/react-dom-17.0.2.tgz",
@@ -8690,24 +8075,6 @@
         "scheduler": "^0.20.2"
       }
     },
-    "react-fast-compare": {
-      "version": "3.2.0",
-      "resolved": "https://registry.nlark.com/react-fast-compare/download/react-fast-compare-3.2.0.tgz",
-      "integrity": "sha1-ZBqdqBtqYyDycOiXJPtFoLOeQ7s="
-    },
-    "react-focus-lock": {
-      "version": "2.5.0",
-      "resolved": "https://registry.nlark.com/react-focus-lock/download/react-focus-lock-2.5.0.tgz",
-      "integrity": "sha1-EuOjlA6JfCbiwqBAjNJeo8mbNwk=",
-      "requires": {
-        "@babel/runtime": "^7.0.0",
-        "focus-lock": "^0.8.1",
-        "prop-types": "^15.6.2",
-        "react-clientside-effect": "^1.2.2",
-        "use-callback-ref": "^1.2.1",
-        "use-sidecar": "^1.0.1"
-      }
-    },
     "react-i18next": {
       "version": "11.11.3",
       "resolved": "https://registry.nlark.com/react-i18next/download/react-i18next-11.11.3.tgz?cache=0&sync_timestamp=1626416365115&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-i18next%2Fdownload%2Freact-i18next-11.11.3.tgz",
@@ -8723,6 +8090,27 @@
       "resolved": "https://registry.nlark.com/react-is/download/react-is-16.13.1.tgz",
       "integrity": "sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ="
     },
+    "react-lifecycles-compat": {
+      "version": "3.0.4",
+      "resolved": "https://registry.nlark.com/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz",
+      "integrity": "sha1-TxonOv38jzSIqMUWv9p4+HI1I2I=",
+      "dev": true
+    },
+    "react-popper": {
+      "version": "1.3.11",
+      "resolved": "https://registry.npm.taobao.org/react-popper/download/react-popper-1.3.11.tgz?cache=0&sync_timestamp=1616674786422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-popper%2Fdownload%2Freact-popper-1.3.11.tgz",
+      "integrity": "sha1-osw/Cme3W2bPpi0sQJ+d0fzHH/0=",
+      "dev": true,
+      "requires": {
+        "@babel/runtime": "^7.1.2",
+        "@hypnosphi/create-react-context": "^0.3.1",
+        "deep-equal": "^1.1.1",
+        "popper.js": "^1.14.4",
+        "prop-types": "^15.6.1",
+        "typed-styles": "^0.0.7",
+        "warning": "^4.0.2"
+      }
+    },
     "react-redux": {
       "version": "7.2.4",
       "resolved": "https://registry.nlark.com/react-redux/download/react-redux-7.2.4.tgz",
@@ -8743,41 +8131,6 @@
       "integrity": "sha1-L1NslmDAubHVAGhNnlKmXnQE9+M=",
       "dev": true
     },
-    "react-remove-scroll": {
-      "version": "2.4.1",
-      "resolved": "https://registry.nlark.com/react-remove-scroll/download/react-remove-scroll-2.4.1.tgz",
-      "integrity": "sha1-4K9hJmIQg6UGRZHTZykagbLRB/U=",
-      "requires": {
-        "react-remove-scroll-bar": "^2.1.0",
-        "react-style-singleton": "^2.1.0",
-        "tslib": "^1.0.0",
-        "use-callback-ref": "^1.2.3",
-        "use-sidecar": "^1.0.1"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.14.1",
-          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz",
-          "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-        }
-      }
-    },
-    "react-remove-scroll-bar": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/react-remove-scroll-bar/download/react-remove-scroll-bar-2.2.0.tgz",
-      "integrity": "sha1-1NVFp98CT3XWfhUUmaarWsl8jN0=",
-      "requires": {
-        "react-style-singleton": "^2.1.0",
-        "tslib": "^1.0.0"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.14.1",
-          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz",
-          "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-        }
-      }
-    },
     "react-router": {
       "version": "5.2.0",
       "resolved": "https://registry.nlark.com/react-router/download/react-router-5.2.0.tgz",
@@ -8811,21 +8164,16 @@
         "tiny-warning": "^1.0.0"
       }
     },
-    "react-style-singleton": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/react-style-singleton/download/react-style-singleton-2.1.1.tgz",
-      "integrity": "sha1-zn+QtnYYvitrlJAqMKrqFSzlLmY=",
+    "react-transition-group": {
+      "version": "2.9.0",
+      "resolved": "https://registry.nlark.com/react-transition-group/download/react-transition-group-2.9.0.tgz?cache=0&sync_timestamp=1622301030407&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-transition-group%2Fdownload%2Freact-transition-group-2.9.0.tgz",
+      "integrity": "sha1-35zbAleWIRFRpDbGmo87l7WwfI0=",
+      "dev": true,
       "requires": {
-        "get-nonce": "^1.0.0",
-        "invariant": "^2.2.4",
-        "tslib": "^1.0.0"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.14.1",
-          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz",
-          "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-        }
+        "dom-helpers": "^3.4.0",
+        "loose-envify": "^1.4.0",
+        "prop-types": "^15.6.2",
+        "react-lifecycles-compat": "^3.0.4"
       }
     },
     "read-config-file": {
@@ -9077,6 +8425,12 @@
       "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
       "dev": true
     },
+    "resize-observer-polyfill": {
+      "version": "1.5.1",
+      "resolved": "https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
+      "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=",
+      "dev": true
+    },
     "resolve": {
       "version": "1.20.0",
       "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz",
@@ -10222,7 +9576,8 @@
     "tiny-invariant": {
       "version": "1.1.0",
       "resolved": "https://registry.npm.taobao.org/tiny-invariant/download/tiny-invariant-1.1.0.tgz",
-      "integrity": "sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU="
+      "integrity": "sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU=",
+      "dev": true
     },
     "tiny-warning": {
       "version": "1.0.3",
@@ -10230,11 +9585,6 @@
       "integrity": "sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q=",
       "dev": true
     },
-    "tinycolor2": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.2.tgz",
-      "integrity": "sha1-P2pNEHGtB2dtf6Ry4frECnGdiAM="
-    },
     "tmp-promise": {
       "version": "3.0.2",
       "resolved": "https://registry.npm.taobao.org/tmp-promise/download/tmp-promise-3.0.2.tgz",
@@ -10328,11 +9678,6 @@
         "is-number": "^7.0.0"
       }
     },
-    "toggle-selection": {
-      "version": "1.0.6",
-      "resolved": "https://registry.nlark.com/toggle-selection/download/toggle-selection-1.0.6.tgz",
-      "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
-    },
     "toidentifier": {
       "version": "1.0.0",
       "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz",
@@ -10441,6 +9786,12 @@
         "mime-types": "~2.1.24"
       }
     },
+    "typed-styles": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npm.taobao.org/typed-styles/download/typed-styles-0.0.7.tgz",
+      "integrity": "sha1-kzkqAIeUxFlRGf9i3eaAnbxAo9k=",
+      "dev": true
+    },
     "typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
@@ -10710,27 +10061,6 @@
       "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=",
       "dev": true
     },
-    "use-callback-ref": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npm.taobao.org/use-callback-ref/download/use-callback-ref-1.2.5.tgz",
-      "integrity": "sha1-YRXtJCz7rtWRVJnAqYQsopEvOKU="
-    },
-    "use-sidecar": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npm.taobao.org/use-sidecar/download/use-sidecar-1.0.5.tgz",
-      "integrity": "sha1-//8qF8HfQuNIYktpm6blwiBSfys=",
-      "requires": {
-        "detect-node-es": "^1.1.0",
-        "tslib": "^1.9.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.14.1",
-          "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz",
-          "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA="
-        }
-      }
-    },
     "utf8-byte-length": {
       "version": "1.0.4",
       "resolved": "https://registry.npm.taobao.org/utf8-byte-length/download/utf8-byte-length-1.0.4.tgz",
@@ -10877,6 +10207,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.nlark.com/warning/download/warning-4.0.3.tgz",
       "integrity": "sha1-Fungd+uKhtavfWSqHgX9hbRnjKM=",
+      "dev": true,
       "requires": {
         "loose-envify": "^1.0.0"
       }
diff --git a/package.json b/package.json
index 9579b11..11d5ad2 100644
--- a/package.json
+++ b/package.json
@@ -30,6 +30,7 @@
     "@babel/preset-env": "^7.14.8",
     "@babel/preset-stage-0": "^7.8.3",
     "@babel/preset-typescript": "^7.14.5",
+    "@blueprintjs/core": "^3.47.0",
     "@rollup/plugin-alias": "^3.1.4",
     "@rollup/plugin-commonjs": "^19.0.1",
     "@rollup/plugin-json": "^4.1.0",
@@ -84,10 +85,10 @@
     "windicss": "^3.1.3"
   },
   "dependencies": {
-    "@chakra-ui/react": "^1.6.5",
     "@emotion/react": "^11.4.0",
     "@emotion/styled": "^11.3.0",
-    "framer-motion": "^4.1.17"
+    "framer-motion": "^4.1.17",
+    "normalize.css": "^8.0.1"
   },
   "build": {
     "productName": "my-project",
diff --git a/src/main/facilities/index.ts b/src/main/facilities/index.ts
index 379a94d..93a5ebd 100644
--- a/src/main/facilities/index.ts
+++ b/src/main/facilities/index.ts
@@ -52,5 +52,5 @@ ipcMain.on("@func:buildin:quit", event => {
 })
 
 ipcMain.on("@func:render:addClock", (event, x, y) => {
-  ipcMain.emit("@func:main:show", event , "about")
+  ipcMain.emit("@func:main:show", event , "about/test")
 })
diff --git a/src/render/AppRouter.tsx b/src/render/AppRouter.tsx
index 60c73e0..d2d7c66 100644
--- a/src/render/AppRouter.tsx
+++ b/src/render/AppRouter.tsx
@@ -47,12 +47,12 @@ function RouteMap(props: any) {
 export default function () {
   return (
     <Router>
-      <RouteMap routes={routes}></RouteMap>
-      {/* <Layout
+      {/* <RouteMap routes={routes}></RouteMap> */}
+      <Layout
         render={() => {
           return <RouteMap routes={routes}></RouteMap>
         }}
-      ></Layout> */}
+      ></Layout>
     </Router>
   )
 }
diff --git a/src/render/assets/style/common.scss b/src/render/assets/style/common.scss
index 5a0060e..e6bfdd3 100644
--- a/src/render/assets/style/common.scss
+++ b/src/render/assets/style/common.scss
@@ -1,5 +1,13 @@
+@import "normalize.css";
 @import "./reset.scss";
 @import "./_font.scss";
+@import "@blueprintjs/core/lib/css/blueprint.css";
+@import "@blueprintjs/icons/lib/css/blueprint-icons.css";
+
+:focus{
+  // 去除按钮点击时的蓝色边框
+  outline: 0;
+}
 
 body,
 button,
diff --git a/src/render/main.tsx b/src/render/main.tsx
index ee8c3e7..c39baa5 100644
--- a/src/render/main.tsx
+++ b/src/render/main.tsx
@@ -4,8 +4,6 @@ import React from "react";
 import ReactDOM from "react-dom";
 import "@/plugins/i18n"
 import {Provider} from 'react-redux'
-import { ChakraProvider, extendTheme } from "@chakra-ui/react"
-import theme from '@chakra-ui/theme'
 import electron from "@/plugins/electron"
 
 import Router from "./AppRouter";
@@ -14,18 +12,11 @@ import Router from "./AppRouter";
 console.log(electron);
 console.log(__staticVar); 
 
-const my_theme = extendTheme({
-  backgroundColor: "transparent"
-})
-
-console.log(theme)
 ReactDOM.render(
   <React.StrictMode>
-    <ChakraProvider theme={my_theme}>
       <Provider store={store}>
         <Router></Router>
       </Provider>
-    </ChakraProvider>
   </React.StrictMode>,
   document.getElementById("root")
 );
diff --git a/src/render/route.tsx b/src/render/route.tsx
index 461df15..8f7d7b9 100644
--- a/src/render/route.tsx
+++ b/src/render/route.tsx
@@ -26,6 +26,7 @@ export default [
     path: "/about",
     component: lazy(() => import("@/views/About")),
     exact: false,
+    root: true,
     meta: {
       auth: false,
     },
@@ -34,6 +35,7 @@ export default [
       {
         path: "/about/test",
         exact: true,
+        layout:false,
         meta: {
           auth: false,
         },
@@ -46,6 +48,8 @@ export default [
     path: "/float",
     component: lazy(() => import("@/views/Float")),
     exact: true,
+    root: true,
+    layout:false,
     meta: {
       auth: false,
     },
@@ -56,6 +60,7 @@ export default [
     component: lazy(() => import("@/views/Home")),
     exact: true,
     loading: () => <Loading color="blue"></Loading>,
+    root: true,
     meta: {
       auth: false,
     },
@@ -64,15 +69,18 @@ export default [
   {
     path: "/",
     exact: true,
+    root: true,
     redirect: "/home",
   },
   {
     path: "/login",
+    root: true,
     component: Login //lazy(() => import("@/views/Login")),
   },
   {
     path: "*",
     exact: false,
+    root: true,
     component: Page404,
   },
 ]
diff --git a/src/render/views/About/index.tsx b/src/render/views/About/index.tsx
index d6cd057..b2cefad 100644
--- a/src/render/views/About/index.tsx
+++ b/src/render/views/About/index.tsx
@@ -11,7 +11,7 @@ export default function About(props: any) {
   function back(){
     console.log(1231);
     
-    history.goBack()
+    history.replace("/about")
   }
   return (
     <div className="">
diff --git a/src/render/views/Home/index.module.scss b/src/render/views/Home/index.module.scss
index 34d14e0..e69de29 100644
--- a/src/render/views/Home/index.module.scss
+++ b/src/render/views/Home/index.module.scss
@@ -1,3 +0,0 @@
-.Home {
-  background-color: transparent;
-}
diff --git a/src/render/views/Home/index.tsx b/src/render/views/Home/index.tsx
index 79112e3..8adb5aa 100644
--- a/src/render/views/Home/index.tsx
+++ b/src/render/views/Home/index.tsx
@@ -1,34 +1,33 @@
 import { addTodo, removeTodo } from "@/store/action/todo"
 import React from "react"
-import { connect } from "react-redux"
+import { connect, useStore } from "react-redux"
 import style from "./index.module.scss"
-import { Button } from "@chakra-ui/react"
+import { Icon } from "@blueprintjs/core"
 
 export interface HomeProps {
   add(text: string): void
-
   todo: ITodo[]
-
   remove(id: number): void
 }
 
 function Home(props: HomeProps) {
+  const tabs = [
+    {icon: "globe", title:"添加闹钟"}
+  ]
   return (
-    <div className={style.Home}>
-      <Button>asd</Button>
-    </div>
+    <div>sada</div>
   )
 }
 
 const mapStateToProps = (state: any) => {
   return {
-    todo: state.todo
+    todo: state.todo,
   }
 }
 
 const mapDispatchToProps = (dispatch: any) => ({
   add: (text: string) => dispatch(addTodo(text)),
-  remove: (id: string | number) => dispatch(removeTodo(id))
+  remove: (id: string | number) => dispatch(removeTodo(id)),
 })
 
 export default connect(mapStateToProps, mapDispatchToProps)(Home)
diff --git a/src/render/views/Layout/index.module.scss b/src/render/views/Layout/index.module.scss
new file mode 100644
index 0000000..65c8dcf
--- /dev/null
+++ b/src/render/views/Layout/index.module.scss
@@ -0,0 +1,33 @@
+.Layout {
+  height: 100vh;
+  .left {
+    position: fixed;
+    left: 0;
+    top: 0;
+    bottom: 0;
+    background-color: #2c2c2c;
+    width: 45px;
+    display: flex;
+    flex-direction: column;
+    overflow: hidden;
+    .leftList,.leftListBottom {
+      width: 100%;
+      .leftItem {
+        text-align: center;
+        padding: 10px 0;
+        color: #808080;
+        cursor: pointer;
+        &:hover {
+          color: #f8ffff;
+        }
+      }
+    }
+    .leftList{
+      flex-grow: 1;
+      flex-shrink: 0;
+    }
+  }
+  .right{
+    margin-left: 45px;
+  }
+}
diff --git a/src/render/views/Layout/index.tsx b/src/render/views/Layout/index.tsx
index 21460e6..e4b9b67 100644
--- a/src/render/views/Layout/index.tsx
+++ b/src/render/views/Layout/index.tsx
@@ -1,16 +1,85 @@
 import React, { ReactElement } from "react"
+import style from "./index.module.scss"
 import { useLocation } from "react-router-dom"
+import { Icon } from "@blueprintjs/core"
+import route from "@render/route"
 
 // interface IProps {
 //   render(): ReactElement
 // }
 
+function foundRoute(route:any, name:string, arrIndex?: number[]):any{
+  if(!arrIndex){
+    arrIndex = []
+  }
+  for (let i = 0; i < route.length; i++) {
+    const element = route[i];
+    if(element.root){
+      arrIndex = []
+    }
+    arrIndex.push(i);
+    let lena = element.path.split("/").length
+    let lenb =name.split("/").length
+    console.log(element.path, name,lena,lenb, element.path == name && lena==lenb);
+    if(element.path == name && lena==lenb){
+      return arrIndex
+    } else if(element.children){
+      let a = foundRoute(element.children, name, arrIndex);
+      if(a){
+        return a
+      }
+    }
+  }
+}
+
 export default function (props: any) {
+  const {pathname} = useLocation()
+
+  console.log(pathname);
+  console.log(route);
+  let oroute = JSON.parse(JSON.stringify(route))
+  let index = foundRoute(route, pathname)
+  console.log(index);
+  let isLayout = true;
+  if(index&&index.length){
+    let res = oroute[index[0]];
+    let cur = res;
+    for (let i = 1; i < index.length; i++) {
+      const element = index[i];
+      cur.children = [cur.children[element]]
+      cur = cur.children[element]
+    }
+    if(cur){
+      cur.children = [];
+    }
+    console.log(cur);
+    if(cur.layout!=undefined){
+      isLayout = !!cur.layout
+    }
+    console.log(res);
+  }
+  
   return (
-    <div>
-      <div className="content">
+    isLayout?(
+      <div className={style.Layout}>
+      <div className={style.left}>
+        <div className={style.leftList}>
+          <div className={style.leftItem} title={"添加闹钟"}>
+            <Icon icon="time" size={20}/>
+            <div>闹钟</div>
+          </div>
+        </div>
+        <div className={style.leftListBottom}>
+          <div className={style.leftItem} title={"设置"}>
+            <Icon icon="settings" size={20} />
+          </div>
+        </div>
+      </div>
+      <div className={style.right}>
         <props.render></props.render>
       </div>
+      <div>sad</div>
     </div>
+    ):(<props.render></props.render>)
   )
 }