koptilnya.xyz/app.vue

170 lines
3.3 KiB
Vue
Raw Normal View History

2024-02-29 17:47:16 +03:00
<template>
2024-03-01 12:31:16 +03:00
<header>
2024-03-01 12:49:47 +03:00
<img class="logo" src="/logo-no-bg.png" alt="KPTL">
2024-03-01 12:31:16 +03:00
</header>
<div class="grid">
<div class="card">
<p class="card__title">
2024-03-01 14:04:37 +03:00
TeamSpeak 3
2024-03-01 12:31:16 +03:00
</p>
<img src="/ts.png" alt="TeamSpeak" class="card__image">
<a class="button card__action" href="https://invite.teamspeak.com/koptilnya.xyz/">
Подключиться
</a>
</div>
<div class="card">
<p class="card__title">
Dota 2
</p>
<img src="/dota.png" alt="Dota 2" class="card__image">
<a class="button card__action" href="steam://run/570">
Запустить
</a>
</div>
<div class="card">
<p class="card__title">
Gitea
</p>
<img src="/gitea.svg" alt="Gitea" class="card__image">
<a class="button card__action" href="https://git.koptilnya.xyz">
Перейти
</a>
</div>
<div class="card">
<p class="card__title">
Github
</p>
<img src="/github-mark-white.png" alt="Github" class="card__image">
<a class="button card__action" href="https://github.com/koptilnya">
Перейти
</a>
</div>
2024-03-01 12:31:16 +03:00
<div class="card">
<p class="card__title">
Owncast
</p>
<img src="/obs.png" alt="Open Broadcaster Software" class="card__image">
<a class="button card__action" href="https://live.koptilnya.xyz">
Перейти
</a>
</div>
<div class="card">
<p class="card__title">
YouTube
</p>
<img src="/youtube.png" alt="YouTube" class="card__image">
<a class="button card__action" href="https://www.youtube.com/@kptl-team">
Перейти
</a>
</div>
2024-04-18 17:01:17 +03:00
<div class="card">
<p class="card__title">
База знаний
</p>
<img src="/bookStack.png" alt="BookStack" class="card__image">
<a class="button card__action" href="https://baza.koptilnya.xyz/shelves">
Перейти
</a>
</div>
2024-03-01 12:31:16 +03:00
</div>
2024-02-29 17:47:16 +03:00
</template>
<script setup lang="ts">
</script>
2024-03-01 12:31:16 +03:00
<style lang="scss">
@mixin mobile {
@media (max-width: 600px) {
@content;
}
}
header {
text-align: center;
padding-block: 16px;
margin-bottom: 16px;
}
.logo {
width: 64px;
}
.grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
@include mobile {
grid-template-columns: 1fr;
}
}
.card {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
justify-items: flex-start;
border-radius: 16px;
padding: 16px;
gap: 16px;
2024-03-01 13:19:52 +03:00
background-image: linear-gradient(135deg, var(--chocolate-cosmos), var(--black));
2024-03-01 12:31:16 +03:00
&__title {
font-size: 24px;
font-weight: 700;
}
&__image {
width: 80px;
grid-row: span 2;
opacity: 0.7;
}
&__action {
grid-row: 2;
}
}
.button {
display: inline-block;
text-decoration: none;
border: none;
border-radius: 8px;
padding: 8px 12px;
cursor: pointer;
background-image: linear-gradient(135deg, var(--beaver) 0%, var(--beaver) 51%, var(--walnut-brown) 110%);
background-size: 200% auto;
background-color: var(--walnut-brown);
background-repeat: repeat;
color: var(--white-smoke);
font-weight: 500;
transition: .15s ease-out;
transition-property: color, background-position;
&:hover:not(:active) {
background-position: right center;
}
}
</style>