- Changed component names from kebab-case to PascalCase in various files for consistency. - Updated `<router-view>` and `<transition>` to `<RouterView>` and `<Transition>` respectively in App.vue and base-layout.vue. - Refactored AppNaiveUIProvider.vue to use PascalCase for Naive UI providers. - Adjusted language and theme switch buttons to use PascalCase for icon components. - Updated button components in demo pages to use PascalCase for Naive UI buttons. - Modified ESLint rules in route message files to use perfectionist/sort-objects for better key sorting. - Enhanced Vite plugin files to export loadPlugin functions for better plugin management. - Improved plugin loading logic to handle errors and warnings more effectively.
24 lines
800 B
Vue
24 lines
800 B
Vue
<script setup lang="ts">
|
|
const buttonRef = useTemplateRef('buttonRef');
|
|
const appStore = useAppStore();
|
|
|
|
function toggleCollapsed() {
|
|
// https://github.com/tusen-ai/naive-ui/issues/3688
|
|
// hover style 鼠标移出就会消失 如果是点击 button 会聚焦需要失去焦点才会恢复
|
|
buttonRef.value?.$el.blur();
|
|
appStore.toggleSidebar();
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<NTooltip :disabled="appStore.isMobile" placement="bottom-start">
|
|
{{ appStore.sidebarCollapsed ? '展开菜单' : '收起菜单' }}
|
|
<template #trigger>
|
|
<NButton ref="buttonRef" quaternary @click="toggleCollapsed">
|
|
<IconLineMdMenuFoldRight v-if="appStore.sidebarCollapsed" w-4.5 h-4.5 />
|
|
<IconLineMdMenuFoldLeft v-else w-4.5 h-4.5 />
|
|
</NButton>
|
|
</template>
|
|
</NTooltip>
|
|
</template>
|