2022-12-29 00:26:12 +08:00
|
|
|
<template>
|
2022-12-30 15:25:58 +08:00
|
|
|
<Colomn @close="exit" :width="80" :height="80" :left="30" :right="70"
|
|
|
|
><template #left
|
|
|
|
><div id="desc-list">
|
|
|
|
<span
|
|
|
|
v-for="(data, k) in desc"
|
|
|
|
class="selectable desc-item"
|
|
|
|
:selected="selected === k"
|
|
|
|
@click="selected = k"
|
|
|
|
>{{ data.text }}</span
|
|
|
|
>
|
|
|
|
</div></template
|
|
|
|
>
|
|
|
|
<template #right><span v-html="content"></span></template
|
|
|
|
></Colomn>
|
2022-12-29 00:26:12 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
2022-12-30 00:55:03 +08:00
|
|
|
import { computed, ref } from 'vue';
|
|
|
|
import desc from '../data/desc.json';
|
|
|
|
import { has } from '../plugin/utils';
|
2022-12-30 15:25:58 +08:00
|
|
|
import Colomn from '../components/colomn.vue';
|
2022-12-30 00:55:03 +08:00
|
|
|
|
|
|
|
type DescKey = keyof typeof desc;
|
|
|
|
|
|
|
|
const selected = ref(Object.keys(desc)[0] as DescKey);
|
|
|
|
|
|
|
|
function exit() {
|
|
|
|
core.plugin.descOpened.value = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
const content = computed(() => {
|
|
|
|
return desc[selected.value].desc
|
|
|
|
.map((v, i, a) => {
|
2022-12-30 11:06:46 +08:00
|
|
|
if (/^\d+\./.test(v)) return `${' '.repeat(12)}${v}`;
|
2022-12-30 00:55:03 +08:00
|
|
|
else if (
|
2022-12-30 11:06:46 +08:00
|
|
|
(has(a[i - 1]) && v !== '<br>' && a[i - 1] === '<br>') ||
|
2022-12-30 00:55:03 +08:00
|
|
|
i === 0
|
|
|
|
) {
|
|
|
|
return `${' '.repeat(8)}${v}`;
|
|
|
|
} else return v;
|
|
|
|
})
|
|
|
|
.join('');
|
|
|
|
});
|
2022-12-29 00:26:12 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
2022-12-30 00:55:03 +08:00
|
|
|
#desc-left {
|
|
|
|
flex-basis: 30%;
|
|
|
|
}
|
|
|
|
|
|
|
|
#desc-list {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
}
|
|
|
|
|
|
|
|
.desc-item {
|
|
|
|
padding: 1% 3% 1% 3%;
|
|
|
|
}
|
2022-12-29 00:26:12 +08:00
|
|
|
</style>
|