릴리스: v0.1.23 홈 게임 정렬과 관리자 순서 관리 추가

This commit is contained in:
2026-03-26 14:59:50 +09:00
parent b58a641453
commit c1575783f0
9 changed files with 304 additions and 45 deletions

View File

@@ -41,11 +41,12 @@ function thumbUrl(g) {
</script>
<template>
<section class="hero">
<h1 class="hero__title">티어표 메이커</h1>
<p class="hero__desc">
게임을 선택하면 티어표를 만들거나, 다른 사람들이 올린 티어표를 있어요.
</p>
<section class="topBar">
<div class="topBar__copy">
<h1 class="topBar__title">게임 선택</h1>
<p class="topBar__desc">관리자 고정 순서가 있으면 먼저 보여주고, 게임은 최근 생성순으로 정렬됩니다.</p>
</div>
<button class="customTierBtn" @click="goFreeform">{{ auth.user ? '커스텀 티어표 만들기' : '로그인 커스텀 티어표 만들기' }}</button>
</section>
<div v-if="error" class="error">{{ error }}</div>
@@ -57,30 +58,41 @@ function thumbUrl(g) {
</div>
<div class="card__title">{{ g.name }}</div>
</button>
<button class="card card--freeform" @click="goFreeform">
<div class="thumbWrap thumbWrap--freeform">
<div class="thumbFallback">+</div>
</div>
<div class="card__eyebrow">{{ auth.user ? '템플릿 없이 시작' : '로그인 후 작성 가능' }}</div>
<div class="card__title">직접 티어표 만들기</div>
</button>
</section>
</template>
<style scoped>
.hero {
padding: 18px 2px 14px;
.topBar {
display: flex;
gap: 16px;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
margin-top: 4px;
}
.hero__title {
font-size: 34px;
letter-spacing: -0.03em;
margin: 0 0 8px;
.topBar__copy {
display: grid;
gap: 6px;
}
.hero__desc {
.topBar__title {
margin: 0;
opacity: 0.86;
font-size: 30px;
letter-spacing: -0.03em;
}
.topBar__desc {
margin: 0;
opacity: 0.78;
line-height: 1.5;
}
.customTierBtn {
padding: 12px 16px;
border-radius: 14px;
border: 1px solid rgba(96, 165, 250, 0.28);
background: linear-gradient(135deg, rgba(96, 165, 250, 0.2), rgba(16, 185, 129, 0.16));
color: rgba(255, 255, 255, 0.96);
font-weight: 900;
cursor: pointer;
}
.grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
@@ -110,9 +122,6 @@ function thumbUrl(g) {
background: rgba(255, 255, 255, 0.07);
border-color: rgba(255, 255, 255, 0.18);
}
.card--freeform {
background: linear-gradient(135deg, rgba(96, 165, 250, 0.12), rgba(16, 185, 129, 0.12));
}
.thumbWrap {
width: 100%;
aspect-ratio: 16 / 9;
@@ -123,11 +132,6 @@ function thumbUrl(g) {
display: grid;
place-items: center;
}
.thumbWrap--freeform {
background:
radial-gradient(circle at top, rgba(96, 165, 250, 0.18), transparent 50%),
rgba(0, 0, 0, 0.18);
}
.thumb {
width: 100%;
height: 100%;
@@ -142,14 +146,13 @@ function thumbUrl(g) {
font-weight: 800;
letter-spacing: -0.02em;
}
.card__eyebrow {
font-size: 12px;
font-weight: 800;
opacity: 0.7;
letter-spacing: 0.04em;
text-transform: uppercase;
}
@media (max-width: 720px) {
.topBar {
align-items: stretch;
}
.customTierBtn {
width: 100%;
}
.grid {
grid-template-columns: 1fr;
}