Feat/highscore page #30
232
src/components/HighscorePage.vue
Normal file
@@ -0,0 +1,232 @@
|
||||
|
|
||||
<template>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<h1 class="text-center">Vinlottis highscore 🏆🍷</h1>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="flex row">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="highscore">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="flex column">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<h3 class="margin-bottom-0">Finn ditt navn:</h3>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<input v-model="highscoreFilter" placeholder="Filtrer på navn" class="margin-bottom-sm" />
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<ol v-if="highscore.length > 0">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<li v-for="person in highscore" :key="person" @click="selectWinner(person)">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
{{ person.name }} - {{ person.wins.length }}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</li>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</ol>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div v-if="highscore.length != highscoreResponse.length" class="flex justify-center align-center">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<i class="text-center vin-link cursor-pointer" @click="resetFilter" @keyup.space="resetFilter"
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
role="button" aria-pressed="false" tabindex="0">reset filter</i>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="winners-vines" v-if="selectedWinner">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<h1>{{ selectedWinner.name }}</h1>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<h2 class="margin-bottom-sm">Vinnende farger:</h2>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="flex row wrap">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div v-for="win in selectedWinner.wins"
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
class="color-box" :class="win.color"
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
:style="{ transform: 'rotate(' + getRotation() + 'deg)' }">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<h2 class="margin-top-md margin-bottom-0">Flasker vunnet:</h2>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="flex column wrap">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div v-for="win in selectedWinner.wins">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="date-won"><b>{{ humanReadableDate(win.date) }}</b> - {{ daysAgo(win.date) }} dager siden</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<br/>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="left">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="margin-bottom-md"><b>Vunnet med farge:</b></div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="color-box" :class="win.color"
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
:style="{ transform: 'rotate(' + getRotation() + 'deg)' }"></div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div class="left">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<Wine :wine="win.wine"></Wine>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<div v-else class="center">
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<h1>👈 Se dine vinn, tykk på navnet ditt</h1>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</div>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</template>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<script>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
import { highscoreStatistics } from "@/api";
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
import Wine from "@/ui/Wine";
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
export default {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
components: { Wine },
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
data() {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
return {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
highscoreResponse: [],
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
highscore: [],
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
highscoreFilter: '',
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
selectedWinner: null
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
},
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
async mounted() {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
let response = await highscoreStatistics();
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
response.sort((a, b) => {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
return a.wins.length > b.wins.length ? -1 : 1;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
});
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
response = response.filter(
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
person => person.name != null && person.name != ""
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
);
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.highscoreResponse = response
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.highscore = this.highscoreResponse;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
},
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
watch: {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
highscoreFilter(val) {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
if (val.length) {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.highscore = this.highscoreResponse.filter(person => person.name.toLowerCase().includes(val))
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
} else {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.highscore = this.highscoreResponse
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
},
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
methods: {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
resetFilter() {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.highscore = this.highscoreResponse;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.highscoreFilter = '';
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
document.getElementsByTagName('input')[0].focus();
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
},
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
humanReadableDate(date) {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
const options = { year: 'numeric', month: 'long', day: 'numeric' };
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
return new Date(date).toLocaleDateString(undefined, options);
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
},
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
daysAgo(date) {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
const day = 24 * 60 * 60 * 1000;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
return Math.round(Math.abs((new Date() - new Date(date)) / day));
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
},
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
selectWinner(winner) {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
if (this.selectedWinner != null && this.selectedWinner["name"] == winner["name"]) {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.selectedWinner = null;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
} else {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
let newestFirst = winner.wins.sort((a, b) => a.date < b.date);
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
winner.wins = newestFirst;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
this.selectedWinner = { ...winner };
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
},
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
getRotation: function() {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
let num = Math.floor(Math.random() * 12.5);
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
let neg = Math.floor(Math.random() * 2);
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
return neg == 0 ? -num : num;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
};
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</script>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
<style lang="scss" scoped>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
@import "../styles/media-queries.scss";
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
@import "../styles/variables.scss";
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
h1 {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
text-align: center;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.highscore {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
width: max-content;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin: 2rem;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.winners-vines {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin: 2rem;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.left {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
float: left;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.center {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
background-color: $primary;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
padding: 0.5rem 1rem;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
border-radius: 8px;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
font-style: italic;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
@include desktop {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
align-self: flex-start;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin-top: 20vh;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.date-won {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
font-size: 1.3rem;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin-top: 2rem;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.color-box {
|
||||
|
Move this to more general place and remove other local references to this class. Move this to more general place and remove other local references to this class.
remove remove
Tyty, fixed Tyty, fixed
|
||||
width: 100px;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
height: 100px;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin: 10px;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
-webkit-mask-image: url(/../../public/assets/images/lodd.svg);
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
background-repeat: no-repeat;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
mask-image: url(/../../public/assets/images/lodd.svg);
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
mask-repeat: no-repeat;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
@include mobile {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
width: 60px;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
height: 60px;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin: 10px;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.green {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
background-color: $light-green;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.blue {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
background-color: $light-blue;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.yellow {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
background-color: $light-yellow;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
.red {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
background-color: $light-red;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
div {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
font-family: Arial;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
ol {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
padding-left: 1.375rem !important;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin-left: 0;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin: 0 0 1.5em;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
padding: 0;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
counter-reset: item;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
& > li {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
cursor: pointer;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
padding: 2.5px 0;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
width: max-content;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
margin: 0 0 0 -1.25rem;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
padding: 0;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
list-style-type: none;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
counter-increment: item;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
&:before {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
display: inline-block;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
width: 1em;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
padding-right: 0.5rem;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
font-weight: bold;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
text-align: right;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
content: counter(item) ".";
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
@include mobile {
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
padding: 5px 0;
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
}
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
</style>
|
||||
|
remove remove
Tyty, fixed Tyty, fixed
|
||||
@@ -11,6 +11,7 @@ import AdminPage from "@/components/AdminPage";
|
||||
import WinnerPage from "@/components/WinnerPage";
|
||||
import LotteryPage from "@/components/LotteryPage";
|
||||
import HistoryPage from "@/components/HistoryPage";
|
||||
import HighscorePage from "@/components/HighscorePage";
|
||||
|
||||
import RequestWine from "@/components/RequestWine";
|
||||
import AllRequestedWines from "@/components/AllRequestedWines";
|
||||
@@ -56,6 +57,10 @@ const routes = [
|
||||
path: "/history",
|
||||
component: HistoryPage
|
||||
},
|
||||
{
|
||||
path: "/highscore",
|
||||
component: HighscorePage
|
||||
},
|
||||
{
|
||||
path: "/request",
|
||||
component: RequestWine
|
||||
|
||||
@@ -157,6 +157,44 @@ textarea {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.cursor {
|
||||
&-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.vin-link {
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #ff5fff;
|
||||
font-size: 1rem;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
|
||||
.margin-top {
|
||||
&-md {
|
||||
margin-top: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
.margin-bottom {
|
||||
&-md {
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
&-sm {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
&-0 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.no-margin {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,23 @@
|
||||
.flex {
|
||||
display: flex;
|
||||
|
||||
&-column {
|
||||
& .column {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
& .row {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
& .wrap {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
&.justify-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
&.align-center {
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
<template>
|
||||
<div class="highscores" v-if="highscore.length > 0">
|
||||
<h3>Topp 10 vinnere</h3>
|
||||
<h3>
|
||||
<router-link to="highscore">
|
||||
Topp 10 vinnere <span class="vin-link">Se alle ></span>
|
||||
</router-link>
|
||||
</h3>
|
||||
<ol>
|
||||
<li v-for="person in highscore" :key="person">
|
||||
{{ person.name }} - {{ person.wins.length }}
|
||||
@@ -39,6 +43,22 @@ div {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: left;
|
||||
|
||||
& a {
|
||||
text-decoration: none;
|
||||
color: #333333;
|
||||
|
||||
&:focus,
|
||||
&:active,
|
||||
&:visited {
|
||||
text-decoration: none;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ol {
|
||||
padding-left: 1.375rem !important;
|
||||
margin-left: 0;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div v-if="wines.length > 0">
|
||||
<h3>
|
||||
<router-link to="viner"
|
||||
>Topp 10 viner <span class="link">Se alle ></span></router-link
|
||||
>Topp 10 viner <span class="vin-link">Se alle ></span></router-link
|
||||
>
|
||||
</h3>
|
||||
<ol>
|
||||
@@ -185,13 +185,6 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
.link {
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #ff5fff;
|
||||
font-size: 1rem;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.close-modal {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
|
||||
remove
remove
Tyty, fixed
Tyty, fixed