remove shared components.

This commit is contained in:
2023-11-21 23:06:57 +08:00
parent ab985ff65f
commit aa7d46effc
33 changed files with 53 additions and 43 deletions

View File

@@ -44,6 +44,6 @@
"unplugin-vue-components": "^0.25.2",
"vite": "^4.4.11",
"unplugin-vue-markdown": "^0.24.3",
"vue-tsc": "^1.8.18"
"vue-tsc": "^1.8.22"
}
}

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { formatISO } from "date-fns"
import TextEditor from "~/shared/TextEditor.vue"
import TextEditor from "~/shared/components/TextEditor.vue"
import { BlankContest } from "~/utils/types"
import { createContest, editContest, getContest } from "../api"

View File

@@ -1,10 +1,10 @@
<script setup lang="ts">
import { NSwitch, NTag } from "naive-ui"
import Pagination from "~/shared/Pagination.vue"
import Pagination from "~/shared/components/Pagination.vue"
import { Contest } from "~/utils/types"
import { getContestList } from "../api"
import ContestType from "~/shared/ContestType.vue"
import ContestTitle from "~/shared/ContestTitle.vue"
import ContestType from "~/shared/components/ContestType.vue"
import ContestTitle from "~/shared/components/ContestTitle.vue"
import { CONTEST_STATUS } from "~/utils/constants"
import Actions from "./components/Actions.vue"

View File

