This commit is contained in:
syuilo 2019-04-07 23:31:58 +09:00
parent d9780606b3
commit 6a30d32e7d
No known key found for this signature in database
GPG key ID: BDC4C49D06AB9D69
2 changed files with 6 additions and 6 deletions

View file

@ -4,9 +4,9 @@
<p class="empty" v-else-if="stats.length == 0"><fa icon="exclamation-circle"/>{{ $t('empty') }}</p>
<!-- トランジションを有効にするとなぜかメモリリークする -->
<transition-group v-else tag="div" name="chart">
<div v-for="stat in stats" :key="stat.name">
<div v-for="stat in stats" :key="stat.tag">
<div class="tag">
<router-link :to="`/tags/${ encodeURIComponent(stat.name) }`" :title="stat.name">#{{ stat.name }}</router-link>
<router-link :to="`/tags/${ encodeURIComponent(stat.tag) }`" :title="stat.tag">#{{ stat.tag }}</router-link>
<p>{{ $t('count').replace('{}', stat.usersCount) }}</p>
</div>
<x-chart class="chart" :src="stat.chart"/>

View file

@ -67,7 +67,7 @@ export default define(meta, async () => {
.slice(0, max);
//#region 2(または3)で話題と判定されたタグそれぞれについて過去の投稿数グラフを取得する
const countPromises: Promise<any[]>[] = [];
const countPromises: Promise<number[]>[] = [];
const range = 20;
@ -87,7 +87,7 @@ export default define(meta, async () => {
const countsLog = await Promise.all(countPromises);
const totalCounts: any = await Promise.all(hots.map(tag => Notes.createQueryBuilder('note')
const totalCounts = await Promise.all(hots.map(tag => Notes.createQueryBuilder('note')
.select('count(distinct note.userId)')
.where(':tag = ANY(note.tags)', { tag: tag })
.andWhere('note.createdAt > :gt', { gt: new Date(Date.now() - (interval * range)) })
@ -98,8 +98,8 @@ export default define(meta, async () => {
const stats = hots.map((tag, i) => ({
tag,
chart: countsLog.map(counts => counts[i].length),
usersCount: totalCounts[i].length
chart: countsLog.map(counts => counts[i]),
usersCount: totalCounts[i]
}));
return stats;