Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f0969f1458
commit
dc89184488
1 file changed
+19
-2
@@ -2,16 +2,21 @@
|
|||||||
import { useContestStore } from "oj/store/contest"
|
import { useContestStore } from "oj/store/contest"
|
||||||
import { parseTime } from "utils/functions"
|
import { parseTime } from "utils/functions"
|
||||||
import ContestAccessTag from "shared/components/ContestAccessTag.vue"
|
import ContestAccessTag from "shared/components/ContestAccessTag.vue"
|
||||||
|
import Markdown from "shared/components/Markdown.vue"
|
||||||
|
|
||||||
const contestStore = useContestStore()
|
const contestStore = useContestStore()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<n-popover v-if="contestStore.contest" placement="bottom-end" :show-arrow="false">
|
<!-- 点开而不是悬停:正文里的图点开放大时,放大层盖住了弹框,悬停会当成鼠标离开把弹框连同放大层一起收掉 -->
|
||||||
|
<n-popover v-if="contestStore.contest" trigger="click" placement="bottom-end" :show-arrow="false">
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<n-button>比赛信息</n-button>
|
<n-button>比赛信息</n-button>
|
||||||
</template>
|
</template>
|
||||||
<div v-html="contestStore.contest.description"></div>
|
<!-- 后台富文本存的 HTML,和题面一样走 Markdown:贴进来的截图不会被压扁、点开能放大 -->
|
||||||
|
<div class="desc">
|
||||||
|
<Markdown html :content="contestStore.contest.description" />
|
||||||
|
</div>
|
||||||
<n-descriptions bordered label-placement="left" :column="1">
|
<n-descriptions bordered label-placement="left" :column="1">
|
||||||
<n-descriptions-item label="开始时间">
|
<n-descriptions-item label="开始时间">
|
||||||
{{ parseTime(contestStore.contest.startTime, "YYYY年M月D日 HH:mm:ss") }}
|
{{ parseTime(contestStore.contest.startTime, "YYYY年M月D日 HH:mm:ss") }}
|
||||||
@@ -28,3 +33,15 @@ const contestStore = useContestStore()
|
|||||||
</n-descriptions>
|
</n-descriptions>
|
||||||
</n-popover>
|
</n-popover>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 截图按原宽会把弹框撑得和屏幕一样宽 */
|
||||||
|
.desc {
|
||||||
|
max-width: min(480px, calc(100vw - 48px));
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desc :deep(.oj-markdown) {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in new issue
Block a user