mirror of
				https://github.com/CorentinTh/it-tools.git
				synced 2025-11-03 18:37:00 -05:00 
			
		
		
		
	feat(style): theme overrides
This commit is contained in:
		
							parent
							
								
									3e92b7f1e0
								
							
						
					
					
						commit
						d542688664
					
				
							
								
								
									
										15
									
								
								src/App.vue
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								src/App.vue
									
									
									
									
									
								
							@ -3,7 +3,8 @@ import { RouterView } from 'vue-router'
 | 
				
			|||||||
import { layouts } from './layouts';
 | 
					import { layouts } from './layouts';
 | 
				
			||||||
import { computed } from 'vue';
 | 
					import { computed } from 'vue';
 | 
				
			||||||
import { useRoute } from 'vue-router'
 | 
					import { useRoute } from 'vue-router'
 | 
				
			||||||
 | 
					import { darkThemeOverrides, lightThemeOverrides } from './themes'
 | 
				
			||||||
 | 
					import { NThemeEditor } from 'naive-ui'; // TODO: remove before mep
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
  darkTheme,
 | 
					  darkTheme,
 | 
				
			||||||
  NConfigProvider,
 | 
					  NConfigProvider,
 | 
				
			||||||
@ -16,15 +17,19 @@ const layout = computed(() => route?.meta?.layout ?? layouts.base)
 | 
				
			|||||||
const styleStore = useStyleStore()
 | 
					const styleStore = useStyleStore()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const theme = computed(() => styleStore.isDarkTheme ? darkTheme : null)
 | 
					const theme = computed(() => styleStore.isDarkTheme ? darkTheme : null)
 | 
				
			||||||
 | 
					const themeOverrides = computed(() => styleStore.isDarkTheme ? darkThemeOverrides : lightThemeOverrides)
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <n-config-provider :theme="theme">
 | 
					  <n-config-provider :theme="theme" :theme-overrides="themeOverrides">
 | 
				
			||||||
    <n-global-style />
 | 
					    <n-global-style />
 | 
				
			||||||
    <n-message-provider placement="bottom">
 | 
					    <n-message-provider placement="bottom">
 | 
				
			||||||
      <component :is="layout">
 | 
					      <n-theme-editor>
 | 
				
			||||||
        <router-view />
 | 
					        <!-- TODO: remove before mep -->
 | 
				
			||||||
      </component>
 | 
					        <component :is="layout">
 | 
				
			||||||
 | 
					          <router-view />
 | 
				
			||||||
 | 
					        </component>
 | 
				
			||||||
 | 
					      </n-theme-editor>
 | 
				
			||||||
    </n-message-provider>
 | 
					    </n-message-provider>
 | 
				
			||||||
  </n-config-provider>
 | 
					  </n-config-provider>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										25
									
								
								src/themes.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/themes.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					import type { GlobalThemeOverrides } from 'naive-ui';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const lightThemeOverrides: GlobalThemeOverrides = {
 | 
				
			||||||
 | 
					  Layout: { color: '#f1f5f9' },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const darkThemeOverrides: GlobalThemeOverrides = {
 | 
				
			||||||
 | 
					  common: {
 | 
				
			||||||
 | 
					    primaryColor: '#1ea54cFF',
 | 
				
			||||||
 | 
					    primaryColorHover: '#36AD6AFF',
 | 
				
			||||||
 | 
					    primaryColorPressed: '#0C7A43FF',
 | 
				
			||||||
 | 
					    primaryColorSuppl: '#36AD6AFF',
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Layout: {
 | 
				
			||||||
 | 
					    color: '#121212',
 | 
				
			||||||
 | 
					    siderColor: '#1e1e1e',
 | 
				
			||||||
 | 
					    siderBorderColor: 'transparent',
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Card: {
 | 
				
			||||||
 | 
					    color: '#1e1e1e',
 | 
				
			||||||
 | 
					    borderColor: 'transparent',
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user