Integrate time until visually
This commit is contained in:
@@ -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>
|
||||
40
src/components/ResponsiveTimeUntil.vue
Normal file
40
src/components/ResponsiveTimeUntil.vue
Normal 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>
|
||||
Reference in New Issue
Block a user