From a76c821482bae3b32a0cb4e86287f4e964af0017 Mon Sep 17 00:00:00 2001 From: mancuoj <1337381768@qq.com> Date: Fri, 28 Apr 2023 12:30:36 +0800 Subject: [PATCH] refactor: use unplugin-icons to unify all icons (#439) Co-authored-by: KaiyiWing --- .vscode/settings.json | 4 +- package.json | 16 +- src/assets/flags/cn.png | Bin 2310 -> 0 bytes src/assets/redBook-black-logo.svg | 13 - src/assets/redBook-color-logo.svg | 13 - src/assets/vsc-logo.svg | 34 -- src/assets/xiaohongshu.svg | 1 + src/components/Footer/index.tsx | 83 ++--- src/components/InfoPanel/index.tsx | 14 +- src/components/StarCard/index.tsx | 2 +- src/logo.svg | 1 - src/pages/Gallery-N/ChapterList/index.tsx | 2 +- src/pages/Gallery-N/DictRequest.tsx | 4 +- src/pages/Gallery-N/index.tsx | 2 +- src/pages/Gallery/ChapterButton.tsx | 4 +- src/pages/Gallery/DictionaryCard.tsx | 4 +- .../PronunciationSwitcher/index.tsx | 19 +- .../components/ResultScreen/ConclusionBar.tsx | 10 +- .../Typing/components/ResultScreen/index.tsx | 48 +-- src/pages/Typing/components/Setting/index.tsx | 9 +- .../components/ShareButton/SharePicDialog.tsx | 4 +- .../Typing/components/ShareButton/index.tsx | 2 +- .../Typing/components/SoundSwitcher/index.tsx | 12 +- .../Typing/components/Switcher/index.tsx | 16 +- tsconfig.json | 2 +- vite.config.ts | 16 +- yarn.lock | 317 ++++++++++++++++-- 27 files changed, 417 insertions(+), 235 deletions(-) delete mode 100644 src/assets/flags/cn.png delete mode 100644 src/assets/redBook-black-logo.svg delete mode 100644 src/assets/redBook-color-logo.svg delete mode 100644 src/assets/vsc-logo.svg create mode 100644 src/assets/xiaohongshu.svg delete mode 100644 src/logo.svg diff --git a/.vscode/settings.json b/.vscode/settings.json index ad466a9f..5bcb592a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -33,6 +33,8 @@ "vercel", "Wechat", "Weixin", - "wordlist" + "wordlist", + "Xiao", + "xiaohongshu" ] } diff --git a/package.json b/package.json index 8fc72e4b..bf820c08 100644 --- a/package.json +++ b/package.json @@ -7,19 +7,13 @@ "@floating-ui/react": "^0.20.1", "@headlessui/react": "^1.7.13", "@headlessui/tailwindcss": "^0.1.2", - "@heroicons/react": "^2.0.17", "@radix-ui/react-progress": "^1.0.2", "@radix-ui/react-scroll-area": "^1.0.3", "@radix-ui/react-slider": "^1.1.1", - "@tabler/icons-react": "^2.16.0", - "@tailwindcss/forms": "^0.5.3", - "@tailwindcss/postcss7-compat": "^2.2.17", - "autoprefixer": "^10.4.13", "classnames": "^2.3.2", "dexie": "^3.2.3", "dexie-export-import": "^4.0.7", "dexie-react-hooks": "^1.1.3", - "eslint": "^8.35.0", "file-saver": "^2.0.5", "howler": "^2.2.3", "html-to-image": "^1.11.11", @@ -27,7 +21,6 @@ "jotai": "^2.0.3", "mixpanel-browser": "^2.45.0", "pako": "^2.1.0", - "postcss": "^8.4.21", "react": "^18.2.0", "react-app-polyfill": "^3.0.0", "react-dom": "^18.2.0", @@ -67,6 +60,9 @@ ] }, "devDependencies": { + "@iconify/json": "^2.2.56", + "@svgr/core": "^7.0.0", + "@svgr/plugin-jsx": "^7.0.0", "@trivago/prettier-plugin-sort-imports": "^4.1.1", "@types/file-saver": "^2.0.5", "@types/howler": "^2.2.3", @@ -90,7 +86,13 @@ "prettier-plugin-tailwindcss": "^0.2.7", "rollup-plugin-visualizer": "^5.9.0", "tailwindcss": "^3.3.1", + "autoprefixer": "^10.4.13", + "eslint": "^8.35.0", + "postcss": "^8.4.21", + "@tailwindcss/forms": "^0.5.3", + "@tailwindcss/postcss7-compat": "^2.2.17", "typescript-plugin-css-modules": "^5.0.1", + "unplugin-icons": "^0.16.1", "vite": "^4.1.1" } } diff --git a/src/assets/flags/cn.png b/src/assets/flags/cn.png deleted file mode 100644 index 9fb9e9a2c6c225cbede744ac7f61aef79fca22aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2310 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 diff --git a/src/assets/redBook-black-logo.svg b/src/assets/redBook-black-logo.svg deleted file mode 100644 index acd370a1..00000000 --- a/src/assets/redBook-black-logo.svg +++ /dev/null @@ -1,13 +0,0 @@ - - Xiaohongshu logo - - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/redBook-color-logo.svg b/src/assets/redBook-color-logo.svg deleted file mode 100644 index 6d73202a..00000000 --- a/src/assets/redBook-color-logo.svg +++ /dev/null @@ -1,13 +0,0 @@ - - Xiaohongshu logo - - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/vsc-logo.svg b/src/assets/vsc-logo.svg deleted file mode 100644 index 4dc022eb..00000000 --- a/src/assets/vsc-logo.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/xiaohongshu.svg b/src/assets/xiaohongshu.svg new file mode 100644 index 00000000..a72eaab2 --- /dev/null +++ b/src/assets/xiaohongshu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/Footer/index.tsx b/src/components/Footer/index.tsx index ba6b6a01..b5225a7f 100644 --- a/src/components/Footer/index.tsx +++ b/src/components/Footer/index.tsx @@ -1,18 +1,23 @@ import alipay from '@/assets/alipay.jpg' -import cnFlag from '@/assets/flags/cn.png' -import redBookLogo from '@/assets/redBook-black-logo.svg' import redBookCode from '@/assets/redBook-code.jpg' -import vscLogo from '@/assets/vsc-logo.svg' import weChat from '@/assets/weChat.jpg' import InfoPanel from '@/components/InfoPanel' import Tooltip from '@/components/Tooltip' import { infoPanelStateAtom } from '@/store' import { InfoPanelType } from '@/typings' import { recordOpenInfoPanelAction } from '@/utils' -import { EnvelopeIcon } from '@heroicons/react/24/solid' -import { IconBrandWechat, IconCoffee, IconTerminal2 } from '@tabler/icons-react' import { useAtom } from 'jotai' import React, { useCallback } from 'react' +import IconMail from '~icons/material-symbols/mail' +import IconCoffee2 from '~icons/mdi/coffee' +import IconXiaoHongShu from '~icons/my-icons/xiaohongshu' +import IconGithub from '~icons/simple-icons/github' +import IconVisualstudiocode from '~icons/simple-icons/visualstudiocode' +import IconWechat2 from '~icons/simple-icons/wechat' +import IconWechat from '~icons/tabler/brand-wechat' +import IconCoffee from '~icons/tabler/coffee' +import IconTerminal2 from '~icons/tabler/terminal-2' +import IconFlagChina from '~icons/twemoji/flag-china' const Footer: React.FC = () => { const [infoPanelState, setInfoPanelState] = useAtom(infoPanelStateAtom) @@ -38,12 +43,12 @@ const Footer: React.FC = () => { openState={infoPanelState.donate} title="Buy us a coffee" icon={IconCoffee} - buttonClassName="bg-yellow-500 hover:bg-yellow-400" - iconClassName="bg-amber-100 text-amber-500" + buttonClassName="bg-amber-500 hover:bg-amber-400" + iconClassName="text-amber-500 bg-amber-100 dark:text-amber-300 dark:bg-amber-500" onClose={() => handleCloseInfoPanel('donate')} >

- 非常感谢大家使用 Qwerty Learner, 目前该网站使用业余时间在维护, 为了保证网站能够持续地提供给大家高质量的服务,我们需要您的帮助! + 非常感谢大家使用 Qwerty Learner,目前该网站使用业余时间在维护,为了保证网站能够持续地提供给大家高质量的服务,我们需要您的帮助!
您的捐款将有助于我们支付网站的运营成本,改进网站的功能和设计,并提高用户体验。
@@ -63,8 +68,8 @@ const Footer: React.FC = () => { openState={infoPanelState.vsc} title="VSCode 摸🐟插件" icon={IconTerminal2} - buttonClassName="bg-blue-500 hover:bg-blue-400" - iconClassName="text-blue-600 bg-blue-300" + buttonClassName="bg-sky-500 hover:bg-sky-400" + iconClassName="text-sky-500 bg-sky-100 dark:text-sky-300 dark:bg-sky-500" onClose={() => handleCloseInfoPanel('vsc')} >

@@ -84,12 +89,12 @@ const Footer: React.FC = () => { handleCloseInfoPanel('community')} > -

+

Qwerty Learner 是一个开源项目,旨在为用户提供高质量、可靠的打字练习工具。
加入我们的用户社群后,您可以与我们的开发团队进行沟通,分享您的使用体验和建议,帮助我们改进产品,同时也能够及时了解我们的最新动态和更新内容。 @@ -110,9 +115,9 @@ const Footer: React.FC = () => { handleCloseInfoPanel('redBook')} >

@@ -127,21 +132,14 @@ const Footer: React.FC = () => { 「Qwerty Learner」!


-
redBook -

Tips: 从小红书“我”的左上角点击 三 找到 扫一扫

+

Tips: 从小红书“我”的左上角点击 三 找到 扫一扫


-