mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-01-20 05:19:27 +08:00
82 lines
1.9 KiB
Vue
82 lines
1.9 KiB
Vue
|
<template>
|
||
|
<Colomn @close="exit" :width="60" :height="80" :left="30" :right="70"
|
||
|
><template #left>
|
||
|
<div id="bgm-list">
|
||
|
<span
|
||
|
v-for="(bgm, i) of list"
|
||
|
class="selectable"
|
||
|
:selected="selected === i"
|
||
|
@click="selected = i"
|
||
|
>
|
||
|
{{ bgm.area }}
|
||
|
</span>
|
||
|
</div></template
|
||
|
>
|
||
|
<template #right
|
||
|
><div>
|
||
|
<div id="bgm-name">
|
||
|
<img id="bgm-image" :src="list[selected].img" />
|
||
|
<span>{{ name }}</span>
|
||
|
<span v-if="list[selected].from"
|
||
|
>出自 {{
|
||
|
list[selected].from
|
||
|
}}</span
|
||
|
>
|
||
|
</div>
|
||
|
<span v-html="content"></span></div></template
|
||
|
></Colomn>
|
||
|
</template>
|
||
|
|
||
|
<script lang="ts" setup>
|
||
|
import { computed, onMounted, ref } from 'vue';
|
||
|
import Colomn from '../components/colomn.vue';
|
||
|
import bgm from '../data/bgm.json';
|
||
|
import { splitText } from '../plugin/utils';
|
||
|
|
||
|
interface Bgm {
|
||
|
img: string;
|
||
|
area: string;
|
||
|
name: string;
|
||
|
desc: string[];
|
||
|
from?: string;
|
||
|
}
|
||
|
|
||
|
const list = bgm as Bgm[];
|
||
|
|
||
|
const selected = ref(0);
|
||
|
|
||
|
const content = computed(() => {
|
||
|
return eval('`' + splitText(list[selected.value].desc) + '`');
|
||
|
});
|
||
|
const name = computed(() => list[selected.value].name);
|
||
|
|
||
|
function exit() {
|
||
|
core.plugin.bgmOpened.value = false;
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="less" scoped>
|
||
|
#bgm-list {
|
||
|
display: flex;
|
||
|
flex-direction: column;
|
||
|
}
|
||
|
|
||
|
#bgm-name {
|
||
|
display: flex;
|
||
|
flex-direction: column;
|
||
|
align-items: center;
|
||
|
}
|
||
|
|
||
|
#bgm-image {
|
||
|
margin-top: 5%;
|
||
|
border: 1px solid #fff;
|
||
|
width: 33vw;
|
||
|
}
|
||
|
|
||
|
@media screen and (max-width: 600px) {
|
||
|
#bgm-image {
|
||
|
width: 70vw;
|
||
|
}
|
||
|
}
|
||
|
</style>
|