From 816eacde4290a30b2b79c6ddafcca02c8cdd32c4 Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Tue, 29 Jul 2025 13:50:26 +0800 Subject: [PATCH 1/2] feat: add activity popup for milk tea --- open-isle-cli/src/App.vue | 41 +++++++++- .../src/components/ActivityPopup.vue | 78 +++++++++++++++++++ open-isle-cli/src/components/BasePopup.vue | 55 +++++++++++++ .../components/MilkTeaActivityComponent.vue | 41 +++------- 4 files changed, 182 insertions(+), 33 deletions(-) create mode 100644 open-isle-cli/src/components/ActivityPopup.vue create mode 100644 open-isle-cli/src/components/BasePopup.vue diff --git a/open-isle-cli/src/App.vue b/open-isle-cli/src/App.vue index 89aeb5dac..787560279 100644 --- a/open-isle-cli/src/App.vue +++ b/open-isle-cli/src/App.vue @@ -14,23 +14,60 @@ + diff --git a/open-isle-cli/src/components/ActivityPopup.vue b/open-isle-cli/src/components/ActivityPopup.vue new file mode 100644 index 000000000..6525382fd --- /dev/null +++ b/open-isle-cli/src/components/ActivityPopup.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/open-isle-cli/src/components/BasePopup.vue b/open-isle-cli/src/components/BasePopup.vue new file mode 100644 index 000000000..42eb669b0 --- /dev/null +++ b/open-isle-cli/src/components/BasePopup.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/open-isle-cli/src/components/MilkTeaActivityComponent.vue b/open-isle-cli/src/components/MilkTeaActivityComponent.vue index 46bae62c5..fefc5efd9 100644 --- a/open-isle-cli/src/components/MilkTeaActivityComponent.vue +++ b/open-isle-cli/src/components/MilkTeaActivityComponent.vue @@ -23,16 +23,15 @@
兑换
兑换
-
-
-
- -
-
提交
-
取消
+ +
+ +
+
提交
+
取消
+
-
-
+
@@ -40,12 +39,13 @@ import ProgressBar from '../components/ProgressBar.vue' import LevelProgress from '../components/LevelProgress.vue' import BaseInput from './BaseInput.vue' +import BasePopup from './BasePopup.vue' import { API_BASE_URL, toast } from '../main' import { getToken, fetchCurrentUser } from '../utils/auth' export default { name: 'MilkTeaActivityComponent', - components: { ProgressBar, LevelProgress, BaseInput }, + components: { ProgressBar, LevelProgress, BaseInput, BasePopup }, data () { return { info: { level1Count: 0, ended: false }, @@ -146,27 +146,6 @@ export default { background-color: var(--primary-color-disabled); } -.redeem-dialog { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - display: flex; - align-items: center; - justify-content: center; - z-index: 20; -} - -.redeem-dialog-overlay { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - backdrop-filter: blur(3px); - -webkit-backdrop-filter: blur(3px); -} .milk-tea-status-container { display: flex; From cdeed1fcb005cd513cd4ca39859c0f1ba9d8acbc Mon Sep 17 00:00:00 2001 From: Tim Date: Tue, 29 Jul 2025 14:11:55 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E6=B4=BB=E5=8A=A8=E9=A1=B5=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0loading/=E4=B8=AA=E4=BA=BA=E7=AD=89=E7=BA=A7=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/ActivityPopup.vue | 5 +-- open-isle-cli/src/components/BasePopup.vue | 7 ++-- .../components/MilkTeaActivityComponent.vue | 24 ++++++++++--- .../src/views/ActivityListPageView.vue | 34 ++++++++++++++++--- open-isle-cli/src/views/HomePageView.vue | 2 +- 5 files changed, 57 insertions(+), 15 deletions(-) diff --git a/open-isle-cli/src/components/ActivityPopup.vue b/open-isle-cli/src/components/ActivityPopup.vue index 6525382fd..20b6b568d 100644 --- a/open-isle-cli/src/components/ActivityPopup.vue +++ b/open-isle-cli/src/components/ActivityPopup.vue @@ -45,9 +45,10 @@ export default { gap: 10px; min-width: 200px; } + .activity-popup-icon { - width: 80px; - height: 80px; + width: 100px; + height: 100px; object-fit: contain; } .activity-popup-actions { diff --git a/open-isle-cli/src/components/BasePopup.vue b/open-isle-cli/src/components/BasePopup.vue index 42eb669b0..bc473e592 100644 --- a/open-isle-cli/src/components/BasePopup.vue +++ b/open-isle-cli/src/components/BasePopup.vue @@ -41,8 +41,8 @@ export default { left: 0; right: 0; bottom: 0; - backdrop-filter: blur(3px); - -webkit-backdrop-filter: blur(3px); + backdrop-filter: blur(2px); + -webkit-backdrop-filter: blur(2px); } .popup-content { position: relative; @@ -51,5 +51,8 @@ export default { padding: 20px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); + max-width: 80%; + max-height: 80%; + overflow-y: auto; } diff --git a/open-isle-cli/src/components/MilkTeaActivityComponent.vue b/open-isle-cli/src/components/MilkTeaActivityComponent.vue index fefc5efd9..f8649594a 100644 --- a/open-isle-cli/src/components/MilkTeaActivityComponent.vue +++ b/open-isle-cli/src/components/MilkTeaActivityComponent.vue @@ -17,9 +17,16 @@
当前 {{ info.level1Count }} / 50
-
+
+ +
加载当前等级中...
+
+
+
+
请登录查看自身等级
+
兑换
兑换
@@ -42,6 +49,8 @@ import BaseInput from './BaseInput.vue' import BasePopup from './BasePopup.vue' import { API_BASE_URL, toast } from '../main' import { getToken, fetchCurrentUser } from '../utils/auth' +import { hatch } from 'ldrs' +hatch.register() export default { name: 'MilkTeaActivityComponent', @@ -52,12 +61,15 @@ export default { user: null, dialogVisible: false, contact: '', - loading: false + loading: false, + isLoadingUser: true, } }, async mounted () { await this.loadInfo() + this.isLoadingUser = true this.user = await fetchCurrentUser() + this.isLoadingUser = false }, methods: { async loadInfo () { @@ -167,9 +179,6 @@ export default { position: relative; z-index: 2; background-color: var(--background-color); - padding: 20px; - border-radius: 8px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; gap: 10px; @@ -210,6 +219,11 @@ export default { .redeem-cancel-button:hover { text-decoration: underline; } +.user-level-text { + opacity: 0.8; + font-size: 12px; + color: var(--primary-color); +} @media screen and (max-width: 768px) { diff --git a/open-isle-cli/src/views/ActivityListPageView.vue b/open-isle-cli/src/views/ActivityListPageView.vue index 71e731a6e..02ae2bd75 100644 --- a/open-isle-cli/src/views/ActivityListPageView.vue +++ b/open-isle-cli/src/views/ActivityListPageView.vue @@ -1,5 +1,9 @@