Skip to content

Commit 1229c15

Browse files
committed
feat: migrate problem lists view to primevue
1 parent 8a4ca23 commit 1229c15

2 files changed

Lines changed: 145 additions & 270 deletions

File tree

frontend/src/views/Contest/ContestOverview.vue

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,22 @@ function onRowSelect (e: any) {
2525
</script>
2626

2727
<template>
28-
<DataTable :value="overview" class="pb-4 pt-2 px-0 whitespace-nowrap" scrollable selection-mode="single" @row-select="onRowSelect">
29-
<Column class="pl-6 text-center w-24">
28+
<DataTable
29+
:value="overview" class="pb-4 pt-2 px-0 whitespace-nowrap" scrollable selection-mode="single"
30+
@row-select="onRowSelect"
31+
>
32+
<Column class="pl-8 text-center w-18">
33+
<template #body="{ data }">
34+
<span v-if="solved.includes(data.pid)" class="text-emerald-500">
35+
<i class="pi pi-check" />
36+
</span>
37+
<span v-else>
38+
<i class="pi pi-minus text-muted-color text-sm/tight" />
39+
</span>
40+
</template>
41+
</Column>
42+
43+
<Column class="px-2 text-center w-12">
3044
<template #header>
3145
<span class="text-center w-full">
3246
<i class="pi pi-hashtag" />
@@ -36,6 +50,7 @@ function onRowSelect (e: any) {
3650
{{ contestLabeling(index + 1, contest.option?.labelingStyle) }}
3751
</template>
3852
</Column>
53+
3954
<Column :header="t('ptoj.problem')">
4055
<template #body="{ data, index }">
4156
<RouterLink v-if="!data.invalid" :to="{ name: 'contestProblem', params: { cid, id: index + 1 } }">
@@ -44,13 +59,7 @@ function onRowSelect (e: any) {
4459
<span v-else>{{ t('oj.problem_invalid') }}</span>
4560
</template>
4661
</Column>
47-
<Column v-if="solved.length > 0" class="text-center w-16">
48-
<template #body="{ data }">
49-
<span v-if="solved.includes(data.pid)" class="flex justify-center text-emerald-500">
50-
<i class="pi pi-check" />
51-
</span>
52-
</template>
53-
</Column>
62+
5463
<Column class="pr-6 w-42">
5564
<template #header>
5665
<span class="text-center w-full">
@@ -68,5 +77,11 @@ function onRowSelect (e: any) {
6877
</span>
6978
</template>
7079
</Column>
80+
81+
<template #empty>
82+
<span class="px-2">
83+
{{ t('ptoj.empty_content_desc') }}
84+
</span>
85+
</template>
7186
</DataTable>
7287
</template>

0 commit comments

Comments
 (0)