Files
artsite/app/components/content/Stats.vue
2024-06-24 00:56:49 +02:00

25 lines
1.0 KiB
Vue

<script lang="ts" setup>
import type { Stats } from '~~/types'
const { data: stats } = await useFetch<Stats>('/api/stats')
</script>
<template>
<ClientOnly>
<p v-if="stats">
I collect some data for {{ useTimeAgo(new Date(stats.coding.data.range.start)).value }}, started the
<strong>{{ useDateFormat(new Date(stats.coding.data.range.start), 'Do MMMM YYYY').value }}</strong>.
I've coded for a total of <strong>{{
usePrecision(stats.coding.data.grand_total.total_seconds_including_other_language / 3600, 0)
}}</strong> hours.
My best editors are
{{ stats.editors.data.slice(0, 2).map(editor => `${editor.name} (${editor.percent}%)`).join(' and ') }}.
<template v-if="stats.os.data[0]">
My best OS is {{ stats.os.data[0].name }} ({{ stats.os.data[0].percent }}%).
</template>
My top languages are
{{ stats.languages.data.slice(0, 2).map(language => `${language.name} (${language.percent}%)`).join(' and ') }}.
</p>
</ClientOnly>
</template>