mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2026-03-01 12:44:37 +00:00
71 lines
1.8 KiB
Vue
71 lines
1.8 KiB
Vue
<template>
|
|
<div>
|
|
<os-card v-if="Category && Category.length">
|
|
<h2 class="title">{{ $t('admin.categories.name') }}</h2>
|
|
<div class="ds-table-wrap">
|
|
<table class="ds-table ds-table-condensed ds-table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th class="ds-table-head-col" aria-hidden="true"></th>
|
|
<th scope="col" class="ds-table-head-col">
|
|
{{ $t('admin.categories.categoryName') }}
|
|
</th>
|
|
<th scope="col" class="ds-table-head-col ds-table-head-col-right">
|
|
{{ $t('admin.categories.postCount') }}
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="category in Category" :key="category.id">
|
|
<td class="ds-table-col">
|
|
<os-icon :icon="resolveIcon(category.icon)" />
|
|
</td>
|
|
<td class="ds-table-col">{{ category.name }}</td>
|
|
<td class="ds-table-col ds-table-col-right">{{ category.postCount }}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</os-card>
|
|
<os-card v-else>
|
|
<h2 class="title">{{ $t('admin.categories.name') }}</h2>
|
|
<div class="ds-placeholder">{{ $t('admin.categories.empty') }}</div>
|
|
</os-card>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { OsCard, OsIcon } from '@ocelot-social/ui'
|
|
import { resolveIcon } from '~/utils/iconRegistry'
|
|
import gql from 'graphql-tag'
|
|
|
|
export default {
|
|
components: { OsCard, OsIcon },
|
|
data() {
|
|
return {
|
|
Category: [],
|
|
}
|
|
},
|
|
methods: {
|
|
resolveIcon(iconName) {
|
|
return resolveIcon(iconName)
|
|
},
|
|
},
|
|
apollo: {
|
|
Category: {
|
|
query: gql`
|
|
query {
|
|
Category(orderBy: postCount_desc) {
|
|
id
|
|
name
|
|
slug
|
|
icon
|
|
postCount
|
|
}
|
|
}
|
|
`,
|
|
},
|
|
},
|
|
}
|
|
</script>
|