feat(admin): 지역별 매칭건수 통계 화면 + 메뉴 정리
- 통계 화면(/statistics): 시군구 지역별 매칭건수 전체 — 요약카드·막대분포·상세표(비율) - 대시보드 지역 카드는 상위 5개만 노출 + '전체 통계' 링크 - 메뉴: '피신고자 관리' → '신고 관리', '통계' 추가 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,12 +77,16 @@
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<q-card flat bordered>
|
||||
<q-card-section class="q-pb-none">
|
||||
<div class="text-subtitle1 text-weight-medium">지역별 매칭 (시군구)</div>
|
||||
<div class="text-caption text-grey-6">체크인 지역 기준</div>
|
||||
<q-card-section class="row items-center q-pb-none">
|
||||
<div>
|
||||
<div class="text-subtitle1 text-weight-medium">지역별 매칭건수 (시군구)</div>
|
||||
<div class="text-caption text-grey-6">체크인 지역 기준 · 상위 5개</div>
|
||||
</div>
|
||||
<q-space />
|
||||
<q-btn flat dense size="sm" color="primary" label="전체 통계" icon-right="chevron_right" :to="{ name: 'statistics' }" />
|
||||
</q-card-section>
|
||||
<q-card-section>
|
||||
<div v-for="r in regions" :key="r.region" class="q-mb-sm">
|
||||
<div v-for="r in topRegions" :key="r.region" class="q-mb-sm">
|
||||
<div class="row items-center q-mb-xs">
|
||||
<div class="text-body2">{{ r.region }}</div>
|
||||
<q-space />
|
||||
@@ -127,6 +131,7 @@ const tierRows = computed(() => {
|
||||
const order = ['FREE', 'AD_FREE', 'PREMIUM']
|
||||
return [...(summary.value?.members.byTier ?? [])].sort((a, b) => order.indexOf(a.key) - order.indexOf(b.key))
|
||||
})
|
||||
const topRegions = computed(() => regions.value.slice(0, 5))
|
||||
const regionMax = computed(() => Math.max(1, ...regions.value.map((r) => r.checkIns)))
|
||||
const visitorMax = computed(() => Math.max(1, ...visitors.value.map((v) => v.count)))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user