123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <script setup lang="ts">
- import { computed } from 'vue'
- import { useAppStore } from '@/store/modules/app'
- import { ConfigGlobal } from '@/components/ConfigGlobal'
- import { isDark } from '@/utils/is'
- import { useDesign } from '@/hooks/web/useDesign'
- const { getPrefixCls } = useDesign()
- const prefixCls = getPrefixCls('app')
- const appStore = useAppStore()
- const currentSize = computed(() => appStore.getCurrentSize)
- const greyMode = computed(() => appStore.getGreyMode)
- const initDark = () => {
- const isDarkTheme = isDark()
- appStore.setIsDark(isDarkTheme)
- }
- initDark()
- </script>
- <template>
- <ConfigGlobal :size="currentSize">
- <RouterView :class="greyMode ? `${prefixCls}-grey-mode` : ''" />
- </ConfigGlobal>
- </template>
- <style lang="less">
- @prefix-cls: ~'@{namespace}-app';
- .size {
- width: 100%;
- height: 100%;
- }
- html,
- body {
- padding: 0 !important;
- margin: 0;
- overflow: hidden;
- .size;
- #app {
- .size;
- }
- }
- .@{prefix-cls}-grey-mode {
- -webkit-filter: grayscale(100%);
- -moz-filter: grayscale(100%);
- -ms-filter: grayscale(100%);
- -o-filter: grayscale(100%);
- filter: grayscale(100%);
- filter: progid:dximagetransform.microsoft.basicimage(grayscale=1);
- }
- </style>
|