Add artist review page and components with basic layout and styling

This commit is contained in:
Esa Kataja
2025-05-04 16:34:23 +03:00
parent 92a192e002
commit 1a20721cbb
12 changed files with 281 additions and 4 deletions
+19
View File
@@ -0,0 +1,19 @@
<script setup lang="ts">
const { runningOrder, country, artist, title, flag, artistID } = defineProps(['runningOrder', 'country', 'artist', 'title', 'flag', 'artistID'])
</script>
<template>
<NuxtLink :to="`/review/${artistID}`">
<div class="flex gap-4 border border-slate-200 justify-between overflow-clip items-center rounded-2xl">
<h2 class="w-1/4 text-center">{{ runningOrder }}</h2>
<div class="flex flex-col w-1/2">
<h2>{{ country }}</h2>
<p class="flex gap-2 text-sm">
<span class="font-bold">{{ artist }}</span>
<span class="italic">{{ title }}</span>
</p>
</div>
<img class="w-1/4" src="https://placehold.co/100" alt="{{ flag }}">
</div>
</NuxtLink>
</template>
+12
View File
@@ -0,0 +1,12 @@
<template>
<header class="p-4 shadow-md flex justify-between bg-slate-100">
<h1><NuxtLink to="/">Eurovision 2025</NuxtLink></h1>
<nav>
<ul class="flex gap-4">
<li><NuxtLink to="/profile">Profile</NuxtLink></li>
<li><NuxtLink to="/login">Login</NuxtLink></li>
</ul>
</nav>
</header>
</template>
+29
View File
@@ -0,0 +1,29 @@
<script setup lang="ts">
const { category, id } = defineProps(['category', 'id'])
</script>
<template>
<div class="px-6">
<h2>{{ category }}</h2>
<input :id="`slider-${id}`" type="range" min="1" max="100" value="0" class="w-full"/>
<div class="flex justify-between">
<p>0</p>
<p class="sliderSeparator">|</p>
<p>25</p>
<p class="sliderSeparator">|</p>
<p>50</p>
<p class="sliderSeparator">|</p>
<p>75</p>
<p class="sliderSeparator">|</p>
<p>100</p>
</div>
</div>
</template>
<style>
.sliderSeparator {
font-size: 0.8rem;
align-self: center;
}
</style>