add flowchart
Some checks failed
Deploy / deploy (push) Has been cancelled

This commit is contained in:
2025-10-20 20:05:16 +08:00
parent d32af7e6e7
commit 63e58593d7
9 changed files with 259 additions and 45 deletions

View File

@@ -0,0 +1,25 @@
<template>
<n-button v-if="showLink" type="info" text @click="goto">
{{ flowchart.id.slice(0, 12) }}
</n-button>
<n-text v-else>{{ flowchart.id.slice(0, 12) }}</n-text>
</template>
<script setup lang="ts">
import { useUserStore } from "shared/store/user"
import { FlowchartSubmissionListItem } from "utils/types"
const userStore = useUserStore()
interface Props {
flowchart: FlowchartSubmissionListItem
}
const props = defineProps<Props>()
const showLink = computed(() => {
if (!userStore.isAuthed) return false
if (userStore.isSuperAdmin) return true
return props.flowchart.username === userStore.user?.username
})
function goto() {}
</script>

View File

@@ -0,0 +1,25 @@
<template>
<n-text :type="gradeType(grade)">
<span>{{ score }}</span>
<span>({{ grade }})</span>
</n-text>
</template>
<script setup lang="ts">
import { Grade } from "utils/types"
defineProps<{
score: number
grade: Grade
}>()
function gradeType(grade: Grade) {
return (
{
S: "success",
A: "info",
B: "warning",
C: "error",
} as const
)[grade]
}
</script>
<style scoped></style>