mirror of
https://github.com/imezx/Warp.git
synced 2025-04-24 23:20:02 +00:00
92 lines
1.6 KiB
Vue
92 lines
1.6 KiB
Vue
<script setup lang="ts">
|
|
import VPIconHeart from './icons/VPIconHeart.vue'
|
|
import VPButton from './VPButton.vue'
|
|
import VPSponsors from './VPSponsors.vue'
|
|
|
|
export interface Sponsors {
|
|
tier: string
|
|
size?: 'medium' | 'big'
|
|
items: Sponsor[]
|
|
}
|
|
|
|
export interface Sponsor {
|
|
name: string
|
|
img: string
|
|
url: string
|
|
}
|
|
interface Props {
|
|
message?: string
|
|
actionText?: string
|
|
actionLink?: string
|
|
data: Sponsors[]
|
|
}
|
|
|
|
withDefaults(defineProps<Props>(), {
|
|
actionText: 'Become a sponsor'
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<section class="VPHomeSponsors">
|
|
<div class="container">
|
|
<div class="header">
|
|
<div class="love"><VPIconHeart class="icon" /></div>
|
|
<h2 v-if="message" class="message">{{ message }}</h2>
|
|
</div>
|
|
|
|
<div class="sponsors">
|
|
<VPSponsors :data="data" />
|
|
</div>
|
|
|
|
<div v-if="actionLink" class="action">
|
|
<VPButton theme="sponsor" :text="actionText" :href="actionLink" />
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.VPHomeSponsors {
|
|
border-top: 1px solid var(--vp-c-gutter);
|
|
padding: 88px 24px 96px;
|
|
background-color: var(--vp-c-bg);
|
|
}
|
|
|
|
.container {
|
|
margin: 0 auto;
|
|
max-width: 1152px;
|
|
}
|
|
|
|
.love {
|
|
margin: 0 auto;
|
|
width: 28px;
|
|
height: 28px;
|
|
color: var(--vp-c-text-3);
|
|
}
|
|
|
|
.icon {
|
|
width: 28px;
|
|
height: 28px;
|
|
fill: currentColor;
|
|
}
|
|
|
|
.message {
|
|
margin: 0 auto;
|
|
padding-top: 10px;
|
|
max-width: 320px;
|
|
text-align: center;
|
|
line-height: 24px;
|
|
font-size: 16px;
|
|
font-weight: 500;
|
|
color: var(--vp-c-text-2);
|
|
}
|
|
|
|
.sponsors {
|
|
padding-top: 32px;
|
|
}
|
|
|
|
.action {
|
|
padding-top: 40px;
|
|
text-align: center;
|
|
}
|
|
</style>
|