mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
80 lines
2.4 KiB
Vue
80 lines
2.4 KiB
Vue
<template>
|
|
<div class="info-statistic">
|
|
<BContainer class="bg-white app-box-shadow gradido-border-radius p-4 mt--3">
|
|
<div>{{ $t('communityInfo') }}</div>
|
|
<div class="h3">
|
|
{{ CONFIG.COMMUNITY_DESCRIPTION }}
|
|
</div>
|
|
<div>
|
|
<BLink :href="CONFIG.COMMUNITY_URL">
|
|
{{ CONFIG.COMMUNITY_URL }}
|
|
</BLink>
|
|
</div>
|
|
<hr />
|
|
<div class="h3">{{ $t('community.admins') }}</div>
|
|
<ul>
|
|
<li v-for="item in admins" :key="item.id">{{ item.firstName }} {{ item.lastName }}</li>
|
|
</ul>
|
|
<div class="h3">{{ $t('community.moderators') }}</div>
|
|
<ul>
|
|
<li v-for="item in moderators" :key="item.id">{{ item.firstName }} {{ item.lastName }}</li>
|
|
</ul>
|
|
|
|
<hr />
|
|
|
|
<div class="h3">{{ $t('contact') }}</div>
|
|
<BLink :href="`mailto:${supportMail}`">{{ supportMail }}</BLink>
|
|
</BContainer>
|
|
</div>
|
|
</template>
|
|
<script setup>
|
|
import { ref, computed, onMounted } from 'vue'
|
|
import { useQuery } from '@vue/apollo-composable'
|
|
import CONFIG from '@/config'
|
|
import { listContributionLinks, searchAdminUsers } from '@/graphql/queries'
|
|
import { useAppToast } from '../composables/useToast'
|
|
|
|
const emit = defineEmits(['update-transactions'])
|
|
|
|
const { toastError } = useAppToast()
|
|
|
|
const count = ref(null)
|
|
const countAdminUser = ref(null)
|
|
const itemsContributionLinks = ref([])
|
|
const itemsAdminUser = ref([])
|
|
const supportMail = CONFIG.COMMUNITY_SUPPORT_MAIL
|
|
|
|
const admins = computed(() => itemsAdminUser.value.filter((item) => item.role === 'ADMIN'))
|
|
const moderators = computed(() => itemsAdminUser.value.filter((item) => item.role === 'MODERATOR'))
|
|
|
|
const { onResult: onContributionLinksResult, onError: onContributionLinksError } =
|
|
useQuery(listContributionLinks)
|
|
const { onResult: onAdminUsersResult, onError: onAdminUsersError } = useQuery(searchAdminUsers, {
|
|
pageSize: 25,
|
|
currentPage: 1,
|
|
order: 'ASC',
|
|
})
|
|
|
|
onContributionLinksResult(({ data }) => {
|
|
if (data) {
|
|
count.value = data.listContributionLinks.count
|
|
itemsContributionLinks.value = data.listContributionLinks.links
|
|
}
|
|
})
|
|
|
|
onAdminUsersResult(({ data }) => {
|
|
if (data) {
|
|
countAdminUser.value = data.searchAdminUsers.userCount
|
|
itemsAdminUser.value = data.searchAdminUsers.userList
|
|
}
|
|
})
|
|
|
|
onContributionLinksError(() => {
|
|
toastError('listContributionLinks has no result, use default data')
|
|
})
|
|
|
|
onAdminUsersError(() => {
|
|
toastError('searchAdminUsers has no result, use default data')
|
|
})
|
|
</script>
|