From e81545e0ee59e2ea781ce32f5ca744d2db29f05c Mon Sep 17 00:00:00 2001 From: Shigma Date: Fri, 31 May 2024 23:41:28 +0800 Subject: [PATCH] feat(client): enhance typings --- packages/client/app/settings/settings.vue | 2 +- .../client/client/components/chat/image.vue | 17 -- .../client/client/components/chat/overlay.vue | 212 ------------------ .../client/client/components/chat/utils.ts | 5 - packages/client/client/components/index.ts | 3 +- packages/client/client/components/slot.ts | 9 +- packages/client/client/context.ts | 4 +- packages/client/client/plugins/router.ts | 7 - 8 files changed, 10 insertions(+), 249 deletions(-) delete mode 100644 packages/client/client/components/chat/image.vue delete mode 100644 packages/client/client/components/chat/overlay.vue delete mode 100644 packages/client/client/components/chat/utils.ts diff --git a/packages/client/app/settings/settings.vue b/packages/client/app/settings/settings.vue index b4d123e..cc5caac 100644 --- a/packages/client/app/settings/settings.vue +++ b/packages/client/app/settings/settings.vue @@ -41,7 +41,7 @@ const ctx = useContext() interface Tree { id: string - label: string + label?: string children?: Tree[] } diff --git a/packages/client/client/components/chat/image.vue b/packages/client/client/components/chat/image.vue deleted file mode 100644 index cf9888a..0000000 --- a/packages/client/client/components/chat/image.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/packages/client/client/components/chat/overlay.vue b/packages/client/client/components/chat/overlay.vue deleted file mode 100644 index a35c598..0000000 --- a/packages/client/client/components/chat/overlay.vue +++ /dev/null @@ -1,212 +0,0 @@ - - - - - diff --git a/packages/client/client/components/chat/utils.ts b/packages/client/client/components/chat/utils.ts deleted file mode 100644 index 57ef49e..0000000 --- a/packages/client/client/components/chat/utils.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { reactive } from 'vue' - -export const shared = reactive({ - overlayImage: null as HTMLImageElement, -}) diff --git a/packages/client/client/components/index.ts b/packages/client/client/components/index.ts index 1ebaa3d..96cbf19 100644 --- a/packages/client/client/components/index.ts +++ b/packages/client/client/components/index.ts @@ -4,7 +4,6 @@ import components from '@cordisjs/components' import Element, { ElLoading, ElMessage, ElMessageBox } from 'element-plus' import common from './common' -import ChatImage from './chat/image.vue' import * as icons from './icons' import layout from './layout' import link from './link' @@ -24,7 +23,7 @@ export * from './slot' export * from 'vue-i18n' export * from '@cordisjs/components' -export { icons, ChatImage } +export { icons } export default function (app: App) { app.use(Element) diff --git a/packages/client/client/components/slot.ts b/packages/client/client/components/slot.ts index 643e4c3..5065b86 100644 --- a/packages/client/client/components/slot.ts +++ b/packages/client/client/components/slot.ts @@ -1,9 +1,9 @@ import { useContext } from '../context' -import { App, Component, defineComponent, h } from 'vue' +import { App, Component, DefineComponent, defineComponent, h } from 'vue' export interface SlotItem { order?: number - component: Component + component: Component | DefineComponent } export interface SlotOptions extends SlotItem { @@ -15,7 +15,10 @@ export interface SlotOptions extends SlotItem { export const KSlot = defineComponent({ props: { - name: String, + name: { + type: String, + required: true, + }, data: Object, single: Boolean, }, diff --git a/packages/client/client/context.ts b/packages/client/client/context.ts index 6c4e1c3..f2576c3 100644 --- a/packages/client/client/context.ts +++ b/packages/client/client/context.ts @@ -75,8 +75,8 @@ export class Context extends cordis.Context { }) } - wrapComponent(component?: Component) { - if (!component) return + wrapComponent(component: Component) { + if (!component) return null! const caller = this[Context.current] || this if (!caller.$entry) return component return defineComponent((props, { slots }) => { diff --git a/packages/client/client/plugins/router.ts b/packages/client/client/plugins/router.ts index 0bba183..5ea1b92 100644 --- a/packages/client/client/plugins/router.ts +++ b/packages/client/client/plugins/router.ts @@ -1,5 +1,4 @@ import { createRouter, createWebHistory, START_LOCATION } from 'vue-router' -import Overlay from '../components/chat/overlay.vue' import { Context } from '../context' import { insert, Service } from '../utils' import { Component, MaybeRefOrGetter, reactive, ref, toValue } from 'vue' @@ -90,7 +89,6 @@ export class Activity { disabled() { if (this.ctx.bail('activity', this)) return true - if (this.when && !this.when()) return true if (this.options.disabled?.()) return true } @@ -148,11 +146,6 @@ export default class RouterService extends Service { if (result === to.fullPath) return return result }) - - this.slot({ - type: 'global', - component: Overlay, - }) } slot(options: SlotOptions) {