feat: added colored share card
This commit is contained in:
		
							parent
							
								
									5222bd5d04
								
							
						
					
					
						commit
						ab7483b5c2
					
				
							
								
								
									
										61
									
								
								src/components/ColoredCard.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								src/components/ColoredCard.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,61 @@ | |||||||
|  | <template> | ||||||
|  |   <n-card class="colored-card"> | ||||||
|  |     <n-space justify="space-between" align="center"> | ||||||
|  |       <n-icon class="icon" size="40" :component="icon" /> | ||||||
|  |     </n-space> | ||||||
|  |     <n-h3 class="title"> | ||||||
|  |       <n-ellipsis>{{ title }}</n-ellipsis> | ||||||
|  |     </n-h3> | ||||||
|  | 
 | ||||||
|  |     <div class="description"> | ||||||
|  |       <n-ellipsis :line-clamp="2" :tooltip="false"> | ||||||
|  |         <slot /> | ||||||
|  |       </n-ellipsis> | ||||||
|  |     </div> | ||||||
|  |   </n-card> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script setup lang="ts"> | ||||||
|  | import { toRefs, type Component } from 'vue'; | ||||||
|  | 
 | ||||||
|  | const props = defineProps<{ icon: Component; title: string }>(); | ||||||
|  | const { icon, title } = toRefs(props); | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style lang="less" scoped> | ||||||
|  | .colored-card { | ||||||
|  |   background: rgb(37, 99, 108); | ||||||
|  |   background: linear-gradient(48deg, rgba(37, 99, 108, 1) 0%, rgba(59, 149, 111, 1) 60%, rgba(20, 160, 88, 1) 100%); | ||||||
|  |   color: #fff; | ||||||
|  | 
 | ||||||
|  |   &:hover { | ||||||
|  |     border-color: var(--n-color-target); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .icon { | ||||||
|  |     opacity: 0.7; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .title { | ||||||
|  |     color: #fff; | ||||||
|  | 
 | ||||||
|  |     margin: 5px 0; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   .description { | ||||||
|  |     opacity: 0.8; | ||||||
|  | 
 | ||||||
|  |     margin: 5px 0; | ||||||
|  | 
 | ||||||
|  |     ::v-deep(a) { | ||||||
|  |       color: inherit; | ||||||
|  |       text-decoration: underline; | ||||||
|  |       font-weight: bold; | ||||||
|  | 
 | ||||||
|  |       &:hover { | ||||||
|  |         color: rgb(20, 20, 20); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -1,6 +1,8 @@ | |||||||
| <script setup lang="ts"> | <script setup lang="ts"> | ||||||
| import { toolsWithCategory } from '@/tools'; | import { toolsWithCategory } from '@/tools'; | ||||||
|  | import { Heart } from '@vicons/tabler'; | ||||||
| import { useHead } from '@vueuse/head'; | import { useHead } from '@vueuse/head'; | ||||||
|  | import ColoredCard from '../components/ColoredCard.vue'; | ||||||
| import ToolCard from '../components/ToolCard.vue'; | import ToolCard from '../components/ToolCard.vue'; | ||||||
| 
 | 
 | ||||||
| useHead({ title: 'IT Tools - Handy online tools for developers' }); | useHead({ title: 'IT Tools - Handy online tools for developers' }); | ||||||
| @ -9,6 +11,27 @@ useHead({ title: 'IT Tools - Handy online tools for developers' }); | |||||||
| <template> | <template> | ||||||
|   <div class="home-page"> |   <div class="home-page"> | ||||||
|     <n-grid x-gap="12" y-gap="12" cols="1 400:2 800:3 1200:4 2000:8"> |     <n-grid x-gap="12" y-gap="12" cols="1 400:2 800:3 1200:4 2000:8"> | ||||||
|  |       <n-gi> | ||||||
|  |         <colored-card title="You like it-tools?" :icon="Heart"> | ||||||
|  |           Give us a star on | ||||||
|  |           <a | ||||||
|  |             href="https://github.com/CorentinTh/it-tools" | ||||||
|  |             rel="noopener" | ||||||
|  |             target="_blank" | ||||||
|  |             aria-label="IT-Tools' github repository" | ||||||
|  |             >github</a | ||||||
|  |           > | ||||||
|  |           or follow us on | ||||||
|  |           <a | ||||||
|  |             href="https://twitter.com/ittoolsdottech" | ||||||
|  |             rel="noopener" | ||||||
|  |             target="_blank" | ||||||
|  |             aria-label="IT-Tools' twitter account" | ||||||
|  |             >twitter</a | ||||||
|  |           >! Thank you | ||||||
|  |           <n-icon :component="Heart" /> | ||||||
|  |         </colored-card> | ||||||
|  |       </n-gi> | ||||||
|       <n-gi v-for="tool in toolsWithCategory" :key="tool.name"> |       <n-gi v-for="tool in toolsWithCategory" :key="tool.name"> | ||||||
|         <tool-card :tool="tool" /> |         <tool-card :tool="tool" /> | ||||||
|       </n-gi> |       </n-gi> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user