From a3e002b116a55e91ccff963b3fe8cedde5cfb240 Mon Sep 17 00:00:00 2001 From: zyronon Date: Tue, 24 Oct 2023 18:58:33 +0800 Subject: [PATCH] save --- components.d.ts | 15 +- .../ArticlePanel.vue} | 6 +- .../PracticeArticle/PracticeArticle.vue | 24 ++ .../TypingArticle.vue} | 22 +- .../Practice/PracticeWord/PracticeWord.vue | 11 + .../TypingWord.vue} | 4 +- .../Practice/PracticeWord/WordPanel.vue | 312 ++++++++++++++++++ 7 files changed, 382 insertions(+), 12 deletions(-) rename src/components/Practice/{Panel.vue => PracticeArticle/ArticlePanel.vue} (98%) create mode 100644 src/components/Practice/PracticeArticle/PracticeArticle.vue rename src/components/Practice/{TypeArticle.vue => PracticeArticle/TypingArticle.vue} (97%) create mode 100644 src/components/Practice/PracticeWord/PracticeWord.vue rename src/components/Practice/{TypeWord.vue => PracticeWord/TypingWord.vue} (99%) create mode 100644 src/components/Practice/PracticeWord/WordPanel.vue diff --git a/components.d.ts b/components.d.ts index 6f4ef0da..14fd4f32 100644 --- a/components.d.ts +++ b/components.d.ts @@ -9,6 +9,7 @@ declare module 'vue' { export interface GlobalComponents { Add: typeof import('./src/components/Toolbar/Add.vue')['default'] AddDict: typeof import('./src/components/Add/AddDict.vue')['default'] + ArticlePanel: typeof import('./src/components/Practice/PracticeArticle/ArticlePanel.vue')['default'] Backgorund: typeof import('./src/components/Backgorund.vue')['default'] BaseButton: typeof import('./src/components/BaseButton.vue')['default'] BaseIcon: typeof import('./src/components/BaseIcon.vue')['default'] @@ -39,13 +40,16 @@ declare module 'vue' { Fireworks: typeof import('./src/components/Fireworks.vue')['default'] Footer: typeof import('./src/components/Practice/Footer.vue')['default'] IconWrapper: typeof import('./src/components/IconWrapper.vue')['default'] + Index: typeof import('./src/components/Practice/PracticeArticle/Index.vue')['default'] Input: typeof import('./src/components/Input.vue')['default'] List: typeof import('./src/components/List.vue')['default'] MiniModal: typeof import('./src/components/MiniModal.vue')['default'] Modal: typeof import('./src/components/Modal/Modal.vue')['default'] - Panel: typeof import('./src/components/Practice/Panel.vue')['default'] + Panel: typeof import('./src/components/Practice/TypingArticle/Panel.vue')['default'] PopConfirm: typeof import('./src/components/PopConfirm.vue')['default'] Practice: typeof import('./src/components/Practice/Practice.vue')['default'] + PracticeArticle: typeof import('./src/components/Practice/PracticeArticle/PracticeArticle.vue')['default'] + PracticeWord: typeof import('./src/components/Practice/PracticeWord/PracticeWord.vue')['default'] RepeatSetting: typeof import('./src/components/Toolbar/RepeatSetting.vue')['default'] Ring: typeof import('./src/components/Ring.vue')['default'] SettingModal: typeof import('./src/components/Toolbar/SettingModal.vue')['default'] @@ -53,12 +57,17 @@ declare module 'vue' { Toolbar: typeof import('./src/components/Toolbar/Toolbar.vue')['default'] Tooltip: typeof import('./src/components/Tooltip.vue')['default'] TranslateSetting: typeof import('./src/components/Toolbar/TranslateSetting.vue')['default'] - TypeArticle: typeof import('./src/components/Practice/TypeArticle.vue')['default'] - TypeWord: typeof import('./src/components/Practice/TypeWord.vue')['default'] + TypeArticle: typeof import('./src/components/Practice/TypingArticle/TypeArticle.vue')['default'] + TypeWord: typeof import('./src/components/Practice/PracticeWord/TypeWord.vue')['default'] + Typing: typeof import('./src/components/Practice/TypingArticle/Typing.vue')['default'] + TypingArti: typeof import('./src/components/Practice/TypingArticle/TypingArti.vue')['default'] + TypingArticle: typeof import('./src/components/Practice/PracticeArticle/TypingArticle.vue')['default'] + TypingWord: typeof import('./src/components/Practice/PracticeWord/TypingWord.vue')['default'] VolumeIcon: typeof import('./src/components/VolumeIcon.vue')['default'] VolumeSetting: typeof import('./src/components/Toolbar/VolumeSetting.vue')['default'] WordItem: typeof import('./src/components/WordItem.vue')['default'] WordList: typeof import('./src/components/WordList.vue')['default'] WordListModal: typeof import('./src/components/WordListModal.vue')['default'] + WordPanel: typeof import('./src/components/Practice/PracticeWord/WordPanel.vue')['default'] } } diff --git a/src/components/Practice/Panel.vue b/src/components/Practice/PracticeArticle/ArticlePanel.vue similarity index 98% rename from src/components/Practice/Panel.vue rename to src/components/Practice/PracticeArticle/ArticlePanel.vue index 5e3274e4..60f5ec95 100644 --- a/src/components/Practice/Panel.vue +++ b/src/components/Practice/PracticeArticle/ArticlePanel.vue @@ -252,14 +252,10 @@ $header-height: 50rem; } .panel { - position: fixed; - left: 0; - top: 10rem; border-radius: 8rem; - margin-left: calc(50% + (var(--toolbar-width) / 2) + $space); width: $width; background: var(--color-second-bg); - height: calc(100% - 20rem); + height: 100%; display: flex; flex-direction: column; transition: all .3s; diff --git a/src/components/Practice/PracticeArticle/PracticeArticle.vue b/src/components/Practice/PracticeArticle/PracticeArticle.vue new file mode 100644 index 00000000..1fa4518b --- /dev/null +++ b/src/components/Practice/PracticeArticle/PracticeArticle.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/src/components/Practice/TypeArticle.vue b/src/components/Practice/PracticeArticle/TypingArticle.vue similarity index 97% rename from src/components/Practice/TypeArticle.vue rename to src/components/Practice/PracticeArticle/TypingArticle.vue index 0e783651..4fa3c350 100644 --- a/src/components/Practice/TypeArticle.vue +++ b/src/components/Practice/PracticeArticle/TypingArticle.vue @@ -13,6 +13,8 @@ import {emitter, EventKey} from "@/utils/eventBus.ts"; import Tooltip from "@/components/Tooltip.vue"; import IconWrapper from "@/components/IconWrapper.vue"; import {Icon} from "@iconify/vue"; +import WordPanel from "@/components/Practice/WordPanel.vue"; +import ArticlePanel from "@/components/Practice/ArticlePanel.vue"; interface IProps { article: Article, @@ -426,6 +428,7 @@ function toggleCollect() { } } +let index = $ref(0) diff --git a/src/components/Practice/PracticeWord/WordPanel.vue b/src/components/Practice/PracticeWord/WordPanel.vue new file mode 100644 index 00000000..1a7ee1b6 --- /dev/null +++ b/src/components/Practice/PracticeWord/WordPanel.vue @@ -0,0 +1,312 @@ + + +