You've already forked AstralRinth
forked from didirus/AstralRinth
* Begin UI for threads and moderation overhaul * Hide close button on non-report threads * Fix review age coloring * Add project count * Remove action buttons from queue page and add queued date to project page * Hook up to actual data * Remove unused icon * Get up to 1000 projects in queue * prettier * more prettier * Changed all the things * lint * rebuild * Add omorphia * Workaround formatjs bug in ThreadSummary.vue * Fix notifications page on prod * Fix a few notifications and threads bugs * lockfile * Fix duplicate button styles * more fixes and polishing * More fixes * Remove legacy pages * More bugfixes * Add some error catching for reports and notifications * More error handling * fix lint * Add inbox links * Remove loading component and rename member header * Rely on threads always existing * Handle if project update notifs are not grouped * oops * Fix chips on notifications page * Import ModalModeration * finish threads --------- Co-authored-by: triphora <emma@modrinth.com> Co-authored-by: Jai A <jaiagr+gpg@pm.me>
47 lines
1.2 KiB
Vue
47 lines
1.2 KiB
Vue
<template>
|
|
<div>
|
|
<section class="universal-card">
|
|
<h2>Statistics</h2>
|
|
<div class="grid-display">
|
|
<div class="grid-display__item">
|
|
<div class="label">Projects</div>
|
|
<div class="value">
|
|
{{ formatNumber(stats.projects) }}
|
|
</div>
|
|
</div>
|
|
<div class="grid-display__item">
|
|
<div class="label">Versions</div>
|
|
<div class="value">
|
|
{{ formatNumber(stats.versions) }}
|
|
</div>
|
|
</div>
|
|
<div class="grid-display__item">
|
|
<div class="label">Files</div>
|
|
<div class="value">
|
|
{{ formatNumber(stats.files) }}
|
|
</div>
|
|
</div>
|
|
<div class="grid-display__item">
|
|
<div class="label">Authors</div>
|
|
<div class="value">
|
|
{{ formatNumber(stats.authors) }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</template>
|
|
<script setup>
|
|
import { formatNumber } from '~/plugins/shorthands.js'
|
|
|
|
useHead({
|
|
title: 'Staff overview - Modrinth',
|
|
})
|
|
|
|
const app = useNuxtApp()
|
|
|
|
const { data: stats } = await useAsyncData('statistics', () =>
|
|
useBaseFetch('statistics', app.$defaultHeaders())
|
|
)
|
|
</script>
|