mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-15 09:48:14 +08:00
@@ -1,2 +1,50 @@
|
|||||||
<template></template>
|
<template>
|
||||||
<script lang="ts" setup></script>
|
<div class="duc-dort-box">
|
||||||
|
<div :title="talent.name" v-for="talent in talents" :key="talent.pos" class="duc-dort-item">
|
||||||
|
<img :src="talent.icon" alt="talent" />
|
||||||
|
<span>Lv.{{ talent.level }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
|
interface DucDetailOrtProps {
|
||||||
|
modelValue: TGApp.Sqlite.Character.RoleTalent[];
|
||||||
|
}
|
||||||
|
|
||||||
|
const props = defineProps<DucDetailOrtProps>();
|
||||||
|
const talents = computed(() => {
|
||||||
|
return props.modelValue ?? [];
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style lang="css" scoped>
|
||||||
|
.duc-dort-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
row-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.duc-dort-item {
|
||||||
|
display: flex;
|
||||||
|
column-gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.duc-dort-item img {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
padding: 5px;
|
||||||
|
border-radius: 50%;
|
||||||
|
backdrop-filter: blur(5px);
|
||||||
|
background: rgba(0 0 0 /40%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.duc-dort-item span {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-family: var(--font-title);
|
||||||
|
font-size: 16px;
|
||||||
|
text-shadow: 0 0 5px rgba(0 0 0/40%);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -14,9 +14,9 @@
|
|||||||
<DucDetailOlt :data="props.dataVal" mode="avatar" />
|
<DucDetailOlt :data="props.dataVal" mode="avatar" />
|
||||||
<DucDetailOlt :data="JSON.parse(props.dataVal.weapon)" mode="weapon" />
|
<DucDetailOlt :data="JSON.parse(props.dataVal.weapon)" mode="weapon" />
|
||||||
</div>
|
</div>
|
||||||
<!-- 右下天赋 -->
|
<!-- 右侧天赋 -->
|
||||||
<div class="duc-doc-rb">
|
<div class="duc-doc-rt">
|
||||||
<DucDetailOrt :data="JSON.parse(props.dataVal.talent)" />
|
<DucDetailOrt :model-value="JSON.parse(props.dataVal.talent)" />
|
||||||
</div>
|
</div>
|
||||||
<!-- 左下命座 -->
|
<!-- 左下命座 -->
|
||||||
<div class="duc-doc-lb">
|
<div class="duc-doc-lb">
|
||||||
@@ -125,7 +125,7 @@ async function loadData(): Promise<void> {
|
|||||||
.duc-do-container {
|
.duc-do-container {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
width: 50vw;
|
width: 800px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
aspect-ratio: 21 / 10;
|
aspect-ratio: 21 / 10;
|
||||||
background: var(--box-bg-1);
|
background: var(--box-bg-1);
|
||||||
@@ -159,13 +159,11 @@ async function loadData(): Promise<void> {
|
|||||||
row-gap: 10px;
|
row-gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.duc-doc-rb {
|
.duc-doc-rt {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 20px;
|
top: 10px;
|
||||||
bottom: 20px;
|
right: 10px;
|
||||||
width: 100px;
|
padding: 10px;
|
||||||
height: 300px;
|
|
||||||
background: var(--common-shadow-2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.duc-doc-lb {
|
.duc-doc-lb {
|
||||||
|
|||||||
Reference in New Issue
Block a user