refactor(ui): better ui demo preview menu (#664)
This commit is contained in:
		
							parent
							
								
									99b1eb944d
								
							
						
					
					
						commit
						015c673e09
					
				
							
								
								
									
										5
									
								
								components.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								components.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -92,7 +92,6 @@ declare module '@vue/runtime-core' { | ||||
|     IconMdiDownload: typeof import('~icons/mdi/download')['default'] | ||||
|     IconMdiEye: typeof import('~icons/mdi/eye')['default'] | ||||
|     IconMdiEyeOff: typeof import('~icons/mdi/eye-off')['default'] | ||||
|     IconMdiFavoriteFilled: typeof import('~icons/mdi/favorite-filled')['default'] | ||||
|     IconMdiHeart: typeof import('~icons/mdi/heart')['default'] | ||||
|     IconMdiPause: typeof import('~icons/mdi/pause')['default'] | ||||
|     IconMdiPlay: typeof import('~icons/mdi/play')['default'] | ||||
| @ -151,8 +150,6 @@ declare module '@vue/runtime-core' { | ||||
|     NLayout: typeof import('naive-ui')['NLayout'] | ||||
|     NLayoutSider: typeof import('naive-ui')['NLayoutSider'] | ||||
|     NMenu: typeof import('naive-ui')['NMenu'] | ||||
|     NP: typeof import('naive-ui')['NP'] | ||||
|     NPageHeader: typeof import('naive-ui')['NPageHeader'] | ||||
|     NProgress: typeof import('naive-ui')['NProgress'] | ||||
|     NScrollbar: typeof import('naive-ui')['NScrollbar'] | ||||
|     NSlider: typeof import('naive-ui')['NSlider'] | ||||
| @ -160,7 +157,6 @@ declare module '@vue/runtime-core' { | ||||
|     NSwitch: typeof import('naive-ui')['NSwitch'] | ||||
|     NTable: typeof import('naive-ui')['NTable'] | ||||
|     NTag: typeof import('naive-ui')['NTag'] | ||||
|     NTooltip: typeof import('naive-ui')['NTooltip'] | ||||
|     NUpload: typeof import('naive-ui')['NUpload'] | ||||
|     NUploadDragger: typeof import('naive-ui')['NUploadDragger'] | ||||
|     OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default'] | ||||
| @ -192,7 +188,6 @@ declare module '@vue/runtime-core' { | ||||
|     'Tool.layout': typeof import('./src/layouts/tool.layout.vue')['default'] | ||||
|     ToolCard: typeof import('./src/components/ToolCard.vue')['default'] | ||||
|     UlidGenerator: typeof import('./src/tools/ulid-generator/ulid-generator.vue')['default'] | ||||
|     Unnamed: typeof import('./src/ui/unnamed/unnamed.vue')['default'] | ||||
|     UrlEncoder: typeof import('./src/tools/url-encoder/url-encoder.vue')['default'] | ||||
|     UrlParser: typeof import('./src/tools/url-parser/url-parser.vue')['default'] | ||||
|     UserAgentParser: typeof import('./src/tools/user-agent-parser/user-agent-parser.vue')['default'] | ||||
|  | ||||
| @ -4,10 +4,8 @@ import { demoRoutes } from './demo.routes'; | ||||
| 
 | ||||
| <template> | ||||
|   <div grid grid-cols-5 gap-2> | ||||
|     <c-card v-for="{ name } of demoRoutes" :key="name" :title="String(name)"> | ||||
|       <c-button :to="{ name }"> | ||||
|     <c-button v-for="{ name } of demoRoutes" :key="name" :to="{ name }"> | ||||
|       {{ name }} | ||||
|     </c-button> | ||||
|     </c-card> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| @ -12,7 +12,7 @@ const componentName = computed(() => _.startCase(String(route.name).replace(/^c- | ||||
|     <h1>c-lib components</h1> | ||||
| 
 | ||||
|     <div flex> | ||||
|       <div w-30 b-r b-gray b-op-10 b-r-solid pr-4> | ||||
|       <div w-200px b-r b-gray b-op-10 b-r-solid pr-4> | ||||
|         <c-button | ||||
|           v-for="{ name } of demoRoutes" | ||||
|           :key="name" | ||||
| @ -20,6 +20,7 @@ const componentName = computed(() => _.startCase(String(route.name).replace(/^c- | ||||
|           :to="{ name }" | ||||
|           w-full | ||||
|           important:justify-start | ||||
|           important:text-left | ||||
|           :type="route.name === name ? 'primary' : 'default'" | ||||
|         > | ||||
|           {{ name }} | ||||
|  | ||||
| @ -1,16 +1,16 @@ | ||||
| import type { RouteRecordRaw } from 'vue-router'; | ||||
| import DemoHome from './demo-home.page.vue'; | ||||
| 
 | ||||
| const demoPages = import.meta.glob('../*/*.demo.vue'); | ||||
| const demoPages = import.meta.glob('../*/*.demo.vue', { eager: true }); | ||||
| 
 | ||||
| export const demoRoutes = Object.keys(demoPages).map((path) => { | ||||
|   const [, , fileName] = path.split('/'); | ||||
|   const name = fileName.split('.').shift(); | ||||
| export const demoRoutes = Object.keys(demoPages).map((demoComponentPath) => { | ||||
|   const [, , fileName] = demoComponentPath.split('/'); | ||||
|   const demoComponentName = fileName.split('.').shift(); | ||||
| 
 | ||||
|   return { | ||||
|     path: name, | ||||
|     name, | ||||
|     component: () => import(/* @vite-ignore */ path), | ||||
|     path: demoComponentName, | ||||
|     name: demoComponentName, | ||||
|     component: () => import(/* @vite-ignore */ demoComponentPath), | ||||
|   } as RouteRecordRaw; | ||||
| }); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user