If todays lottery is archived show dialog.
Use new api/lottery/latest to check if todays lottery has already been archived. If yes we disable button and show dialog explaining how to reset to next weeks lottery.
This commit is contained in:
@@ -67,7 +67,14 @@
|
||||
</div>
|
||||
|
||||
<div v-if="wines.length > 0" class="button-container column">
|
||||
<button class="vin-button" @click="archiveLottery">Send inn og arkiver</button>
|
||||
<p v-if="todaysAlreadySubmitted" class="info-message">
|
||||
Lotteriet er arkivert!<br />Du kan nå slette dagens viner, deltakere & vinnere for å tilbakestille til neste
|
||||
ukes lotteri.
|
||||
</p>
|
||||
|
||||
<button class="vin-button" @click="archiveLottery" :disabled="todaysAlreadySubmitted">
|
||||
{{ todaysAlreadySubmitted == false ? "Send inn og arkiver" : "Dagens lotteri er allerede arkivert" }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -81,6 +88,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
payed: undefined,
|
||||
todaysAlreadySubmitted: false,
|
||||
wines: [],
|
||||
winners: [],
|
||||
attendees: [],
|
||||
@@ -97,6 +105,7 @@ export default {
|
||||
this.fetchLotteryWines();
|
||||
this.fetchLotteryWinners();
|
||||
this.fetchLotteryAttendees();
|
||||
this.checkIfAlreadySubmittedForToday();
|
||||
},
|
||||
watch: {
|
||||
lotteryColors: {
|
||||
@@ -162,6 +171,19 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
checkIfAlreadySubmittedForToday() {
|
||||
return fetch("/api/lottery/latest")
|
||||
.then(resp => resp.json())
|
||||
.then(response => {
|
||||
const getDay = d => new Date(d).getDate();
|
||||
|
||||
if (response.lottery.date && (getDay(response.lottery.date) == getDay(new Date()))) {
|
||||
this.todaysAlreadySubmitted = true;
|
||||
} else {
|
||||
this.todaysAlreadySubmitted = false;
|
||||
}
|
||||
})
|
||||
},
|
||||
updateLotteryColorsWithAttendees(attendees) {
|
||||
this.attendees.map(attendee => {
|
||||
this.lotteryColors.map(color => (color.value += attendee[color.key]));
|
||||
@@ -222,6 +244,7 @@ export default {
|
||||
.then(resp => resp.json())
|
||||
.then(response => {
|
||||
if (response.success) {
|
||||
this.todaysAlreadySubmitted = true;
|
||||
this.$toast.info({
|
||||
title: "Lotteriet er sendt inn og arkivert! Du kan nå slette viner, deltakere & vinnere slettes.",
|
||||
timeout: 10000
|
||||
@@ -278,6 +301,17 @@ select {
|
||||
}
|
||||
}
|
||||
|
||||
.info-message {
|
||||
padding: 0.75rem;
|
||||
text-align: center;
|
||||
background-color: var(--light-blue);
|
||||
color: var(--matte-text-color);
|
||||
border-radius: 4px;
|
||||
|
||||
font-size: 1.1rem;
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
|
||||
.winner-element {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
Reference in New Issue
Block a user