@@ -1,7 +1,7 @@
<script lang="ts" setup>
import { getProblemList } from "~/admin/api"
import { AdminProblemFiltered } from "~/utils/types"
import Pagination from "~/shared/Pagination.vue"
import Pagination from "~/shared/components/Pagination.vue"
import AddButton from "./AddButton.vue"
interface Props {

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import TextEditor from "~/shared/TextEditor.vue"
import TextEditor from "~/shared/components/TextEditor.vue"
import { unique } from "~/utils/functions"
import { BlankProblem, LANGUAGE, Tag } from "~/utils/types"
import { getProblemTagList } from "~/shared/api"
@@ -14,7 +14,7 @@ import {
uploadTestcases,
} from "../api"
const CodeEditor = defineAsyncComponent(() => import("~/shared/CodeEditor.vue"))
const CodeEditor = defineAsyncComponent(() => import("~/shared/components/CodeEditor.vue"))
interface Props {
problemID?: string

View File

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

View File

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

1
src/components.d.ts vendored
View File

@@ -7,7 +7,6 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
IEpArrowD: typeof import('~icons/ep/arrow-d')['default']
IEpArrowDown: typeof import('~icons/ep/arrow-down')['default']
IEpArrowRightBold: typeof import('~icons/ep/arrow-right-bold')['default']
IEpArrowUp: typeof import('~icons/ep/arrow-up')['default']

View File

@@ -3,7 +3,7 @@ import { isDesktop } from "~/shared/composables/breakpoints"
import { code } from "~/shared/composables/learn"
import { useLearnStore } from "./store"
const CodeEditor = defineAsyncComponent(() => import("~/shared/CodeEditor.vue"))
const CodeEditor = defineAsyncComponent(() => import("~/shared/components/CodeEditor.vue"))
const route = useRoute()
const router = useRouter()

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { parseTime } from "utils/functions"
import { useContestStore } from "oj/store/contest"
import ContestType from "~/shared/ContestType.vue"
import ContestType from "~/shared/components/ContestType.vue"
const contestStore = useContestStore()
</script>

View File

@@ -4,6 +4,7 @@ import { isDesktop } from "~/shared/composables/breakpoints"
import { useContestStore } from "../store/contest"
import ContestInfo from "./components/ContestInfo.vue"
import ContestMenu from "./components/ContestMenu.vue"
import Lock from "~/shared/icons/Lock.vue"
const props = defineProps<{
contestID: string
@@ -34,7 +35,7 @@ const passwordFormVisible = computed(
<n-space align="center">
<h2 class="contestTitle">{{ contestStore.contest.title }}</h2>
<n-icon size="large" v-if="contestStore.isPrivate" class="lockIcon">
<i-ep-lock />
<Lock />
</n-icon>
<n-tag
size="small"

View File

@@ -4,8 +4,8 @@ import { getContestList } from "oj/api"
import { filterEmptyValue, parseTime, duration } from "utils/functions"
import { Contest } from "utils/types"
import { ContestType, CONTEST_STATUS } from "~/utils/constants"
import ContestTitle from "~/shared/ContestTitle.vue"
import Pagination from "~/shared/Pagination.vue"
import ContestTitle from "~/shared/components/ContestTitle.vue"
import Pagination from "~/shared/components/Pagination.vue"
import { useUserStore } from "~/shared/store/user"
import { toggleLogin } from "~/shared/composables/modal"

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { NButton, NIcon } from "naive-ui"
import { GoldMedal } from "@element-plus/icons-vue"
import Pagination from "~/shared/Pagination.vue"
import Pagination from "~/shared/components/Pagination.vue"
import AcAndSubmission from "../components/AcAndSubmission.vue"
import { getContestProblems, getContestRank } from "oj/api"
import { ContestRank, ProblemFiltered } from "~/utils/types"

View File

@@ -6,7 +6,7 @@ import { problem } from "oj/composables/problem"
import storage from "~/utils/storage"
const Form = defineAsyncComponent(() => import("./Form.vue"))
const CodeEditor = defineAsyncComponent(() => import("~/shared/CodeEditor.vue"))
const CodeEditor = defineAsyncComponent(() => import("~/shared/components/CodeEditor.vue"))
const route = useRoute()
const contestID = !!route.params.contestID ? route.params.contestID : null

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import Copy from "~/shared/Copy.vue"
import Copy from "~/shared/components/Copy.vue"
import { code } from "oj/composables/code"
import { problem } from "oj/composables/problem"
import { Problem, ProblemStatus } from "utils/types"

View File

@@ -5,8 +5,8 @@ import { parseTime } from "~/utils/functions"
import { LANGUAGE_SHOW_VALUE } from "~/utils/constants"
import { getSubmissions } from "~/oj/api"
import { isDesktop } from "~/shared/composables/breakpoints"
import SubmissionResultTag from "~/shared/SubmissionResultTag.vue"
import Pagination from "~/shared/Pagination.vue"
import SubmissionResultTag from "~/shared/components/SubmissionResultTag.vue"
import Pagination from "~/shared/components/Pagination.vue"
import { NButton } from "naive-ui"
const userStore = useUserStore()

View File

@@ -7,7 +7,7 @@ import { JUDGE_STATUS, SubmissionStatus } from "utils/constants"
import { submissionMemoryFormat, submissionTimeFormat } from "utils/functions"
import { Submission, SubmitCodePayload } from "utils/types"
import { getSubmission, submitCode } from "oj/api"
import SubmissionResultTag from "~/shared/SubmissionResultTag.vue"
import SubmissionResultTag from "~/shared/components/SubmissionResultTag.vue"
import { useUserStore } from "~/shared/store/user"
const userStore = useUserStore()

View File

@@ -6,7 +6,7 @@ import { getProblemList, getRandomProblemID } from "oj/api"
import ProblemStatus from "./components/ProblemStatus.vue"
import { useUserStore } from "~/shared/store/user"
import { getProblemTagList } from "~/shared/api"
import Pagination from "~/shared/Pagination.vue"
import Pagination from "~/shared/components/Pagination.vue"
import { isDesktop } from "~/shared/composables/breakpoints"
interface Tag {

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { NButton } from "naive-ui"
import Chart from "./components/Chart.vue"
import Pagination from "~/shared/Pagination.vue"
import Pagination from "~/shared/components/Pagination.vue"
import { Rank } from "utils/types"
import { getRank } from "oj/api"
import { getACRate } from "utils/functions"

View File

@@ -8,7 +8,7 @@ import {
submissionTimeFormat,
} from "utils/functions"
import copy from "copy-text-to-clipboard"
import SubmissionResultTag from "~/shared/SubmissionResultTag.vue"
import SubmissionResultTag from "~/shared/components/SubmissionResultTag.vue"
const props = defineProps<{
submissionID: string

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { NButton } from "naive-ui"
import SubmissionResultTag from "~/shared/SubmissionResultTag.vue"
import Pagination from "~/shared/Pagination.vue"
import SubmissionResultTag from "~/shared/components/SubmissionResultTag.vue"
import Pagination from "~/shared/components/Pagination.vue"
import {
submissionMemoryFormat,
submissionTimeFormat,

View File

@@ -3,10 +3,10 @@ import { Codemirror } from "vue-codemirror"
import { cpp } from "@codemirror/lang-cpp"
import { python } from "@codemirror/lang-python"
import { EditorView } from "@codemirror/view"
import { oneDark } from "./themes/oneDark"
import { smoothy } from "./themes/smoothy"
import { oneDark } from "../themes/oneDark"
import { smoothy } from "../themes/smoothy"
import { LANGUAGE } from "~/utils/types"
import { isDark } from "./composables/dark"
import { isDark } from "../composables/dark"
const styleTheme = EditorView.baseTheme({
"& .cm-scroller": {

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { logout } from "./api"
import { useUserStore } from "./store/user"
import { useConfigStore } from "./store/config"
import { logout } from "../api"
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 { RouterLink } from "vue-router"

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { login } from "./api"
import { loginModal, toggleLogin, toggleSignup } from "./composables/modal"
import { useUserStore } from "./store/user"
import { login } from "../api"
import { loginModal, toggleLogin, toggleSignup } from "../composables/modal"
import { useUserStore } from "../store/user"
const userStore = useUserStore()
const loginRef = ref()

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import { getCaptcha, signup, login } from "./api"
import { signupModal, toggleLogin, toggleSignup } from "./composables/modal"
import { useUserStore } from "./store/user"
import { getCaptcha, signup, login } from "../api"
import { signupModal, toggleLogin, toggleSignup } from "../composables/modal"
import { useUserStore } from "../store/user"
const userStore = useUserStore()
const signupRef = ref()

View File

@@ -2,7 +2,7 @@
import "@wangeditor/editor/dist/css/style.css"
import { IDomEditor, IEditorConfig, IToolbarConfig } from "@wangeditor/editor"
import { Editor, Toolbar } from "@wangeditor/editor-for-vue"
import { uploadImage } from "../admin/api"
import { uploadImage } from "../../admin/api"
interface Props {
value: string

10
src/shared/icons/Lock.vue Normal file
View File

@@ -0,0 +1,10 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M6 22q-.825 0-1.413-.588T4 20V10q0-.825.588-1.413T6 8h1V6q0-2.075 1.463-3.538T12 1q2.075 0 3.538 1.463T17 6v2h1q.825 0 1.413.588T20 10v10q0 .825-.588 1.413T18 22H6Zm0-2h12V10H6v10Zm6-3q.825 0 1.413-.588T14 15q0-.825-.588-1.413T12 13q-.825 0-1.413.588T10 15q0 .825.588 1.413T12 17ZM9 8h6V6q0-1.25-.875-2.125T12 3q-1.25 0-2.125.875T9 6v2ZM6 20V10v10Z"></path></svg>
</template>
<script lang="ts">
export default {
name: 'MaterialSymbolsLockOutline'
}
</script>

View File

@@ -1,7 +1,7 @@
<script setup lang="ts">
import Login from "../Login.vue"
import Signup from "../Signup.vue"
import Header from "../Header.vue"
import Login from "../components/Login.vue"
import Signup from "../components/Signup.vue"
import Header from "../components/Header.vue"
</script>
<template>