This commit is contained in:
2023-04-12 18:57:27 +08:00
parent 965de2f069
commit 7a1cd8244b
25 changed files with 21 additions and 68 deletions

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { DataTableColumn, NSwitch, NTag } from "naive-ui"
import { NSwitch, NTag } from "naive-ui"
import Pagination from "~/shared/Pagination.vue"
import { Contest } from "~/utils/types"
import { getContestList } from "../api"

View File

@@ -1,5 +1,4 @@
<script lang="ts" setup>
import { DataTableColumn } from "naive-ui"
import { getProblemList } from "~/admin/api"
import { AdminProblemFiltered } from "~/utils/types"
import Pagination from "~/shared/Pagination.vue"

View File

@@ -1,7 +1,5 @@
<script setup lang="ts">
import TextEditor from "~/shared/TextEditor.vue"
import { SelectOption, UploadCustomRequestOptions } from "naive-ui"
import { unique } from "~/utils/functions"
import { BlankProblem, LANGUAGE, Tag } from "~/utils/types"
import { getProblemTagList } from "~/shared/api"

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { getProblemList, getProblem, editProblem } from "../api"
import Pagination from "~/shared/Pagination.vue"
import { DataTableColumn, NSwitch } from "naive-ui"
import { NSwitch } from "naive-ui"
import { AdminProblemFiltered } from "~/utils/types"
import { parseTime } from "~/utils/functions"
import Actions from "./components/Actions.vue"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { DataTableColumn, NButton, NTag } from "naive-ui"
import { NButton, NTag } from "naive-ui"
import {
editWebsite,
getJudgeServer,

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { DataTableColumn, NAlert } from "naive-ui"
import { importUsers } from "../api"
const possibleChars = "0123456789"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { DataTableColumn, DataTableRowKey, SelectOption } from "naive-ui"
import { DataTableRowKey, SelectOption } from "naive-ui"
import Pagination from "~/shared/Pagination.vue"
import { parseTime } from "~/utils/functions"
import { User } from "~/utils/types"

38
src/auto-imports.d.ts vendored
View File

@@ -4,27 +4,10 @@
// Generated by unplugin-auto-import
export {}
declare global {
const CODE_TEMPLATES: typeof import('./utils/constants')['CODE_TEMPLATES']
const CONTEST_STATUS: typeof import('./utils/constants')['CONTEST_STATUS']
const CONTEST_TYPE: typeof import('./utils/constants')['CONTEST_TYPE']
const ContestStatus: typeof import('./utils/constants')['ContestStatus']
const ContestType: typeof import('./utils/constants')['ContestType']
const DEAD_RESULTS: typeof import('./utils/constants')['DEAD_RESULTS']
const DIFFICULTY: typeof import('./utils/constants')['DIFFICULTY']
const EffectScope: typeof import('vue')['EffectScope']
const JUDGE_STATUS: typeof import('./utils/constants')['JUDGE_STATUS']
const LANGUAGE_FORMAT_VALUE: typeof import('./utils/constants')['LANGUAGE_FORMAT_VALUE']
const LANGUAGE_ID: typeof import('./utils/constants')['LANGUAGE_ID']
const LANGUAGE_SHOW_VALUE: typeof import('./utils/constants')['LANGUAGE_SHOW_VALUE']
const PROBLEM_PERMISSION: typeof import('./utils/constants')['PROBLEM_PERMISSION']
const SOURCES: typeof import('./utils/constants')['SOURCES']
const STORAGE_KEY: typeof import('./utils/constants')['STORAGE_KEY']
const SubmissionStatus: typeof import('./utils/constants')['SubmissionStatus']
const USER_TYPE: typeof import('./utils/constants')['USER_TYPE']
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
const buildProblemCodeKey: typeof import('./utils/functions')['buildProblemCodeKey']
const computed: typeof import('vue')['computed']
const computedAsync: typeof import('@vueuse/core')['computedAsync']
const computedEager: typeof import('@vueuse/core')['computedEager']
@@ -39,35 +22,23 @@ declare global {
const createPinia: typeof import('pinia')['createPinia']
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
const createTestSubmission: typeof import('./utils/judge')['createTestSubmission']
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
const customRef: typeof import('vue')['customRef']
const debounce: typeof import('./utils/functions')['debounce']
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
const decode: typeof import('./utils/functions')['decode']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const defineStore: typeof import('pinia')['defineStore']
const download: typeof import('./utils/download')['default']
const duration: typeof import('./utils/functions')['duration']
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
const effectScope: typeof import('vue')['effectScope']
const encode: typeof import('./utils/functions')['encode']
const extendRef: typeof import('@vueuse/core')['extendRef']
const filterEmptyValue: typeof import('./utils/functions')['filterEmptyValue']
const getACRate: typeof import('./utils/functions')['getACRate']
const getActivePinia: typeof import('pinia')['getActivePinia']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const getTagColor: typeof import('./utils/functions')['getTagColor']
const getUserRole: typeof import('./utils/functions')['getUserRole']
const h: typeof import('vue')['h']
const http: typeof import('./utils/http')['default']
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
const inject: typeof import('vue')['inject']
const isDefined: typeof import('@vueuse/core')['isDefined']
const isLowVersion: typeof import('./utils/functions')['isLowVersion']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
@@ -99,9 +70,7 @@ declare global {
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const parseTime: typeof import('./utils/functions')['parseTime']
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
const protocol: typeof import('./utils/functions')['protocol']
const provide: typeof import('vue')['provide']
const reactify: typeof import('@vueuse/core')['reactify']
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
@@ -119,16 +88,12 @@ declare global {
const resolveComponent: typeof import('vue')['resolveComponent']
const resolveRef: typeof import('@vueuse/core')['resolveRef']
const resolveUnref: typeof import('@vueuse/core')['resolveUnref']
const secondsToDuration: typeof import('./utils/functions')['secondsToDuration']
const setActivePinia: typeof import('pinia')['setActivePinia']
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const storage: typeof import('./utils/storage')['default']
const storeToRefs: typeof import('pinia')['storeToRefs']
const submissionMemoryFormat: typeof import('./utils/functions')['submissionMemoryFormat']
const submissionTimeFormat: typeof import('./utils/functions')['submissionTimeFormat']
const syncRef: typeof import('@vueuse/core')['syncRef']
const syncRefs: typeof import('@vueuse/core')['syncRefs']
const templateRef: typeof import('@vueuse/core')['templateRef']
@@ -144,7 +109,6 @@ declare global {
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
const unique: typeof import('./utils/functions')['unique']
const unref: typeof import('vue')['unref']
const unrefElement: typeof import('@vueuse/core')['unrefElement']
const until: typeof import('@vueuse/core')['until']
@@ -327,5 +291,5 @@ declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode } from 'vue'
// @ts-ignore
export type { RouteLocationRaw } from 'vue-router'
export type { DataTableColumn, FormRules, FormItemRule, SelectOption, UploadCustomRequestOptions, UploadFileInfo, MenuOption, DropdownDividerOption, DropdownOption } from 'naive-ui'
}

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { DropdownOption } from "naive-ui"
import { useContestStore } from "oj/store/contest"
import { isDesktop } from "~/shared/composables/breakpoints"
import { ContestStatus } from "~/utils/constants"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { DataTableColumn, NTag, SelectOption } from "naive-ui"
import { NTag } from "naive-ui"
import { getContestList } from "oj/api"
import { filterEmptyValue, parseTime, duration } from "utils/functions"
import { Contest } from "utils/types"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { DataTableColumn } from "naive-ui"
import { ProblemFiltered } from "utils/types"
import ProblemStatus from "~/oj/problem/components/ProblemStatus.vue"
import { useContestStore } from "~/oj/store/contest"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { DataTableColumn, NButton } from "naive-ui"
import { NButton } from "naive-ui"
import Pagination from "~/shared/Pagination.vue"
import AcAndSubmission from "../components/AcAndSubmission.vue"
import { getContestProblems, getContestRank } from "oj/api"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { DropdownOption } from "naive-ui"
import { LANGUAGE_SHOW_VALUE, SOURCES } from "utils/constants"
import { Problem } from "utils/types"
import { code } from "oj/composables/code"

View File

@@ -1,7 +1,6 @@
<script setup lang="ts">
import Copy from "~/shared/Copy.vue"
import { code } from "oj/composables/code"
import { SOURCES } from "utils/constants"
import { Problem, ProblemStatus } from "utils/types"
import { createTestSubmission } from "utils/judge"
import { useThemeVars } from "naive-ui"

View File

@@ -7,7 +7,6 @@ import { submissionMemoryFormat, submissionTimeFormat } from "utils/functions"
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()

View File

@@ -4,7 +4,7 @@ import { filterEmptyValue, getTagColor } from "utils/functions"
import { ProblemFiltered } from "utils/types"
import { getProblemList, getRandomProblemID } from "oj/api"
import Pagination from "~/shared/Pagination.vue"
import { DataTableColumn, NSpace, NTag } from "naive-ui"
import { NSpace, NTag } from "naive-ui"
import ProblemStatus from "./components/ProblemStatus.vue"
import { getProblemTagList } from "~/shared/api"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { DataTableColumn, NButton } from "naive-ui"
import { NButton } from "naive-ui"
import Chart from "./components/Chart.vue"
import Pagination from "~/shared/Pagination.vue"
import { Rank } from "utils/types"

View File

@@ -7,7 +7,6 @@ import {
submissionMemoryFormat,
submissionTimeFormat,
} from "utils/functions"
import { DataTableColumn, NAlert, NDataTable } from "naive-ui"
import copy from "copy-text-to-clipboard"
import SubmissionResultTag from "~/shared/SubmissionResultTag.vue"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { DataTableColumn, SelectOption } from "naive-ui"
import { NButton } from "naive-ui"
import SubmissionResultTag from "~/shared/SubmissionResultTag.vue"
import Pagination from "~/shared/Pagination.vue"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { UploadCustomRequestOptions, UploadFileInfo } from "naive-ui"
import { useUserStore } from "~/shared/store/user"
import { updateProfile, uploadAvatar } from "oj/api"

View File

@@ -4,11 +4,6 @@ import { useUserStore } from "./store/user"
import { useConfigStore } from "./store/config"
import { isDark, toggleDark } from "~/shared/composables/dark"
import { toggleLogin, toggleSignup } from "~/shared/composables/modal"
import type {
MenuOption,
DropdownOption,
DropdownDividerOption,
} from "naive-ui"
import { RouterLink } from "vue-router"
import { isDesktop, isMobile } from "~/shared/composables/breakpoints"
import { code } from "~/shared/composables/learn"

View File

@@ -2,7 +2,6 @@
import { login } from "./api"
import { loginModal, toggleLogin, toggleSignup } from "./composables/modal"
import { useUserStore } from "./store/user"
import type { FormRules } from "naive-ui"
const userStore = useUserStore()
const loginRef = ref()

View File

@@ -2,7 +2,6 @@
import { getCaptcha, signup, login } from "./api"
import { signupModal, toggleLogin, toggleSignup } from "./composables/modal"
import { useUserStore } from "./store/user"
import type { FormItemRule, FormRules } from "naive-ui"
const userStore = useUserStore()
const signupRef = ref()

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { MenuOption } from "naive-ui"
import { RouterLink } from "vue-router"
import { STORAGE_KEY } from "~/utils/constants"
import storage from "~/utils/storage"

View File

@@ -74,12 +74,21 @@ export default defineConfig({
],
},
{
from: "vue-router",
imports: ["RouteLocationRaw"],
from: "naive-ui",
imports: [
"DataTableColumn",
"FormRules",
"FormItemRule",
"SelectOption",
"UploadCustomRequestOptions",
"UploadFileInfo",
"MenuOption",
"DropdownDividerOption",
"DropdownOption",
],
type: true,
},
],
dirs: ["./src/utils"],
dts: "./src/auto-imports.d.ts",
}),
Components({