1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

fix: use shared-ui menus

Signed-off-by: Kaifuny <superbiger.github@gmail.com>
This commit is contained in:
Kaifuny 2023-07-21 14:36:28 +08:00
parent 6a7b0472af
commit 69f06ebc4d
7 changed files with 37 additions and 12 deletions

View File

@ -1,14 +1,15 @@
<script setup lang="ts"> <script setup lang="ts">
import { MenusLayout } from '@cskefu/shared-ui' import { MenusLayout } from '@cskefu/shared-ui'
import { MenuOption, NMenu } from 'naive-ui' import { MenuOption } from 'naive-ui'
import routes from '../routes' import routes from '../routes'
import { routesToMenus } from '@cskefu/shared-utils' import { routesToMenus } from '@cskefu/shared-utils'
import { Menu } from '@cskefu/shared-ui'
const menuOptions: MenuOption[] = routesToMenus(routes) const menuOptions: MenuOption[] = routesToMenus(routes)
</script> </script>
<template> <template>
<MenusLayout> <MenusLayout>
<n-menu :options="menuOptions" /> <Menu :options="menuOptions" />
</MenusLayout> </MenusLayout>
</template> </template>

View File

@ -1,11 +1,13 @@
<script setup lang="ts"> <script setup lang="ts">
import { MenusLayout } from '@cskefu/shared-ui' import { MenusLayout } from '@cskefu/shared-ui'
import { MenuOption, NMenu } from 'naive-ui' import { MenuOption } from 'naive-ui'
import { Menu } from '@cskefu/shared-ui'
const menuOptions: MenuOption[] = [] const menuOptions: MenuOption[] = []
</script> </script>
<template> <template>
<MenusLayout> <MenusLayout>
<n-menu :options="menuOptions" /> <Menu :options="menuOptions" />
</MenusLayout> </MenusLayout>
</template> </template>

View File

@ -1,14 +1,15 @@
<script setup lang="ts"> <script setup lang="ts">
import { MenusLayout } from '@cskefu/shared-ui' import { MenusLayout } from '@cskefu/shared-ui'
import { MenuOption, NMenu } from 'naive-ui' import { MenuOption } from 'naive-ui'
import routes from '../routes' import routes from '../routes'
import { routesToMenus } from '@cskefu/shared-utils' import { routesToMenus } from '@cskefu/shared-utils'
import { Menu } from '@cskefu/shared-ui'
const menuOptions: MenuOption[] = routesToMenus(routes) const menuOptions: MenuOption[] = routesToMenus(routes)
</script> </script>
<template> <template>
<MenusLayout> <MenusLayout>
<n-menu :options="menuOptions" /> <Menu :options="menuOptions" />
</MenusLayout> </MenusLayout>
</template> </template>

View File

@ -1,11 +1,12 @@
<script setup lang="ts"> <script setup lang="ts">
import { MenusLayout } from '@cskefu/shared-ui' import { MenusLayout } from '@cskefu/shared-ui'
import { MenuOption, NMenu } from 'naive-ui' import { MenuOption } from 'naive-ui'
import { Menu } from '@cskefu/shared-ui'
const menuOptions: MenuOption[] = [] const menuOptions: MenuOption[] = []
</script> </script>
<template> <template>
<MenusLayout> <MenusLayout>
<n-menu :options="menuOptions" /> <Menu :options="menuOptions" />
</MenusLayout> </MenusLayout>
</template> </template>

View File

@ -1,6 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { MenusLayout } from '@cskefu/shared-ui' import { MenusLayout } from '@cskefu/shared-ui'
import { MenuOption, NMenu } from 'naive-ui' import { MenuOption } from 'naive-ui'
import { Menu } from '@cskefu/shared-ui'
import routes from '../routes' import routes from '../routes'
@ -10,6 +11,6 @@ const menuOptions: MenuOption[] = routesToMenus(routes)
</script> </script>
<template> <template>
<MenusLayout> <MenusLayout>
<n-menu :options="menuOptions" /> <Menu :options="menuOptions" />
</MenusLayout> </MenusLayout>
</template> </template>

View File

@ -0,0 +1,17 @@
<script setup lang="ts">
import { NMenu } from 'naive-ui'
import { NBadge, MenuOption } from 'naive-ui'
import { h } from 'vue'
function renderMenuLabel(option: MenuOption) {
if (option.comingSoon) {
return h(NBadge, { value: 'coming soon', offset: [50, 10] }, () => [
h('slot', { class: 'text-gray-900' }, option.label as string),
])
}
return option.label as string
}
</script>
<template>
<n-menu :render-label="renderMenuLabel" />
</template>

View File

@ -1,5 +1,7 @@
import IndexLayout from './layouts/IndexLayout.vue' import IndexLayout from './layouts/IndexLayout.vue'
import MenusLayout from './layouts/MenusLayout.vue' import MenusLayout from './layouts/MenusLayout.vue'
import Nav from './components/Nav.vue'
export { IndexLayout, MenusLayout, Nav } import Nav from './components/Nav.vue'
import Menu from './components/Menus.vue'
export { IndexLayout, MenusLayout, Nav, Menu }