mirror of
				https://github.com/LiteyukiStudio/LiteyukiBot.git
				synced 2025-10-31 11:26:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | ||
|   <div class="item-card">
 | ||
|     <div class="item-name">{{ props.item.name }}</div>
 | ||
|     <div class="item-description">{{ props.item.description }}</div>
 | ||
|     <div class="item-bar">
 | ||
|       <!--      三个可点击svg,一个github,一个下载,一个可点击"https://github.com/{{ username }}.png?size=80"个人头像配上id-->
 | ||
|       <a :href=props.item.link class="">
 | ||
|         <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16">
 | ||
|           <path fill="currentColor"
 | ||
|                 d="m7.775 3.275l1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0a.751.751 0 0 1 .018-1.042a.751.751 0 0 1 1.042-.018a1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018a.751.751 0 0 1-.018-1.042m-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018a.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0a.751.751 0 0 1-.018 1.042a.751.751 0 0 1-1.042.018a1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83"/>
 | ||
|         </svg>
 | ||
|       </a>
 | ||
|       <div><a class="author-info" :href="`https://github.com/${props.item.author }`">
 | ||
|         <img class="icon avatar" :src="`https://github.com/${ props.item.author }.png?size=80`" alt="">
 | ||
|         <div class="author-name">{{ props.item.author }}</div>
 | ||
|       </a>
 | ||
|       </div>
 | ||
|     </div>
 | ||
|   </div>
 | ||
| </template>
 | ||
| 
 | ||
| <script setup lang="ts">
 | ||
| import {defineProps} from 'vue'
 | ||
| 
 | ||
| const props = defineProps({
 | ||
|   item: Object
 | ||
| })
 | ||
| </script>
 | ||
| 
 | ||
| <style scoped>
 | ||
| .item-card {
 | ||
|   position: relative;
 | ||
|   border-radius: 15px;
 | ||
|   background-color: #00000011;
 | ||
|   height: 160px;
 | ||
|   padding: 16px;
 | ||
|   margin: 10px;
 | ||
|   box-sizing: border-box;
 | ||
|   transition: background 0.3s ease;
 | ||
| }
 | ||
| 
 | ||
| .item-card:hover {
 | ||
|   border: 2px solid $themeColor;
 | ||
| }
 | ||
| 
 | ||
| .item-name {
 | ||
|   color: $themeColor;
 | ||
|   font-size: 20px;
 | ||
|   margin-bottom: 10px;
 | ||
| }
 | ||
| 
 | ||
| .item-description {
 | ||
|   color: #333;
 | ||
|   font-size: 15px;
 | ||
|   white-space: pre-wrap;
 | ||
| }
 | ||
| 
 | ||
| .icon {
 | ||
|   width: 20px;
 | ||
|   height: 20px;
 | ||
|   color: $themeColor;
 | ||
| }
 | ||
| 
 | ||
| .author-info {
 | ||
|   display: flex;
 | ||
|   justify-content: left;
 | ||
|   align-items: center;
 | ||
| }
 | ||
| 
 | ||
| .author-name {
 | ||
|   font-size: 15px;
 | ||
|   font-weight: normal;
 | ||
| }
 | ||
| 
 | ||
| .avatar {
 | ||
|   border-radius: 50%;
 | ||
|   margin: 0 10px;
 | ||
| }
 | ||
| 
 | ||
| .item-bar {
 | ||
|   position: absolute;
 | ||
|   bottom: 0;
 | ||
|   height: 50px;
 | ||
|   display: flex;
 | ||
|   align-items: center;
 | ||
|   box-sizing: border-box;
 | ||
|   justify-content: space-between;
 | ||
|   color: #00000055;
 | ||
| }
 | ||
| </style> |