diff --git a/src/oj/problem/components/ProblemInfo.vue b/src/oj/problem/components/ProblemInfo.vue
index 441041c..aac8b1f 100644
--- a/src/oj/problem/components/ProblemInfo.vue
+++ b/src/oj/problem/components/ProblemInfo.vue
@@ -71,7 +71,7 @@ const options = {
-
+
diff --git a/src/oj/problem/components/Submit.vue b/src/oj/problem/components/Submit.vue
index 4046051..3e95dda 100644
--- a/src/oj/problem/components/Submit.vue
+++ b/src/oj/problem/components/Submit.vue
@@ -8,10 +8,12 @@ import { Problem, Submission, SubmitCodePayload } from "utils/types"
import { getSubmission, submitCode } from "oj/api"
import SubmissionResultTag from "~/shared/SubmissionResultTag.vue"
import type { DataTableColumn } from "naive-ui"
+import { useUserStore } from "~/shared/store/user"
+
+const userStore = useUserStore()
+const route = useRoute()
const problem = inject
[>("problem")
-
-const route = useRoute()
const contestID = route.params.contestID ?? ""
const submissionId = ref("")
@@ -60,6 +62,9 @@ const submitting = computed(
)
const submitDisabled = computed(() => {
+ if (!userStore.isAuthed) {
+ return true
+ }
const value = code.value
if (
value.trim() === "" ||
@@ -81,6 +86,9 @@ const submitDisabled = computed(() => {
})
const submitLabel = computed(() => {
+ if (!userStore.isAuthed) {
+ return "请先登录"
+ }
if (submitting.value) {
return "正在提交"
}
@@ -154,6 +162,9 @@ const columns: DataTableColumn[] = [
]
async function submit() {
+ if (!userStore.isAuthed) {
+ return
+ }
const data: SubmitCodePayload = {
problem_id: problem!.value.id,
language: code.language,
diff --git a/src/oj/problem/detail.vue b/src/oj/problem/detail.vue
index 20ff63c..bdfa5b7 100644
--- a/src/oj/problem/detail.vue
+++ b/src/oj/problem/detail.vue
@@ -41,7 +41,7 @@ provide("problem", readonly(problem))
-
+
@@ -50,7 +50,7 @@ provide("problem", readonly(problem))
-
+
diff --git a/src/oj/problem/list.vue b/src/oj/problem/list.vue
index 825648d..6e24c9a 100644
--- a/src/oj/problem/list.vue
+++ b/src/oj/problem/list.vue
@@ -2,7 +2,7 @@
import { useUserStore } from "~/shared/store/user"
import { filterEmptyValue, getTagColor } from "utils/functions"
import { ProblemFiltered } from "utils/types"
-import { isDesktop } from "~/shared/composables/breakpoints"
+import { isMobile } from "~/shared/composables/breakpoints"
import { getProblemList, getRandomProblemID } from "oj/api"
import Pagination from "~/shared/Pagination.vue"
import { DataTableColumn, NSpace, NTag } from "naive-ui"
@@ -169,25 +169,33 @@ function rowProps(row: ProblemFiltered) {
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
- 随机一题
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+ 随机一题
+
+
+
+
]标签
-
+