forked from bot/app
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 #00a6ff;
|
|||
|
}
|
|||
|
|
|||
|
.item-name {
|
|||
|
color: #00a6ff;
|
|||
|
font-size: 20px;
|
|||
|
margin-bottom: 10px;
|
|||
|
}
|
|||
|
|
|||
|
.item-description {
|
|||
|
color: #333;
|
|||
|
font-size: 15px;
|
|||
|
white-space: pre-wrap;
|
|||
|
}
|
|||
|
|
|||
|
.icon {
|
|||
|
width: 20px;
|
|||
|
height: 20px;
|
|||
|
color: #00000055;
|
|||
|
}
|
|||
|
|
|||
|
.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>
|