homebox/frontend/components/global/DateTime.vue

26 lines
480 B
Vue
Raw Normal View History

<template>
{{ value }}
</template>
<script setup lang="ts">
type DateTimeFormat = "relative" | "long" | "short" | "human";
2022-12-31 16:57:30 -09:00
type Props = {
date?: Date | string;
format?: DateTimeFormat;
};
const props = withDefaults(defineProps<Props>(), {
date: undefined,
format: "relative",
});
2022-12-30 22:06:45 -09:00
const value = computed(() => {
2022-12-31 16:57:30 -09:00
if (!props.date || !validDate(props.date)) {
return "";
}
2022-12-30 22:06:45 -09:00
return fmtDate(props.date, props.format);
});
</script>