fix: change icons
This commit is contained in:
101
components.d.ts
vendored
101
components.d.ts
vendored
@@ -26,10 +26,102 @@ declare module 'vue' {
|
||||
IconCarbonMove: typeof import('~icons/carbon/move')['default']
|
||||
IconEosIconsLoading: typeof import('~icons/eos-icons/loading')['default']
|
||||
IconEpMoon: typeof import('~icons/ep/moon')['default']
|
||||
IconFluentAdd16Filled: typeof import('~icons/fluent/add16-filled')['default']
|
||||
IconFluentAdd16Regular: typeof import('~icons/fluent/add16-regular')['default']
|
||||
IconFluentAdd20Filled: typeof import('~icons/fluent/add20-filled')['default']
|
||||
IconFluentAdd20Regular: typeof import('~icons/fluent/add20-regular')['default']
|
||||
IconFluentAdd24Filled: typeof import('~icons/fluent/add24-filled')['default']
|
||||
IconFluentAddSquare20Regular: typeof import('~icons/fluent/add-square20-regular')['default']
|
||||
IconFluentAppsList24Regular: typeof import('~icons/fluent/apps-list24-regular')['default']
|
||||
IconFluentArrowBounce20Regular: typeof import('~icons/fluent/arrow-bounce20-regular')['default']
|
||||
IconFluentArrowCircleRight16Regular: typeof import('~icons/fluent/arrow-circle-right16-regular')['default']
|
||||
IconFluentArrowCircleRight20Regular: typeof import('~icons/fluent/arrow-circle-right20-regular')['default']
|
||||
IconFluentArrowLeft16Regular: typeof import('~icons/fluent/arrow-left16-regular')['default']
|
||||
IconFluentArrowMove20Regular: typeof import('~icons/fluent/arrow-move20-regular')['default']
|
||||
IconFluentArrowRight16Regular: typeof import('~icons/fluent/arrow-right16-regular')['default']
|
||||
IconFluentArrowRight20Regular: typeof import('~icons/fluent/arrow-right20-regular')['default']
|
||||
IconFluentArrowSort20Regular: typeof import('~icons/fluent/arrow-sort20-regular')['default']
|
||||
IconFluentArrowSwap12Regular: typeof import('~icons/fluent/arrow-swap12-regular')['default']
|
||||
IconFluentArrowSwap16Regular: typeof import('~icons/fluent/arrow-swap16-regular')['default']
|
||||
IconFluentArrowSwap20Regular: typeof import('~icons/fluent/arrow-swap20-regular')['default']
|
||||
IconFluentArrowSync16Regular: typeof import('~icons/fluent/arrow-sync16-regular')['default']
|
||||
IconFluentArrowSync20Regular: typeof import('~icons/fluent/arrow-sync20-regular')['default']
|
||||
IconFluentArrowTurnUpDown20Regular: typeof import('~icons/fluent/arrow-turn-up-down20-regular')['default']
|
||||
IconFluentBookLetter16Regular: typeof import('~icons/fluent/book-letter16-regular')['default']
|
||||
IconFluentBookLetter20Regular: typeof import('~icons/fluent/book-letter20-regular')['default']
|
||||
IconFluentCheckmark20Regular: typeof import('~icons/fluent/checkmark20-regular')['default']
|
||||
IconFluentCheckmarkCircle16Filled: typeof import('~icons/fluent/checkmark-circle16-filled')['default']
|
||||
IconFluentCheckmarkCircle16Regular: typeof import('~icons/fluent/checkmark-circle16-regular')['default']
|
||||
IconFluentCheckmarkCircle20Filled: typeof import('~icons/fluent/checkmark-circle20-filled')['default']
|
||||
IconFluentCheckmarkCircle20Regular: typeof import('~icons/fluent/checkmark-circle20-regular')['default']
|
||||
IconFluentChevronLeft12Regular: typeof import('~icons/fluent/chevron-left12-regular')['default']
|
||||
IconFluentChevronLeft16Regular: typeof import('~icons/fluent/chevron-left16-regular')['default']
|
||||
IconFluentChevronLeft20Filled: typeof import('~icons/fluent/chevron-left20-filled')['default']
|
||||
IconFluentChevronLeft28Filled: typeof import('~icons/fluent/chevron-left28-filled')['default']
|
||||
IconFluentDatabasePerson20Regular: typeof import('~icons/fluent/database-person20-regular')['default']
|
||||
IconFluentDelete20Regular: typeof import('~icons/fluent/delete20-regular')['default']
|
||||
IconFluentDelete24Regular: typeof import('~icons/fluent/delete24-regular')['default']
|
||||
IconFluentDesktopSpeaker20Filled: typeof import('~icons/fluent/desktop-speaker20-filled')['default']
|
||||
IconFluentDismiss20Regular: typeof import('~icons/fluent/dismiss20-regular')['default']
|
||||
IconFluentDismissCircle16Regular: typeof import('~icons/fluent/dismiss-circle16-regular')['default']
|
||||
IconFluentDismissCircle20Filled: typeof import('~icons/fluent/dismiss-circle20-filled')['default']
|
||||
IconFluentDismissCircle20Regular: typeof import('~icons/fluent/dismiss-circle20-regular')['default']
|
||||
IconFluentEmoji20Regular: typeof import('~icons/fluent/emoji20-regular')['default']
|
||||
IconFluentEmojiLaugh20Regular: typeof import('~icons/fluent-emoji/laugh20-regular')['default']
|
||||
IconFluentEmojiMeme20Regular: typeof import('~icons/fluent-emoji/meme20-regular')['default']
|
||||
IconFluentEmojiSadSlight20Regular: typeof import('~icons/fluent-emoji/sad-slight20-regular')['default']
|
||||
IconFluentEmojiSparkle20Regular: typeof import('~icons/fluent-emoji/sparkle20-regular')['default']
|
||||
IconFluentErrorCircle20Filled: typeof import('~icons/fluent/error-circle20-filled')['default']
|
||||
IconFluentEye16Regular: typeof import('~icons/fluent/eye16-regular')['default']
|
||||
IconFluentEyeOff16Regular: typeof import('~icons/fluent/eye-off16-regular')['default']
|
||||
IconFluentEyeOn16Regular: typeof import('~icons/fluent/eye-on16-regular')['default']
|
||||
IconFluentHeadphones20Regular: typeof import('~icons/fluent/headphones20-regular')['default']
|
||||
IconFluentKeyboard20Regular: typeof import('~icons/fluent/keyboard20-regular')['default']
|
||||
IconFluentKeyboardLayoutFloat20Regular: typeof import('~icons/fluent/keyboard-layout-float20-regular')['default']
|
||||
IconFluentMailEdit20Regular: typeof import('~icons/fluent/mail-edit20-regular')['default']
|
||||
IconFluentMyLocation20Regular: typeof import('~icons/fluent/my-location20-regular')['default']
|
||||
IconFluentPaddingLeft20Regular: typeof import('~icons/fluent/padding-left20-regular')['default']
|
||||
IconFluentPerson20Regular: typeof import('~icons/fluent/person20-regular')['default']
|
||||
IconFluentPlay20Regular: typeof import('~icons/fluent/play20-regular')['default']
|
||||
IconFluentQuestionCircle20Regular: typeof import('~icons/fluent/question-circle20-regular')['default']
|
||||
IconFluentReplay16Filled: typeof import('~icons/fluent/replay16-filled')['default']
|
||||
IconFluentReplay20Regular: typeof import('~icons/fluent/replay20-regular')['default']
|
||||
IconFluentScanType20Regular: typeof import('~icons/fluent/scan-type20-regular')['default']
|
||||
IconFluentSearch16Regular: typeof import('~icons/fluent/search16-regular')['default']
|
||||
IconFluentSearch20Regular: typeof import('~icons/fluent/search20-regular')['default']
|
||||
IconFluentSearch24Regular: typeof import('~icons/fluent/search24-regular')['default']
|
||||
IconFluentSettings20Regular: typeof import('~icons/fluent/settings20-regular')['default']
|
||||
IconFluentSettings32Regular: typeof import('~icons/fluent/settings32-regular')['default']
|
||||
IconFluentShieldError20Regular: typeof import('~icons/fluent/shield-error20-regular')['default']
|
||||
IconFluentShieldQuestion20Regular: typeof import('~icons/fluent/shield-question20-regular')['default']
|
||||
IconFluentSpeaker016Regular: typeof import('~icons/fluent/speaker016-regular')['default']
|
||||
IconFluentSpeaker020Regular: typeof import('~icons/fluent/speaker020-regular')['default']
|
||||
IconFluentSpeaker120Regular: typeof import('~icons/fluent/speaker120-regular')['default']
|
||||
IconFluentSpeaker216Filled: typeof import('~icons/fluent/speaker216-filled')['default']
|
||||
IconFluentSpeaker216Regular: typeof import('~icons/fluent/speaker216-regular')['default']
|
||||
IconFluentSpeaker220Regular: typeof import('~icons/fluent/speaker220-regular')['default']
|
||||
IconFluentSpeaker224Regular: typeof import('~icons/fluent/speaker224-regular')['default']
|
||||
IconFluentSpeakerEdit20Regular: typeof import('~icons/fluent/speaker-edit20-regular')['default']
|
||||
IconFluentStar12Regular: typeof import('~icons/fluent/star12-regular')['default']
|
||||
IconFluentStar16Filled: typeof import('~icons/fluent/star16-filled')['default']
|
||||
IconFluentStar16Regular: typeof import('~icons/fluent/star16-regular')['default']
|
||||
IconFluentStar20Filled: typeof import('~icons/fluent/star20-filled')['default']
|
||||
IconFluentStar20Regular: typeof import('~icons/fluent/star20-regular')['default']
|
||||
IconFluentStarAdd16Regular: typeof import('~icons/fluent/star-add16-regular')['default']
|
||||
IconFluentStarAdd20Regular: typeof import('~icons/fluent/star-add20-regular')['default']
|
||||
IconFluentTextEditStyle20Regular: typeof import('~icons/fluent/text-edit-style20-regular')['default']
|
||||
IconFluentTextField20Regular: typeof import('~icons/fluent/text-field20-regular')['default']
|
||||
IconFluentTextListAbcLowercaseLtr16Regular: typeof import('~icons/fluent/text-list-abc-lowercase-ltr16-regular')['default']
|
||||
IconFluentTextListAbcLowercaseLtr20Regular: typeof import('~icons/fluent/text-list-abc-lowercase-ltr20-regular')['default']
|
||||
IconFluentTextListAbcUppercaseLtr20Regular: typeof import('~icons/fluent/text-list-abc-uppercase-ltr20-regular')['default']
|
||||
IconFluentTextUnderlineDouble20Regular: typeof import('~icons/fluent/text-underline-double20-regular')['default']
|
||||
IconFluentTextWholeWord20Regular: typeof import('~icons/fluent/text-whole-word20-regular')['default']
|
||||
IconFluentTranslate16Regular: typeof import('~icons/fluent/translate16-regular')['default']
|
||||
IconFluentTranslate20Regular: typeof import('~icons/fluent/translate20-regular')['default']
|
||||
IconFluentTranslateOff16Regular: typeof import('~icons/fluent/translate-off16-regular')['default']
|
||||
IconFluentTranslateOff20Regular: typeof import('~icons/fluent/translate-off20-regular')['default']
|
||||
IconFluentWeatherMoon16Regular: typeof import('~icons/fluent/weather-moon16-regular')['default']
|
||||
IconFluentWeatherSunny16Regular: typeof import('~icons/fluent/weather-sunny16-regular')['default']
|
||||
IconFormkitLeft: typeof import('~icons/formkit/left')['default']
|
||||
IconFormkitRight: typeof import('~icons/formkit/right')['default']
|
||||
IconGgArrowsExchange: typeof import('~icons/gg/arrows-exchange')['default']
|
||||
@@ -43,10 +135,19 @@ declare module 'vue' {
|
||||
IconIcSharpMyLocation: typeof import('~icons/ic/sharp-my-location')['default']
|
||||
IconIonCloseOutline: typeof import('~icons/ion/close-outline')['default']
|
||||
IconMajesticonsEyeOffLine: typeof import('~icons/majesticons/eye-off-line')['default']
|
||||
IconMaterialSymbolsArrowBackIosNewRounded: typeof import('~icons/material-symbols/arrow-back-ios-new-rounded')['default']
|
||||
IconMaterialSymbolsBook3OutlineRounded: typeof import('~icons/material-symbols/book3-outline-rounded')['default']
|
||||
IconMaterialSymbolsBook3OutlineRoundeds: typeof import('~icons/material-symbols/book3-outline-roundeds')['default']
|
||||
IconMaterialSymbolsCheckCircleOutlineRounded: typeof import('~icons/material-symbols/check-circle-outline-rounded')['default']
|
||||
IconMaterialSymbolsCheckCircleRounded: typeof import('~icons/material-symbols/check-circle-rounded')['default']
|
||||
IconMaterialSymbolsChevronLeftRounded: typeof import('~icons/material-symbols/chevron-left-rounded')['default']
|
||||
IconMaterialSymbolsChevronRightRounded: typeof import('~icons/material-symbols/chevron-right-rounded')['default']
|
||||
IconMaterialSymbolsKeyboardOutline: typeof import('~icons/material-symbols/keyboard-outline')['default']
|
||||
IconMaterialSymbolsLightDictionaryOutlineSharp: typeof import('~icons/material-symbols-light/dictionary-outline-sharp')['default']
|
||||
IconMaterialSymbolsLightSettingsOutlineRounded: typeof import('~icons/material-symbols-light/settings-outline-rounded')['default']
|
||||
IconMaterialSymbolsMoonStarsOutlineRounded: typeof import('~icons/material-symbols/moon-stars-outline-rounded')['default']
|
||||
IconMaterialSymbolsSettingsOutline: typeof import('~icons/material-symbols/settings-outline')['default']
|
||||
IconMaterialSymbolsWbSunnyOutlineRounded: typeof import('~icons/material-symbols/wb-sunny-outline-rounded')['default']
|
||||
IconMdiAboutCircleOutline: typeof import('~icons/mdi/about-circle-outline')['default']
|
||||
IconMdiAlertCircle: typeof import('~icons/mdi/alert-circle')['default']
|
||||
IconMdiCheckCircle: typeof import('~icons/mdi/check-circle')['default']
|
||||
|
||||
29
package.json
29
package.json
@@ -36,34 +36,9 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@alicloud/pop-core": "^1.8.0",
|
||||
"@iconify-json/basil": "^1.2.4",
|
||||
"@iconify-json/bi": "^1.2.6",
|
||||
"@iconify-json/bx": "^1.2.2",
|
||||
"@iconify-json/carbon": "^1.2.13",
|
||||
"@iconify-json/eos-icons": "^1.2.4",
|
||||
"@iconify-json/ep": "^1.2.3",
|
||||
"@iconify-json/fluent": "^1.2.28",
|
||||
"@iconify-json/formkit": "^1.2.2",
|
||||
"@iconify-json/gg": "^1.2.2",
|
||||
"@iconify-json/hugeicons": "^1.2.10",
|
||||
"@iconify-json/ic": "^1.2.4",
|
||||
"@iconify-json/icon-park-outline": "^1.2.4",
|
||||
"@iconify-json/iconamoon": "^1.2.2",
|
||||
"@iconify-json/icons8": "^1.2.1",
|
||||
"@iconify-json/ion": "^1.2.6",
|
||||
"@iconify-json/majesticons": "^1.2.4",
|
||||
"@iconify-json/material-symbols": "^1.2.32",
|
||||
"@iconify-json/material-symbols-light": "^1.2.32",
|
||||
"@iconify-json/mdi": "^1.2.3",
|
||||
"@iconify-json/mingcute": "^1.2.5",
|
||||
"@iconify-json/ph": "^1.2.2",
|
||||
"@iconify-json/ri": "^1.2.5",
|
||||
"@iconify-json/solar": "^1.2.4",
|
||||
"@iconify-json/tabler": "^1.2.22",
|
||||
"@iconify-json/tdesign": "^1.2.8",
|
||||
"@iconify-json/twemoji": "^1.2.4",
|
||||
"@iconify-json/typcn": "^1.2.2",
|
||||
"@iconify-json/uil": "^1.2.3",
|
||||
"@types/file-saver": "^2.0.7",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/md5": "^2.1.33",
|
||||
@@ -80,6 +55,7 @@
|
||||
"husky": "^8.0.3",
|
||||
"rollup-plugin-visualizer": "^5.14.0",
|
||||
"sass": "^1.89.2",
|
||||
"sitemap": "^8.0.0",
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.8.3",
|
||||
"unocss": "^66.4.0",
|
||||
@@ -89,8 +65,7 @@
|
||||
"vite": "^7.0.3",
|
||||
"vite-plugin-externals": "^0.6.2",
|
||||
"vue-tsc": "^3.0.1",
|
||||
"xlsx": "^0.18.5",
|
||||
"sitemap": "^8.0.0"
|
||||
"xlsx": "^0.18.5"
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
|
||||
250
pnpm-lock.yaml
generated
250
pnpm-lock.yaml
generated
@@ -60,90 +60,15 @@ importers:
|
||||
'@alicloud/pop-core':
|
||||
specifier: ^1.8.0
|
||||
version: 1.8.0
|
||||
'@iconify-json/basil':
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4
|
||||
'@iconify-json/bi':
|
||||
specifier: ^1.2.6
|
||||
version: 1.2.6
|
||||
'@iconify-json/bx':
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
'@iconify-json/carbon':
|
||||
specifier: ^1.2.13
|
||||
version: 1.2.13
|
||||
'@iconify-json/eos-icons':
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4
|
||||
'@iconify-json/ep':
|
||||
specifier: ^1.2.3
|
||||
version: 1.2.3
|
||||
'@iconify-json/fluent':
|
||||
specifier: ^1.2.28
|
||||
version: 1.2.28
|
||||
'@iconify-json/formkit':
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
'@iconify-json/gg':
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
'@iconify-json/hugeicons':
|
||||
specifier: ^1.2.10
|
||||
version: 1.2.10
|
||||
'@iconify-json/ic':
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4
|
||||
'@iconify-json/icon-park-outline':
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4
|
||||
'@iconify-json/iconamoon':
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
'@iconify-json/icons8':
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
'@iconify-json/ion':
|
||||
specifier: ^1.2.6
|
||||
version: 1.2.6
|
||||
'@iconify-json/majesticons':
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4
|
||||
'@iconify-json/material-symbols':
|
||||
specifier: ^1.2.32
|
||||
version: 1.2.32
|
||||
'@iconify-json/material-symbols-light':
|
||||
specifier: ^1.2.32
|
||||
version: 1.2.32
|
||||
'@iconify-json/mdi':
|
||||
specifier: ^1.2.3
|
||||
version: 1.2.3
|
||||
'@iconify-json/mingcute':
|
||||
specifier: ^1.2.5
|
||||
version: 1.2.5
|
||||
'@iconify-json/ph':
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
'@iconify-json/ri':
|
||||
specifier: ^1.2.5
|
||||
version: 1.2.5
|
||||
'@iconify-json/solar':
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4
|
||||
'@iconify-json/tabler':
|
||||
specifier: ^1.2.22
|
||||
version: 1.2.22
|
||||
'@iconify-json/tdesign':
|
||||
specifier: ^1.2.8
|
||||
version: 1.2.8
|
||||
'@iconify-json/twemoji':
|
||||
specifier: ^1.2.4
|
||||
version: 1.2.4
|
||||
'@iconify-json/typcn':
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
'@iconify-json/uil':
|
||||
specifier: ^1.2.3
|
||||
version: 1.2.3
|
||||
'@types/file-saver':
|
||||
specifier: ^2.0.7
|
||||
version: 2.0.7
|
||||
@@ -547,90 +472,15 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@iconify-json/basil@1.2.4':
|
||||
resolution: {integrity: sha512-KUL5JBdFDF7APY8XiuqvfpiecIby8pIbs6rm3WLgdVDqMlKH0WcWEwd+ilANby8X3AuHQVrjNjByh9MpfAR3lQ==}
|
||||
|
||||
'@iconify-json/bi@1.2.6':
|
||||
resolution: {integrity: sha512-fWfLr1/+DJDe8+rIUXxMwvmWBZFlxRtM59sYnrezJ2xX87QKyXVw3QuforJ4kF2Orrz85J+JTRG6305vaJ7flA==}
|
||||
|
||||
'@iconify-json/bx@1.2.2':
|
||||
resolution: {integrity: sha512-hZVx6LMEkYckScdRdUuQWcmv8Lm2au6Cnf799TLoR6YgiAfFvaJ4M5ElwcnExvCu8ntsS7jW89r0W5LwBAfZXQ==}
|
||||
|
||||
'@iconify-json/carbon@1.2.13':
|
||||
resolution: {integrity: sha512-vXrFFKkfYaZSwf4WfnRQJQMnpEzxlPlupwZZlS1WvOAuNnWahsUudHycaMpoBzDqBfniH4KQ2b5qnw0VMKoJug==}
|
||||
|
||||
'@iconify-json/eos-icons@1.2.4':
|
||||
resolution: {integrity: sha512-gp2BCSF3+aRgMqE7LRAVxT5nXJLOtfcvGnOYwJz4gc4zxcEqAaOByxFVLZej15jXPRJmUv2TSzMNrQ2gDtw4VA==}
|
||||
|
||||
'@iconify-json/ep@1.2.3':
|
||||
resolution: {integrity: sha512-bESiKz5aTcbT4chTVSKjR5P+Nk81ibRtWgR7Gng5JPdF1Az+91+bIOof/OCUKThFRWqWsQ9A4XmSSrakvjuJDQ==}
|
||||
|
||||
'@iconify-json/fluent@1.2.28':
|
||||
resolution: {integrity: sha512-Lnaf38ruWopJv8PdEsK8vXgxKpFSsKED2kI0/575ZXg6XHUMvzSuLlldAVAOEWZmMVPJFC0MXe07Ybnh1ziLvw==}
|
||||
|
||||
'@iconify-json/formkit@1.2.2':
|
||||
resolution: {integrity: sha512-vrv5X44zie1F46e1AsPjN2MEi8ui+6SA1EvWETphAbkd+MaXmxyD4vra3hdTOYYNJDn5dkC7vMGf5WieCMu9zA==}
|
||||
|
||||
'@iconify-json/gg@1.2.2':
|
||||
resolution: {integrity: sha512-8iQh8+Tdb/0jakNYy0+t2GVubjhbaJbuYoPsRhFw8IAs00IQV2BjE9GoB2kGF/UObaJCqvCelB3qRaUdizkrmg==}
|
||||
|
||||
'@iconify-json/hugeicons@1.2.10':
|
||||
resolution: {integrity: sha512-LfbCMlxgM4aRlLdKfsr6+Yg+fOvFx5MQd6tVgoqSPaPL0iN8bZdsDv++TpTlOy043LUVcAbRAu0ZobmWCz6cHw==}
|
||||
|
||||
'@iconify-json/ic@1.2.4':
|
||||
resolution: {integrity: sha512-pzPMmrZrBQuwT7nmtrYdkttun8KalRGgZPIL1Ny9KpF2zjRGIUPN+npTfuD3lrgO/OnSwAoJWuekQwBpt/Cqrw==}
|
||||
|
||||
'@iconify-json/icon-park-outline@1.2.4':
|
||||
resolution: {integrity: sha512-NyZxXe2gD2TbTOyoRRMdtEJhr6i2KQCdDlYYoOn5oZLndQjwpIhw79hzeFhXvP38/o40D3gQ+l+IaSJgbB+0TQ==}
|
||||
|
||||
'@iconify-json/iconamoon@1.2.2':
|
||||
resolution: {integrity: sha512-Xn7YeSDniPgutPr0qil/iQwQelq975OYQ/i2twGjcK4DjGOXBrBC+6q45WtVuQbFfXzM7bgijv4yVnxy0OqUdQ==}
|
||||
|
||||
'@iconify-json/icons8@1.2.1':
|
||||
resolution: {integrity: sha512-YHEpcPkCgyiYiGyHKk5CK4RzELEP5XDueQiguWe7lXJlG5rSkXMVOgOYfmANkwnTRF+/RZX/uQE1uf3y+haDgw==}
|
||||
|
||||
'@iconify-json/ion@1.2.6':
|
||||
resolution: {integrity: sha512-JftEXKfjvJNn3SrGeSBrG/waRkjeTpLdMLNLwpAX4NgI14QgJoAeXEh2iZjNPqioAkeIgErX4Bi6mnFwpjk3BQ==}
|
||||
|
||||
'@iconify-json/majesticons@1.2.4':
|
||||
resolution: {integrity: sha512-8h6zfqN/8eKLNGcHzJd8LZ+vI6aC2MIGq+QTNoYD/H98TL1N/s8ufxal54OkzIsemylXxWLj+NLd0wXDLlVIIg==}
|
||||
|
||||
'@iconify-json/material-symbols-light@1.2.32':
|
||||
resolution: {integrity: sha512-QbXhpJD+PHdl/G/esFrjBWwTOWzmUTILowa8m1yAMtS645+SKcN9R7HZt8Ir6OXbLaxv+6CzLW4oaTyu5nXaTA==}
|
||||
|
||||
'@iconify-json/material-symbols@1.2.32':
|
||||
resolution: {integrity: sha512-Jw3wdiNV8X1MoiS0rFzlZFYek/yYS1GTh/64L3lZkqlPo+uJAb0xdtVWZR54tzY/0G2OuWXMDqeCCQ6I2wB9/w==}
|
||||
|
||||
'@iconify-json/mdi@1.2.3':
|
||||
resolution: {integrity: sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==}
|
||||
|
||||
'@iconify-json/mingcute@1.2.5':
|
||||
resolution: {integrity: sha512-LKlW4wahStprbfJcpzUnuayObOVAuztgYSy3v5oTke6cBJNfqEeE/mtMhHgpoSgGJvo5hhde2Q0+DoxKEldY2A==}
|
||||
|
||||
'@iconify-json/ph@1.2.2':
|
||||
resolution: {integrity: sha512-PgkEZNtqa8hBGjHXQa4pMwZa93hmfu8FUSjs/nv4oUU6yLsgv+gh9nu28Kqi8Fz9CCVu4hj1MZs9/60J57IzFw==}
|
||||
|
||||
'@iconify-json/ri@1.2.5':
|
||||
resolution: {integrity: sha512-kWGimOXMZrlYusjBKKXYOWcKhbOHusFsmrmRGmjS7rH0BpML5A9/fy8KHZqFOwZfC4M6amObQYbh8BqO5cMC3w==}
|
||||
|
||||
'@iconify-json/solar@1.2.4':
|
||||
resolution: {integrity: sha512-ruAh+bbYimlzqXW6MtqmvWlfatvFjE7o1fZWieps1h42Dx7AaHu4Z/dgOYSO1RR4MIhNzD+2xgEbFjASgBcEyg==}
|
||||
|
||||
'@iconify-json/tabler@1.2.22':
|
||||
resolution: {integrity: sha512-KmCtTzZyz7dtszdQGJ5wbWqko6exhI38e4aCQqWZE1Z2wGUqBsMXrRWawXkAp6/XNBebt54h0lcxFCaTYBwFJg==}
|
||||
|
||||
'@iconify-json/tdesign@1.2.8':
|
||||
resolution: {integrity: sha512-Q/Ty43etGvXFkEVLYOW2cRaQFbjZoXcOvmOktJRludaN9SX5NeA86VvpriHAfsnsKnRGh0udLy8UscA5JumZKg==}
|
||||
|
||||
'@iconify-json/twemoji@1.2.4':
|
||||
resolution: {integrity: sha512-REYJeXhzaLktNe32DxJJf3t65sYC5KO9K0Jh+RApXRBAo1/IB+jBqd8rny2sXci+wtQLBEfD4z4AGCLBrTMGWA==}
|
||||
|
||||
'@iconify-json/typcn@1.2.2':
|
||||
resolution: {integrity: sha512-I7ckhJgsuvzO1JPgEIsbcjvANVoCs3046w7IcdVpMpz7rJPp2r8+PajvpQ84vHYkCTti297NmOTuTARTiaabTw==}
|
||||
|
||||
'@iconify-json/uil@1.2.3':
|
||||
resolution: {integrity: sha512-if91+UBhDQc6glPsIaXecGIcXnbQZfEO4Gdv89TV2xQ+V5e9GWbY5rNl2fsKZd8COsRQ5lRQAKimVQVL0CZZVg==}
|
||||
|
||||
'@iconify/types@2.0.0':
|
||||
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
||||
|
||||
@@ -4252,118 +4102,18 @@ snapshots:
|
||||
'@esbuild/win32-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@iconify-json/basil@1.2.4':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/bi@1.2.6':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/bx@1.2.2':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/carbon@1.2.13':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/eos-icons@1.2.4':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/ep@1.2.3':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/fluent@1.2.28':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/formkit@1.2.2':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/gg@1.2.2':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/hugeicons@1.2.10':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/ic@1.2.4':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/icon-park-outline@1.2.4':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/iconamoon@1.2.2':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/icons8@1.2.1':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/ion@1.2.6':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/majesticons@1.2.4':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/material-symbols-light@1.2.32':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/material-symbols@1.2.32':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/mdi@1.2.3':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/mingcute@1.2.5':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/ph@1.2.2':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/ri@1.2.5':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/solar@1.2.4':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/tabler@1.2.22':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/tdesign@1.2.8':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/twemoji@1.2.4':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/typcn@1.2.2':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify-json/uil@1.2.3':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
||||
'@iconify/types@2.0.0': {}
|
||||
|
||||
'@iconify/utils@2.3.0':
|
||||
|
||||
@@ -37,10 +37,6 @@ defineEmits(['click'])
|
||||
width="18"
|
||||
:color="type === 'info'?'#000000':'#ffffff'"
|
||||
/>
|
||||
<div class="key-notice" v-if="keyboard">
|
||||
<IconBiKeyboard width="14" color="#ffffff"/>
|
||||
<span class="key">{{ keyboard }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</Tooltip>
|
||||
</template>
|
||||
@@ -128,18 +124,4 @@ defineEmits(['click'])
|
||||
opacity: .4;
|
||||
}
|
||||
}
|
||||
|
||||
.key-notice {
|
||||
margin-left: .6rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: .8rem;
|
||||
color: white;
|
||||
//gap: 2rem;
|
||||
|
||||
.key {
|
||||
transform: scale(0.8);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -12,7 +12,7 @@ defineProps<{
|
||||
@click="$emit('click')"
|
||||
>
|
||||
<Tooltip :title="title">
|
||||
<IconCarbonCloseOutline/>
|
||||
<IconFluentDismissCircle16Regular/>
|
||||
</Tooltip>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script setup lang="ts"></script>
|
||||
|
||||
<template>
|
||||
<IconSolarTrashBinMinimalisticLinear/>
|
||||
<IconFluentDelete20Regular/>
|
||||
</template>
|
||||
|
||||
@@ -43,7 +43,6 @@ function click() {
|
||||
play()
|
||||
}
|
||||
|
||||
let iconList = ['bx:volume', 'bx:volume-low', 'bx:volume-full']
|
||||
defineExpose({play})
|
||||
|
||||
</script>
|
||||
|
||||
@@ -97,18 +97,16 @@ async function goBookDetail(val: DictResource) {
|
||||
base.currentBook.name || '请选择书籍开始学习'
|
||||
}}</span>
|
||||
<BaseIcon @click="router.push('/book-list')">
|
||||
<IconGgArrowsExchange v-if="base.currentBook.name"/>
|
||||
<IconFluentAdd20Filled v-else/>
|
||||
<IconFluentArrowSync16Regular v-if="base.currentBook.name"/>
|
||||
<IconFluentAdd16Filled v-else/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
<BaseButton
|
||||
size="large"
|
||||
@click="startStudy"
|
||||
:disabled="!base.currentBook.name"
|
||||
>
|
||||
<BaseButton size="large"
|
||||
@click="startStudy"
|
||||
:disabled="!base.currentBook.name">
|
||||
<div class="flex items-center gap-2">
|
||||
<span>开始学习</span>
|
||||
<IconIcons8RightRound class="text-2xl"/>
|
||||
<span class="line-height-[2]">开始学习</span>
|
||||
<IconFluentArrowCircleRight16Regular class="text-xl"/>
|
||||
</div>
|
||||
</BaseButton>
|
||||
</div>
|
||||
|
||||
@@ -113,8 +113,8 @@ const {
|
||||
:class="!isArticleCollect(item)?'collect':'fill'"
|
||||
@click.stop="toggleArticleCollect(item)"
|
||||
:title="!isArticleCollect(item) ? '收藏' : '取消收藏'">
|
||||
<IconPhStar v-if="!isArticleCollect(item)"/>
|
||||
<IconPhStarFill v-else/>
|
||||
<IconFluentStar16Regular v-if="!isArticleCollect(item)"/>
|
||||
<IconFluentStar16Filled v-else/>
|
||||
</BaseIcon>
|
||||
</template>
|
||||
</ArticleList>
|
||||
|
||||
@@ -305,8 +305,8 @@ const {playSentenceAudio} = usePlaySentenceAudio()
|
||||
:class="!isArticleCollect(item) ? 'collect' : 'fill'"
|
||||
@click.stop="toggleArticleCollect(item)"
|
||||
:title="!isArticleCollect(item) ? '收藏' : '取消收藏'">
|
||||
<IconPhStar v-if="!isArticleCollect(item)"/>
|
||||
<IconPhStarFill v-else/>
|
||||
<IconFluentStar16Regular v-if="!isArticleCollect(item)"/>
|
||||
<IconFluentStar16Filled v-else/>
|
||||
</BaseIcon>
|
||||
</template>
|
||||
</ArticleList>
|
||||
@@ -322,11 +322,10 @@ const {playSentenceAudio} = usePlaySentenceAudio()
|
||||
</div>
|
||||
<div class="footer" :class="!settingStore.showToolbar && 'hide'">
|
||||
<Tooltip :title="settingStore.showToolbar?'收起':'展开'">
|
||||
<IconIconParkOutlineDown
|
||||
<IconFluentChevronLeft20Filled
|
||||
@click="settingStore.showToolbar = !settingStore.showToolbar"
|
||||
class="arrow"
|
||||
:class="!settingStore.showToolbar && 'down'"
|
||||
width="24"
|
||||
color="#999"/>
|
||||
</Tooltip>
|
||||
|
||||
@@ -351,27 +350,27 @@ const {playSentenceAudio} = usePlaySentenceAudio()
|
||||
<BaseIcon
|
||||
:title="`下一句(${settingStore.shortcutKeyMap[ShortcutKey.Next]})`"
|
||||
@click="skip">
|
||||
<IconIconParkOutlineGoAhead/>
|
||||
<IconFluentArrowBounce20Regular class="transform-rotate-180"/>
|
||||
</BaseIcon>
|
||||
<BaseIcon
|
||||
:title="`重听(${settingStore.shortcutKeyMap[ShortcutKey.PlayWordPronunciation]})`"
|
||||
@click="play">
|
||||
<IconFluentReplay16Filled/>
|
||||
<IconFluentReplay20Regular/>
|
||||
</BaseIcon>
|
||||
|
||||
<BaseIcon
|
||||
@click="settingStore.dictation = !settingStore.dictation"
|
||||
:title="`开关默写模式(${settingStore.shortcutKeyMap[ShortcutKey.ToggleDictation]})`"
|
||||
>
|
||||
<IconMajesticonsEyeOffLine v-if="settingStore.dictation"/>
|
||||
<IconMdiEyeOutline v-else/>
|
||||
<IconFluentEyeOff16Regular v-if="settingStore.dictation"/>
|
||||
<IconFluentEye16Regular v-else/>
|
||||
</BaseIcon>
|
||||
|
||||
<BaseIcon
|
||||
:title="`开关释义显示(${settingStore.shortcutKeyMap[ShortcutKey.ToggleShowTranslate]})`"
|
||||
@click="settingStore.translate = !settingStore.translate">
|
||||
<IconMdiTranslate v-if="settingStore.translate"/>
|
||||
<IconMdiTranslateOff v-else/>
|
||||
<IconFluentTranslate16Regular v-if="settingStore.translate"/>
|
||||
<IconFluentTranslateOff16Regular v-else/>
|
||||
</BaseIcon>
|
||||
|
||||
<!-- <BaseIcon-->
|
||||
@@ -382,7 +381,7 @@ const {playSentenceAudio} = usePlaySentenceAudio()
|
||||
<BaseIcon
|
||||
@click="settingStore.showPanel = !settingStore.showPanel"
|
||||
:title="`面板(${settingStore.shortcutKeyMap[ShortcutKey.TogglePanel]})`">
|
||||
<IconTdesignMenuUnfold/>
|
||||
<IconFluentTextListAbcUppercaseLtr20Regular/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
</div>
|
||||
@@ -451,7 +450,7 @@ const {playSentenceAudio} = usePlaySentenceAudio()
|
||||
margin-bottom: .8rem;
|
||||
transition: all var(--anim-time);
|
||||
position: relative;
|
||||
margin-top: 1rem;
|
||||
margin-top: 1.6rem;
|
||||
|
||||
&.hide {
|
||||
margin-bottom: -6rem;
|
||||
@@ -495,16 +494,17 @@ const {playSentenceAudio} = usePlaySentenceAudio()
|
||||
|
||||
.arrow {
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
top: -40%;
|
||||
left: 50%;
|
||||
cursor: pointer;
|
||||
transition: all .5s;
|
||||
transform: rotate(0);
|
||||
transform: rotate(-90deg);
|
||||
padding: .5rem;
|
||||
font-size: 1.2rem;
|
||||
|
||||
&.down {
|
||||
top: -90%;
|
||||
transform: rotate(180deg);
|
||||
top: -70%;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -297,7 +297,7 @@ function setStartTime(val: Sentence, i: number, j: number) {
|
||||
</textarea>
|
||||
<div class="justify-end items-center flex">
|
||||
<Tooltip>
|
||||
<IconRiQuestionLine class="mr-3" width="20"/>
|
||||
<IconFluentQuestionCircle20Regular class="mr-3" width="20"/>
|
||||
<template #reference>
|
||||
<div>
|
||||
<div class="mb-2">使用方法</div>
|
||||
@@ -359,7 +359,7 @@ function setStartTime(val: Sentence, i: number, j: number) {
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<Tooltip>
|
||||
<IconRiQuestionLine class="mr-3" width="20"/>
|
||||
<IconFluentQuestionCircle20Regular class="mr-3" width="20"/>
|
||||
<template #reference>
|
||||
<div>
|
||||
<div class="mb-2">使用方法</div>
|
||||
@@ -425,8 +425,8 @@ function setStartTime(val: Sentence, i: number, j: number) {
|
||||
@click="setStartTime(sentence,indexI,indexJ)"
|
||||
:title="indexI === 0 && indexJ === 0 ?'设置开始时间':'使用前一句的结束时间'"
|
||||
>
|
||||
<IconIcSharpMyLocation v-if="indexI === 0 && indexJ === 0"/>
|
||||
<IconTwemojiEndArrow v-else/>
|
||||
<IconFluentMyLocation20Regular v-if="indexI === 0 && indexJ === 0"/>
|
||||
<IconFluentPaddingLeft20Regular v-else/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
<div>-</div>
|
||||
@@ -437,19 +437,22 @@ function setStartTime(val: Sentence, i: number, j: number) {
|
||||
@click="sentence.audioPosition[1] = Number(Number(audioRef.currentTime).toFixed(2))"
|
||||
title="设置结束时间"
|
||||
>
|
||||
<IconIcSharpMyLocation/>
|
||||
<IconFluentMyLocation20Regular/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<BaseIcon :icon="sentence.audioPosition?.length ? 'basil:edit-outline' : 'basil:add-outline'"
|
||||
title="编辑"
|
||||
@click="handleShowEditAudioDialog(sentence,indexI,indexJ)">
|
||||
<IconBasilEditOutline v-if="sentence.audioPosition?.length"/>
|
||||
<IconBasilAddOutline v-else/>
|
||||
<IconFluentSpeakerEdit20Regular v-if="!sentence.audioPosition?.length"/>
|
||||
<IconFluentAddSquare20Regular v-else/>
|
||||
</BaseIcon>
|
||||
<BaseIcon v-if="sentence.audioPosition?.length"
|
||||
<BaseIcon
|
||||
title="播放"
|
||||
v-if="sentence.audioPosition?.length"
|
||||
@click="playSentenceAudio(sentence,audioRef,editArticle)">
|
||||
<IconHugeiconsPlay/>
|
||||
<IconFluentPlay20Regular/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
</div>
|
||||
@@ -461,11 +464,11 @@ function setStartTime(val: Sentence, i: number, j: number) {
|
||||
<div class="status">
|
||||
<span>状态:</span>
|
||||
<div class="warning" v-if="failCount">
|
||||
<IconTypcnWarningOutline/>
|
||||
<IconFluentShieldQuestion20Regular/>
|
||||
共有{{ failCount }}句没有翻译!
|
||||
</div>
|
||||
<div class="success" v-else>
|
||||
<IconMdiSuccessCircleOutline/>
|
||||
<IconFluentCheckmarkCircle16Regular/>
|
||||
翻译完成!
|
||||
</div>
|
||||
</div>
|
||||
@@ -498,9 +501,9 @@ function setStartTime(val: Sentence, i: number, j: number) {
|
||||
<span v-else> - 结束</span>
|
||||
</div>
|
||||
<BaseIcon
|
||||
title="试听"
|
||||
title="播放"
|
||||
@click="playSentenceAudio(editSentence,sentenceAudioRef,editArticle)">
|
||||
<IconHugeiconsPlay/>
|
||||
<IconFluentPlay20Regular/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
</div>
|
||||
@@ -514,13 +517,13 @@ function setStartTime(val: Sentence, i: number, j: number) {
|
||||
@click="jumpAudio(editSentence.audioPosition[0])"
|
||||
title="跳转"
|
||||
>
|
||||
<IconIcSharpMyLocation/>
|
||||
<IconFluentMyLocation20Regular/>
|
||||
</BaseIcon>
|
||||
<BaseIcon
|
||||
@click="setPreEndTimeToCurrentStartTime"
|
||||
title="使用前一句的结束时间"
|
||||
>
|
||||
<IconTwemojiEndArrow/>
|
||||
<IconFluentPaddingLeft20Regular/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
<BaseButton @click="recordStart">记录</BaseButton>
|
||||
|
||||
@@ -18,7 +18,7 @@ function onClick() {
|
||||
title="返回"
|
||||
@click="onClick"
|
||||
>
|
||||
<IconFormkitLeft/>
|
||||
<IconFluentChevronLeft28Filled/>
|
||||
</BaseIcon>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ defineRender(
|
||||
onClick={props.add}
|
||||
icon="fluent:add-20-filled"
|
||||
title="添加单词">
|
||||
<IconFluentAdd20Filled/>
|
||||
<IconFluentAdd20Regular/>
|
||||
</BaseIcon>
|
||||
<BaseIcon
|
||||
disabled={!currentList.length}
|
||||
@@ -179,13 +179,13 @@ defineRender(
|
||||
icon="icon-park-outline:sort-two"
|
||||
onClick={() => showSortDialog = !showSortDialog}
|
||||
>
|
||||
<IconIconParkOutlineSortTwo/>
|
||||
<IconFluentArrowSort20Regular/>
|
||||
</BaseIcon>
|
||||
<BaseIcon
|
||||
disabled={!currentList.length}
|
||||
onClick={() => showSearchInput = !showSearchInput}
|
||||
title="搜索">
|
||||
<IconFluentSearch24Regular/>
|
||||
<IconFluentSearch20Regular/>
|
||||
</BaseIcon>
|
||||
<MiniDialog
|
||||
modelValue={showSortDialog}
|
||||
|
||||
@@ -47,12 +47,9 @@ const studyProgress = $computed(() => {
|
||||
class="absolute left-3 bottom-3"/>
|
||||
<div class="custom" v-if="item.custom">自定义</div>
|
||||
</template>
|
||||
<div v-else class="center h-full">
|
||||
<IconFluentAdd20Filled
|
||||
width="40px"
|
||||
/>
|
||||
<div v-else class="center h-full text-2xl">
|
||||
<IconFluentAdd16Regular/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -53,11 +53,11 @@ watch(() => settingStore.load, (n) => {
|
||||
<div class="href-wrapper">
|
||||
<div class="round">
|
||||
<div class="href">2study.top</div>
|
||||
<IconMdiStarOutline width="22"/>
|
||||
<IconFluentStar12Regular width="22"/>
|
||||
</div>
|
||||
<div class="right">
|
||||
👈
|
||||
<IconMdiStar class="star" width="22"/>
|
||||
<IconFluentStar20Filled class="star" width="22"/>
|
||||
点亮它!
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -189,7 +189,7 @@ function quickNextPage() {
|
||||
:disabled="internalCurrentPage <= 1"
|
||||
@click="prev"
|
||||
>
|
||||
<IconMingcuteLeftLine/>
|
||||
<IconFluentChevronLeft20Filled/>
|
||||
</button>
|
||||
|
||||
<!-- 页码 -->
|
||||
@@ -250,7 +250,7 @@ function quickNextPage() {
|
||||
:disabled="internalCurrentPage >= pageCount"
|
||||
@click="next"
|
||||
>
|
||||
<IconMingcuteRightLine/>
|
||||
<IconFluentChevronLeft20Filled class="transform-rotate-180"/>
|
||||
</button>
|
||||
|
||||
<!-- 每页条数选择器 -->
|
||||
|
||||
@@ -160,7 +160,8 @@ onBeforeUnmount(() => {
|
||||
{{ displayValue }}
|
||||
</div>
|
||||
<div class="select__suffix">
|
||||
<IconMdiChevronDown
|
||||
<IconFluentChevronLeft20Filled
|
||||
class="arrow"
|
||||
:class="{ 'is-reverse': isOpen }"
|
||||
width="16"
|
||||
/>
|
||||
@@ -235,10 +236,14 @@ onBeforeUnmount(() => {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #999;
|
||||
transition: transform 0.3s;
|
||||
|
||||
.arrow {
|
||||
transform: rotate(-90deg);
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
||||
.is-reverse {
|
||||
transform: rotate(180deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<div v-if="visible" class="message" :class="type" :style="style" @mouseenter="handleMouseEnter"
|
||||
@mouseleave="handleMouseLeave">
|
||||
<div class="message-content">
|
||||
<IconMdiCheckCircle v-if="props.type === 'success'" class="message-icon"/>
|
||||
<IconMdiAlertCircle v-if="props.type === 'warning'" class="message-icon"/>
|
||||
<IconMdiInformation v-if="props.type === 'info'" class="message-icon"/>
|
||||
<IconMdiCloseCircle v-if="props.type === 'error'" class="message-icon"/>
|
||||
<IconFluentCheckmarkCircle20Filled v-if="props.type === 'success'" class="message-icon"/>
|
||||
<IconFluentErrorCircle20Filled v-if="props.type === 'warning'" class="message-icon"/>
|
||||
<IconFluentErrorCircle20Filled v-if="props.type === 'info'" class="message-icon"/>
|
||||
<IconFluentDismissCircle20Filled v-if="props.type === 'error'" class="message-icon"/>
|
||||
<span class="message-text">{{ message }}</span>
|
||||
<IconMdiClose v-if="showClose" class="message-close" @click="close"/>
|
||||
<Close v-if="showClose" class="message-close" @click="close"/>
|
||||
</div>
|
||||
</div>
|
||||
</Transition>
|
||||
|
||||
@@ -5,6 +5,7 @@ import {useEventListener} from "@/hooks/event.ts";
|
||||
|
||||
import BaseButton from "@/components/BaseButton.vue";
|
||||
import {useRuntimeStore} from "@/stores/runtime.ts";
|
||||
import BaseIcon from "@/components/BaseIcon.vue";
|
||||
|
||||
export interface ModalProps {
|
||||
modelValue?: boolean,
|
||||
@@ -156,10 +157,10 @@ async function cancel() {
|
||||
]"
|
||||
>
|
||||
<Tooltip title="关闭">
|
||||
<IconIonCloseOutline @click="close"
|
||||
v-if="showClose"
|
||||
class="close hvr-grow cursor-pointer"
|
||||
width="24" color="#929596"/>
|
||||
<IconFluentDismiss20Regular @click="close"
|
||||
v-if="showClose"
|
||||
class="close cursor-pointer"
|
||||
width="24"/>
|
||||
</Tooltip>
|
||||
<div class="modal-header" v-if="header">
|
||||
<div class="title">{{ props.title }}</div>
|
||||
@@ -169,7 +170,9 @@ async function cancel() {
|
||||
<div v-if="content" class="content">{{ content }}</div>
|
||||
</div>
|
||||
<div class="modal-footer" v-if="footer">
|
||||
<div class="left flex items-end"><slot name="footer-left"></slot></div>
|
||||
<div class="left flex items-end">
|
||||
<slot name="footer-left"></slot>
|
||||
</div>
|
||||
<div class="right">
|
||||
<BaseButton type="info" @click="cancel">{{ cancelButtonText }}</BaseButton>
|
||||
<BaseButton
|
||||
|
||||
@@ -4,6 +4,7 @@ import BaseIcon from "@/components/BaseIcon.vue";
|
||||
import Input from "@/pages/pc/components/Input.vue";
|
||||
import {cloneDeep, throttle} from "@/utils";
|
||||
import {Article} from "@/types/types.ts";
|
||||
import DeleteIcon from "@/components/icon/DeleteIcon.vue";
|
||||
|
||||
interface IProps {
|
||||
list: T[]
|
||||
@@ -125,14 +126,14 @@ defineExpose({scrollBottom})
|
||||
<BaseIcon
|
||||
@click="delItem(item)"
|
||||
title="删除">
|
||||
<IconFluentDelete24Regular/>
|
||||
<DeleteIcon/>
|
||||
</BaseIcon>
|
||||
<div
|
||||
@mousedown="draggable = true"
|
||||
@mouseup="draggable = false"
|
||||
>
|
||||
<BaseIcon>
|
||||
<IconCarbonMove/>
|
||||
<IconFluentArrowMove20Regular/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -23,31 +23,32 @@ const {toggleTheme} = useTheme()
|
||||
<div class="top">
|
||||
<Logo v-if="settingStore.sideExpand"/>
|
||||
<div class="row" @click="router.push('/words')">
|
||||
<IconMaterialSymbolsLightDictionaryOutlineSharp/>
|
||||
<IconFluentTextUnderlineDouble20Regular/>
|
||||
<span v-if="settingStore.sideExpand">单词</span>
|
||||
</div>
|
||||
<div class="row" @click="router.push('/articles')">
|
||||
<IconPhArticleNyTimes/>
|
||||
<!-- <IconPhArticleNyTimes/>-->
|
||||
<IconFluentBookLetter20Regular/>
|
||||
<span v-if="settingStore.sideExpand">文章</span>
|
||||
</div>
|
||||
<div class="row" @click="router.push('/setting')">
|
||||
<IconUilSetting/>
|
||||
<IconFluentSettings20Regular/>
|
||||
<span v-if="settingStore.sideExpand">设置</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom flex justify-evenly ">
|
||||
<BaseIcon
|
||||
@click="settingStore.sideExpand = !settingStore.sideExpand">
|
||||
<IconFormkitLeft v-if="settingStore.sideExpand"/>
|
||||
<IconFormkitRight v-else/>
|
||||
<IconFluentChevronLeft20Filled v-if="settingStore.sideExpand"/>
|
||||
<IconFluentChevronLeft20Filled class="transform-rotate-180" v-else/>
|
||||
</BaseIcon>
|
||||
<BaseIcon
|
||||
v-if="settingStore.sideExpand"
|
||||
:title="`切换主题(${settingStore.shortcutKeyMap[ShortcutKey.ToggleTheme]})`"
|
||||
@click="toggleTheme"
|
||||
>
|
||||
<IconEpMoon v-if="settingStore.theme === 'light'"/>
|
||||
<IconTablerSun v-else/>
|
||||
<IconFluentWeatherMoon16Regular v-if="settingStore.theme === 'light'"/>
|
||||
<IconFluentWeatherSunny16Regular v-else/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -174,27 +174,27 @@ function importOldData() {
|
||||
<div class="left mt-10">
|
||||
<div class="tabs">
|
||||
<div class="tab" :class="tabIndex === 0 && 'active'" @click="tabIndex = 0">
|
||||
<IconIconParkOutlineSettingConfig width="20"/>
|
||||
<IconFluentAppsList24Regular width="20"/>
|
||||
<span>练习设置</span>
|
||||
</div>
|
||||
<div class="tab" :class="tabIndex === 1 && 'active'" @click="tabIndex = 1">
|
||||
<IconBxHeadphone width="20"/>
|
||||
<IconFluentHeadphones20Regular width="20"/>
|
||||
<span>音效设置</span>
|
||||
</div>
|
||||
<div class="tab" :class="tabIndex === 2 && 'active'" @click="tabIndex = 2">
|
||||
<IconMaterialSymbolsKeyboardOutline width="20"/>
|
||||
<IconFluentKeyboardLayoutFloat20Regular width="20"/>
|
||||
<span>快捷键设置</span>
|
||||
</div>
|
||||
<div class="tab" :class="tabIndex === 3 && 'active'" @click="tabIndex = 3">
|
||||
<IconMdiDatabaseCogOutline width="20"/>
|
||||
<IconFluentDatabasePerson20Regular width="20"/>
|
||||
<span>数据管理</span>
|
||||
</div>
|
||||
<div class="tab" :class="tabIndex === 4 && 'active'" @click="tabIndex = 4">
|
||||
<IconMingcuteServiceFill width="20"/>
|
||||
<IconFluentMailEdit20Regular width="20"/>
|
||||
<span>反馈</span>
|
||||
</div>
|
||||
<div class="tab" :class="tabIndex === 5 && 'active'" @click="tabIndex = 5">
|
||||
<IconMdiAboutCircleOutline width="20"/>
|
||||
<IconFluentPerson20Regular width="20"/>
|
||||
<span>关于</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -276,7 +276,7 @@ defineRender(() => {
|
||||
class="option-icon"
|
||||
onClick={() => editWord(val.item)}
|
||||
title="编辑">
|
||||
<IconTablerEdit/>
|
||||
<IconFluentTextEditStyle20Regular/>
|
||||
</BaseIcon>
|
||||
<PopConfirm title="确认删除?"
|
||||
onConfirm={() => delWord(val.item.id)}
|
||||
|
||||
@@ -132,7 +132,7 @@ function options(emitType: string) {
|
||||
style="background: rgb(254,236,236)">
|
||||
<div class="text-3xl">{{ statStore.wrong }}</div>
|
||||
<div class="center gap-2">
|
||||
<IconIconamoonClose class="text-2xl"/>
|
||||
<IconFluentDismiss20Regular class="text-xl"/>
|
||||
错词
|
||||
</div>
|
||||
</div>
|
||||
@@ -140,7 +140,7 @@ function options(emitType: string) {
|
||||
style="background: rgb(231,248,241)">
|
||||
<div class="text-3xl">{{ statStore.total - statStore.wrong }}</div>
|
||||
<div class="center gap-2">
|
||||
<IconTablerCheck class="text-2xl"/>
|
||||
<IconFluentCheckmark20Regular class="text-xl"/>
|
||||
正确
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -384,7 +384,7 @@ useEvents([
|
||||
<div class="center gap-2 cursor-pointer float-left"
|
||||
@click="prev"
|
||||
v-if="prevWord">
|
||||
<IconBiArrowLeft class="arrow" width="22"/>
|
||||
<IconFluentArrowLeft16Regular class="arrow" width="22"/>
|
||||
<Tooltip
|
||||
:title="`上一个(${settingStore.shortcutKeyMap[ShortcutKey.Previous]})`"
|
||||
>
|
||||
@@ -399,7 +399,7 @@ useEvents([
|
||||
>
|
||||
<div class="word" :class="settingStore.dictation && 'word-shadow'">{{ nextWord.word }}</div>
|
||||
</Tooltip>
|
||||
<IconBiArrowRight class="arrow" width="22"/>
|
||||
<IconFluentArrowRight16Regular class="arrow" width="22"/>
|
||||
</div>
|
||||
</div>
|
||||
<TypeWord
|
||||
@@ -426,10 +426,9 @@ useEvents([
|
||||
<BaseIcon
|
||||
@click="continueStudy"
|
||||
:title="`下一组(${settingStore.shortcutKeyMap[ShortcutKey.NextChapter]})`">
|
||||
<IconBiArrowRight class="arrow" width="22"/>
|
||||
<IconFluentArrowRight16Regular class="arrow" width="22"/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<div class="panel-page-item pl-4">
|
||||
<WordList
|
||||
@@ -447,16 +446,16 @@ useEvents([
|
||||
:class="!isWordCollect(item)?'collect':'fill'"
|
||||
@click.stop="toggleWordCollect(item)"
|
||||
:title="!isWordCollect(item) ? '收藏' : '取消收藏'">
|
||||
<IconPhStar v-if="!isWordCollect(item)"/>
|
||||
<IconPhStarFill v-else/>
|
||||
<IconFluentStar16Regular v-if="!isWordCollect(item)"/>
|
||||
<IconFluentStar16Filled v-else/>
|
||||
</BaseIcon>
|
||||
|
||||
<BaseIcon
|
||||
:class="!isWordSimple(item)?'collect':'fill'"
|
||||
@click.stop="toggleWordSimple(item)"
|
||||
:title="!isWordSimple(item) ? '标记为已掌握' : '取消标记已掌握'">
|
||||
<IconMaterialSymbolsCheckCircleOutlineRounded v-if="!isWordSimple(item)"/>
|
||||
<IconMaterialSymbolsCheckCircleRounded v-else/>
|
||||
<IconFluentCheckmarkCircle16Regular v-if="!isWordSimple(item)"/>
|
||||
<IconFluentCheckmarkCircle16Filled v-else/>
|
||||
</BaseIcon>
|
||||
</template>
|
||||
</WordList>
|
||||
|
||||
@@ -140,7 +140,7 @@ function check(cb: Function) {
|
||||
@click="router.push('/dict-list')"
|
||||
|
||||
>
|
||||
<IconGgArrowsExchange v-if="store.sdict.name"/>
|
||||
<IconFluentArrowSort20Regular v-if="store.sdict.name"/>
|
||||
<IconFluentAdd20Filled v-else/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
@@ -194,10 +194,9 @@ function check(cb: Function) {
|
||||
<BaseButton size="large" :disabled="!store.sdict.name"
|
||||
:loading="loading"
|
||||
@click="startPractice">
|
||||
<!-- <BaseButton size="large" @click="startPractice">-->
|
||||
<div class="flex items-center gap-2">
|
||||
<span>开始学习</span>
|
||||
<IconIcons8RightRound class="text-2xl"/>
|
||||
<span class="line-height-[2]">开始学习</span>
|
||||
<IconFluentArrowCircleRight16Regular class="text-xl"/>
|
||||
</div>
|
||||
</BaseButton>
|
||||
</div>
|
||||
|
||||
@@ -62,11 +62,10 @@ const progress = $computed(() => {
|
||||
<template>
|
||||
<div class="footer" :class="!settingStore.showToolbar && 'hide'">
|
||||
<Tooltip :title="settingStore.showToolbar?'收起':'展开'">
|
||||
<IconIconParkOutlineDown
|
||||
<IconFluentChevronLeft20Filled
|
||||
@click="settingStore.showToolbar = !settingStore.showToolbar"
|
||||
class="arrow"
|
||||
:class="!settingStore.showToolbar && 'down'"
|
||||
width="24"
|
||||
color="#999"/>
|
||||
</Tooltip>
|
||||
|
||||
@@ -103,42 +102,42 @@ const progress = $computed(() => {
|
||||
:class="!isSimple?'collect':'fill'"
|
||||
@click="$emit('toggleSimple')"
|
||||
:title="(!isSimple ? '标记为已掌握' : '取消标记已掌握')+`(${settingStore.shortcutKeyMap[ShortcutKey.ToggleSimple]})`">
|
||||
<IconMaterialSymbolsCheckCircleOutlineRounded v-if="!isSimple"/>
|
||||
<IconMaterialSymbolsCheckCircleRounded v-else/>
|
||||
<IconFluentCheckmarkCircle16Regular v-if="!isSimple"/>
|
||||
<IconFluentCheckmarkCircle16Filled v-else/>
|
||||
</BaseIcon>
|
||||
|
||||
<BaseIcon
|
||||
:class="!isCollect?'collect':'fill'"
|
||||
@click.stop="$emit('toggleCollect')"
|
||||
:title="(!isCollect ? '收藏' : '取消收藏')+`(${settingStore.shortcutKeyMap[ShortcutKey.ToggleCollect]})`">
|
||||
<IconPhStar v-if="!isCollect"/>
|
||||
<IconPhStarFill v-else/>
|
||||
<IconFluentStarAdd16Regular v-if="!isCollect"/>
|
||||
<IconFluentStar16Filled v-else/>
|
||||
</BaseIcon>
|
||||
<BaseIcon
|
||||
@click="emit('skip')"
|
||||
:title="`跳过(${settingStore.shortcutKeyMap[ShortcutKey.Next]})`">
|
||||
<IconIconParkOutlineGoAhead/>
|
||||
<IconFluentArrowBounce20Regular class="transform-rotate-180"/>
|
||||
</BaseIcon>
|
||||
|
||||
<BaseIcon
|
||||
@click="settingStore.dictation = !settingStore.dictation"
|
||||
:title="`开关默写模式(${settingStore.shortcutKeyMap[ShortcutKey.ToggleDictation]})`"
|
||||
>
|
||||
<IconMajesticonsEyeOffLine v-if="settingStore.dictation"/>
|
||||
<IconMdiEyeOutline v-else/>
|
||||
<IconFluentEyeOff16Regular v-if="settingStore.dictation"/>
|
||||
<IconFluentEye16Regular v-else/>
|
||||
</BaseIcon>
|
||||
|
||||
<BaseIcon
|
||||
:title="`开关释义显示(${settingStore.shortcutKeyMap[ShortcutKey.ToggleShowTranslate]})`"
|
||||
@click="settingStore.translate = !settingStore.translate">
|
||||
<IconMdiTranslate v-if="settingStore.translate"/>
|
||||
<IconMdiTranslateOff v-else/>
|
||||
<IconFluentTranslate16Regular v-if="settingStore.translate"/>
|
||||
<IconFluentTranslateOff16Regular v-else/>
|
||||
</BaseIcon>
|
||||
|
||||
<BaseIcon
|
||||
@click="settingStore.showPanel = !settingStore.showPanel"
|
||||
:title="`单词本(${settingStore.shortcutKeyMap[ShortcutKey.TogglePanel]})`">
|
||||
<IconTdesignMenuUnfold/>
|
||||
<IconFluentTextListAbcUppercaseLtr20Regular/>
|
||||
</BaseIcon>
|
||||
</div>
|
||||
</div>
|
||||
@@ -160,7 +159,7 @@ const progress = $computed(() => {
|
||||
margin-bottom: .8rem;
|
||||
transition: all var(--anim-time);
|
||||
position: relative;
|
||||
margin-top: 1rem;
|
||||
margin-top: 1.6rem;
|
||||
|
||||
&.hide {
|
||||
margin-bottom: -6rem;
|
||||
@@ -215,18 +214,18 @@ const progress = $computed(() => {
|
||||
|
||||
.arrow {
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
top: -40%;
|
||||
left: 50%;
|
||||
cursor: pointer;
|
||||
transition: all .5s;
|
||||
transform: rotate(0);
|
||||
transform: rotate(-90deg);
|
||||
padding: .5rem;
|
||||
font-size: 1.2rem;
|
||||
|
||||
&.down {
|
||||
top: -90%;
|
||||
transform: rotate(180deg);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user