2024-05-19 13:20:42 +00:00
|
|
|
<script lang="ts" setup>
|
2024-06-08 11:49:06 +00:00
|
|
|
import { computed } from 'vue';
|
2024-05-19 13:20:42 +00:00
|
|
|
|
2024-06-23 12:03:41 +00:00
|
|
|
import { GlobalProvider } from '@vben/widgets';
|
2024-06-01 15:15:29 +00:00
|
|
|
import { preferences, usePreferences } from '@vben-core/preferences';
|
|
|
|
|
2024-06-21 16:25:13 +00:00
|
|
|
import { App, ConfigProvider, theme } from 'ant-design-vue';
|
2024-05-19 13:20:42 +00:00
|
|
|
import zhCN from 'ant-design-vue/es/locale/zh_CN';
|
|
|
|
import dayjs from 'dayjs';
|
2024-06-08 11:49:06 +00:00
|
|
|
|
|
|
|
import 'dayjs/locale/zh-cn';
|
2024-05-19 13:20:42 +00:00
|
|
|
|
|
|
|
defineOptions({ name: 'App' });
|
|
|
|
|
|
|
|
dayjs.locale(zhCN.locale);
|
|
|
|
|
2024-06-01 15:15:29 +00:00
|
|
|
const { isDark } = usePreferences();
|
2024-05-19 13:20:42 +00:00
|
|
|
|
|
|
|
const tokenTheme = computed(() => {
|
2024-06-21 16:25:13 +00:00
|
|
|
const algorithm = isDark.value
|
2024-05-19 13:20:42 +00:00
|
|
|
? [theme.darkAlgorithm]
|
|
|
|
: [theme.defaultAlgorithm];
|
|
|
|
|
|
|
|
// antd 紧凑模式算法
|
2024-06-01 15:15:29 +00:00
|
|
|
if (preferences.app.compact) {
|
2024-06-21 16:25:13 +00:00
|
|
|
algorithm.push(theme.compactAlgorithm);
|
2024-05-19 13:20:42 +00:00
|
|
|
}
|
2024-06-21 16:25:13 +00:00
|
|
|
|
2024-05-19 13:20:42 +00:00
|
|
|
return {
|
2024-06-21 16:25:13 +00:00
|
|
|
algorithm,
|
2024-06-01 15:15:29 +00:00
|
|
|
token: { colorPrimary: preferences.theme.colorPrimary },
|
2024-05-19 13:20:42 +00:00
|
|
|
};
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<GlobalProvider>
|
|
|
|
<ConfigProvider :locale="zhCN" :theme="tokenTheme">
|
2024-06-21 16:25:13 +00:00
|
|
|
<App>
|
|
|
|
<RouterView />
|
|
|
|
</App>
|
2024-05-19 13:20:42 +00:00
|
|
|
</ConfigProvider>
|
|
|
|
</GlobalProvider>
|
|
|
|
</template>
|
2024-06-23 11:17:31 +00:00
|
|
|
|
|
|
|
<!-- <style>
|
|
|
|
:root {
|
|
|
|
--background: 0 0% 100%;
|
|
|
|
--foreground: 240 10% 3.9%;
|
|
|
|
--card: 0 0% 100%;
|
|
|
|
--card-foreground: 240 10% 3.9%;
|
|
|
|
--popover: 0 0% 100%;
|
|
|
|
--popover-foreground: 240 10% 3.9%;
|
|
|
|
--primary: 240 5.9% 10%;
|
|
|
|
--primary-foreground: 0 0% 98%;
|
|
|
|
--secondary: 240 4.8% 95.9%;
|
|
|
|
--secondary-foreground: 240 5.9% 10%;
|
|
|
|
--muted: 240 4.8% 95.9%;
|
|
|
|
--muted-foreground: 240 3.8% 46.1%;
|
|
|
|
--accent: 240 4.8% 95.9%;
|
|
|
|
--accent-foreground: 240 5.9% 10%;
|
|
|
|
--destructive: 0 84.2% 60.2%;
|
|
|
|
--destructive-foreground: 0 0% 98%;
|
|
|
|
--border: 240 5.9% 90%;
|
|
|
|
--input: 240 5.9% 90%;
|
|
|
|
--ring: 240 5.9% 10%;
|
|
|
|
--radius: 0.25rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
.dark {
|
|
|
|
--background: 240 10% 3.9%;
|
|
|
|
--foreground: 0 0% 98%;
|
|
|
|
--card: 240 10% 3.9%;
|
|
|
|
--card-foreground: 0 0% 98%;
|
|
|
|
--popover: 240 10% 3.9%;
|
|
|
|
--popover-foreground: 0 0% 98%;
|
|
|
|
--primary: 0 0% 98%;
|
|
|
|
--primary-foreground: 240 5.9% 10%;
|
|
|
|
--secondary: 240 3.7% 15.9%;
|
|
|
|
--secondary-foreground: 0 0% 98%;
|
|
|
|
--muted: 240 3.7% 15.9%;
|
|
|
|
--muted-foreground: 240 5% 64.9%;
|
|
|
|
--accent: 240 3.7% 15.9%;
|
|
|
|
--accent-foreground: 0 0% 98%;
|
|
|
|
--destructive: 0 62.8% 30.6%;
|
|
|
|
--destructive-foreground: 0 0% 98%;
|
|
|
|
--border: 240 3.7% 15.9%;
|
|
|
|
--input: 240 3.7% 15.9%;
|
|
|
|
--ring: 240 4.9% 83.9%;
|
|
|
|
}
|
|
|
|
</style> -->
|