style(projects): sort defineProps, defineEmits with TS type

This commit is contained in:
Soybean
2024-01-25 23:24:35 +08:00
parent b2c61f0306
commit 123fd4f96c
25 changed files with 100 additions and 97 deletions

View File

@ -7,15 +7,15 @@ defineOptions({
name: 'GlobalContent'
});
withDefaults(defineProps<Props>(), {
showPadding: true
});
interface Props {
/** Show padding for content */
showPadding?: boolean;
}
withDefaults(defineProps<Props>(), {
showPadding: true
});
const appStore = useAppStore();
const themeStore = useThemeStore();
const routeStore = useRouteStore();

View File

@ -14,12 +14,6 @@ import UserAvatar from './components/user-avatar.vue';
defineOptions({
name: 'GlobalHeader'
});
defineProps<Props>();
const appStore = useAppStore();
const themeStore = useThemeStore();
const routeStore = useRouteStore();
const { isFullscreen, toggle } = useFullscreen();
const { menus } = useMixMenuContext();
interface Props {
/** Whether to show the logo */
@ -30,6 +24,14 @@ interface Props {
showMenu?: App.Global.HeaderProps['showMenu'];
}
defineProps<Props>();
const appStore = useAppStore();
const themeStore = useThemeStore();
const routeStore = useRouteStore();
const { isFullscreen, toggle } = useFullscreen();
const { menus } = useMixMenuContext();
const headerMenus = computed(() => {
if (themeStore.layout.mode === 'horizontal') {
return routeStore.menus;

View File

@ -5,14 +5,14 @@ defineOptions({
name: 'GlobalLogo'
});
withDefaults(defineProps<Props>(), {
showTitle: true
});
interface Props {
/** Whether to show the title */
showTitle?: boolean;
}
withDefaults(defineProps<Props>(), {
showTitle: true
});
</script>
<template>

View File

@ -13,16 +13,16 @@ defineOptions({
name: 'BaseMenu'
});
const props = withDefaults(defineProps<Props>(), {
mode: 'vertical'
});
interface Props {
darkTheme?: boolean;
mode?: MenuProps['mode'];
menus: App.Global.Menu[];
}
const props = withDefaults(defineProps<Props>(), {
mode: 'vertical'
});
const route = useRoute();
const appStore = useAppStore();
const themeStore = useThemeStore();

View File

@ -11,19 +11,19 @@ defineOptions({
name: 'FirstLevelMenu'
});
defineProps<Props>();
const emit = defineEmits<Emits>();
interface Props {
activeMenuKey?: string;
inverted?: boolean;
}
defineProps<Props>();
interface Emits {
(e: 'select', menu: App.Global.Menu): boolean;
}
const emit = defineEmits<Emits>();
const appStore = useAppStore();
const themeStore = useThemeStore();
const routeStore = useRouteStore();

View File

@ -10,11 +10,6 @@ defineOptions({
name: 'ContextMenu'
});
const props = withDefaults(defineProps<Props>(), {
excludeKeys: () => [],
disabledKeys: () => []
});
interface Props {
/** ClientX */
x: number;
@ -25,6 +20,11 @@ interface Props {
disabledKeys?: App.Global.DropdownKey[];
}
const props = withDefaults(defineProps<Props>(), {
excludeKeys: () => [],
disabledKeys: () => []
});
const visible = defineModel<boolean>('visible');
const { removeTab, clearTabs, clearLeftTabs, clearRightTabs } = useTabStore();

View File

@ -7,10 +7,6 @@ defineOptions({
name: 'LayoutModeCard'
});
const props = defineProps<Props>();
const emit = defineEmits<Emits>();
interface Props {
/** Layout mode */
mode: UnionKey.ThemeLayoutMode;
@ -18,11 +14,15 @@ interface Props {
disabled?: boolean;
}
const props = defineProps<Props>();
interface Emits {
/** Layout mode change */
(e: 'update:mode', mode: UnionKey.ThemeLayoutMode): void;
}
const emit = defineEmits<Emits>();
type LayoutConfig = Record<
UnionKey.ThemeLayoutMode,
{

View File

@ -3,12 +3,12 @@ defineOptions({
name: 'SettingItem'
});
defineProps<Props>();
interface Props {
/** Label */
label: string;
}
defineProps<Props>();
</script>
<template>