Skip to content

Commit 95e6d85

Browse files
authored
feat(MedalList): DeprecateType text seperate (#226)
* feat(MedalList): DeprecateType text seperate * fix(MedalList): undefined fix
1 parent da5ee25 commit 95e6d85

File tree

5 files changed

+61
-30
lines changed

5 files changed

+61
-30
lines changed

src/widgets/MedalList/MedalGroup.vue

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const props = withDefaults(
2626
groupData: MedalGroup;
2727
medalDataList: Medal[];
2828
showDeprecateBadge?: boolean;
29+
deprecateText?: string;
2930
}>(),
3031
{
3132
showDeprecateBadge: true,
@@ -162,12 +163,7 @@ const showTrimed = ref(false);
162163
]"
163164
>
164165
<span class="mdi mdi-vanish" />
165-
<span v-if="groupData.deprecateType === 'CC'">
166-
危机合约套组:不复刻
167-
</span>
168-
<span v-if="groupData.deprecateType === 'retro'">
169-
已复刻过的活动:无法再获得本蚀刻章套组
170-
</span>
166+
{{ deprecateText }}
171167
</div>
172168
<div class="pos-relative max-w-full flex">
173169
<div
@@ -179,12 +175,7 @@ const showTrimed = ref(false);
179175
]"
180176
>
181177
<span class="mdi mdi-vanish" />
182-
<span v-if="groupData.deprecateType === 'CC'">
183-
危机合约套组:不复刻
184-
</span>
185-
<span v-if="groupData.deprecateType === 'retro'">
186-
已复刻过的活动:无法再获得本蚀刻章套组
187-
</span>
178+
{{ deprecateText }}
188179
</div>
189180
<NImage
190181
:src="`${TORAPPU_ENDPOINT}/assets/medal_diy/${(showTrimed && groupData.isTrim ? 'trim/' : '') + groupData.id}.png`"

src/widgets/MedalList/MedalList.vue

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const medalMetaData = ref<MedalMetaData>({
3434
medal: {},
3535
medalGroup: {},
3636
category: {},
37+
groupDeprecateType: {},
3738
});
3839
3940
onMounted(async () => {
@@ -275,22 +276,24 @@ const i18nConfig = getNaiveUILocale();
275276
size="small"
276277
align="stretch"
277278
>
278-
<MedalComponent
279-
v-for="medalId in cate.medal.filter((medalId) =>
280-
checkMedalExists(medalId),
281-
)"
282-
:key="medalId"
283-
:medal-data="filteredMedalData.medal[medalId]"
284-
:show-deprecate-badge="showDeprecateBadge"
285-
:mini-medal-data="
286-
filteredMedalData.medal[medalId].preMedalList
287-
? genPreMedalList(
288-
filteredMedalData.medal[medalId].preMedalList,
289-
)
290-
: {}
291-
"
292-
class="h-auto w-full lg:w-49%"
293-
/>
279+
<NFlex responsive="screen" size="small" align="stretch">
280+
<MedalComponent
281+
v-for="medalId in cate.medal.filter((medalId) =>
282+
checkMedalExists(medalId),
283+
)"
284+
:key="medalId"
285+
:medal-data="filteredMedalData.medal[medalId]"
286+
:show-deprecate-badge="showDeprecateBadge"
287+
:mini-medal-data="
288+
filteredMedalData.medal[medalId].preMedalList
289+
? genPreMedalList(
290+
filteredMedalData.medal[medalId].preMedalList,
291+
)
292+
: {}
293+
"
294+
class="h-auto w-full lg:w-49%"
295+
/>
296+
</NFlex>
294297
<MedalGroupComponent
295298
v-for="medalGroupId in cate.medalGroup.slice().reverse()"
296299
:key="medalGroupId"
@@ -301,6 +304,13 @@ const i18nConfig = getNaiveUILocale();
301304
})
302305
"
303306
:show-deprecate-badge="showDeprecateBadge"
307+
:deprecate-text="
308+
filteredMedalData.medalGroup[medalGroupId].deprecateType
309+
? medalMetaData.groupDeprecateType[
310+
filteredMedalData.medalGroup[medalGroupId].deprecateType
311+
]
312+
: ''
313+
"
304314
class="h-auto w-full lg:w-49%"
305315
/>
306316
<div

src/widgets/MedalList/MedalShowcase.vue

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const medalMetaData = ref<MedalMetaData>({
3939
medal: {},
4040
medalGroup: {},
4141
category: {},
42+
groupDeprecateType: {},
4243
});
4344
4445
onMounted(async () => {
@@ -197,6 +198,13 @@ const i18nConfig = getNaiveUILocale();
197198
v-if="filteredMedalData.medalGroup[medalGroupId]"
198199
:group-data="filteredMedalData.medalGroup[medalGroupId]"
199200
:medal-data-list="generateGroupMedalData(medalGroupId)"
201+
:deprecate-text="
202+
filteredMedalData.medalGroup[medalGroupId].deprecateType
203+
? medalMetaData.groupDeprecateType[
204+
filteredMedalData.medalGroup[medalGroupId].deprecateType
205+
]
206+
: ''
207+
"
200208
/>
201209
</NGridItem>
202210
</NGrid>

src/widgets/MedalList/MedalStats.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { computed, ref } from "vue";
33
44
import { NCard, NNumberAnimation, NStatistic, NTooltip } from "naive-ui";
55
6-
import type { MedalMetaData } from "./types";
6+
import type { MedalMetaDataCore } from "./types";
77
const props = defineProps<{
8-
medalMetaData: MedalMetaData;
8+
medalMetaData: MedalMetaDataCore;
99
}>();
1010
1111
const showSecret = ref(false);

src/widgets/MedalList/types.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,26 @@ export interface MedalMetaData {
5252
medal: Array<string>;
5353
};
5454
};
55+
groupDeprecateType: {
56+
[key: string]: string;
57+
};
58+
}
59+
60+
export interface MedalMetaDataCore {
61+
medal: {
62+
[key: string]: Medal;
63+
};
64+
medalGroup: {
65+
[key: string]: MedalGroup;
66+
};
67+
category: {
68+
[key: string]: {
69+
name: string;
70+
desc: string;
71+
extraDesc?: Array<string>;
72+
subCategory?: Array<string>;
73+
medalGroup: Array<string>;
74+
medal: Array<string>;
75+
};
76+
};
5577
}

0 commit comments

Comments
 (0)