import { defineComponent } from 'vue' import { NConfigProvider, NDialogProvider, NMessageProvider, NModalProvider, NNotificationProvider, zhCN, dateZhCN, } from 'naive-ui' import { useI18n } from 'vue-i18n' import { useTheme } from '../theme' import { useNaiveI18nSync } from '../i18n' // 全局配置组件 export default defineComponent({ name: 'NCustomProvider', setup(_, { slots }) { const { locale } = useI18n() // 国际化 const { naiveLocale, naiveDateLocale } = useNaiveI18nSync(locale) // i18n 同步 const { theme, themeOverrides } = useTheme() // 主题 // 国际化配置 return () => ( {slots.default?.()} ) }, }) // 主题配置组件 const themeProvider = defineComponent({ name: 'NThemeProvider', setup(_, { slots }) { const { theme, themeOverrides } = useTheme() // 主题 return () => ( {slots.default?.()} ) }, }) export { themeProvider }