Integrate time until visually

This commit is contained in:
Julien Calixte
2023-03-14 11:18:54 +01:00
parent 8b30637066
commit 3102d6dc5e
4 changed files with 43 additions and 64 deletions

View File

@@ -1,38 +0,0 @@
<script setup lang="ts">
import { ref } from 'vue'
defineProps<{ msg: string }>()
const count = ref(0)
</script>
<template>
<h1>{{ msg }}</h1>
<div class="card">
<button type="button" @click="count++">count is {{ count }}</button>
<p>
Edit
<code>components/HelloWorld.vue</code> to test HMR
</p>
</div>
<p>
Check out
<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
>create-vue</a
>, the official Vue + Vite starter
</p>
<p>
Install
<a href="https://github.com/johnsoncodehk/volar" target="_blank">Volar</a>
in your IDE for a better DX
</p>
<p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
</template>
<style scoped>
.read-the-docs {
color: #888;
}
</style>

View File

@@ -0,0 +1,40 @@
<script setup lang="ts">
import { onUnmounted, ref } from "vue"
import { timeUntil } from "../services/time-until"
const timeUntilTarget = timeUntil("2024-03-13T09:00:00.000Z")
const yearsUntil = ref(timeUntilTarget.years)
const monthsUntil = ref(timeUntilTarget.months)
const daysUntil = ref(timeUntilTarget.days)
const hoursUntil = ref(timeUntilTarget.hours)
const secondsUntil = ref(timeUntilTarget.seconds)
const id = setInterval(() => {
const timeUntilTarget = timeUntil("2024-03-13T09:00:00.000Z")
yearsUntil.value = timeUntilTarget.years
monthsUntil.value = timeUntilTarget.months
daysUntil.value = timeUntilTarget.days
hoursUntil.value = timeUntilTarget.hours
secondsUntil.value = timeUntilTarget.seconds
}, 1000)
onUnmounted(() => clearInterval(id))
</script>
<template>
<section>
<div>{{ yearsUntil }} years</div>
<div>{{ monthsUntil }} months</div>
<div>{{ daysUntil }} days</div>
<div>{{ hoursUntil }} hours</div>
<div>{{ secondsUntil }} seconds</div>
</section>
</template>
<style scoped>
section {
display: flex;
}
</style>