Implement group members count on group profile

- Rename 'Hc*' components to '*'.
This commit is contained in:
Wolfgang Huß 2022-09-12 11:56:00 +02:00
parent 621b1a0ba0
commit c6b9cfac67
10 changed files with 47 additions and 34 deletions

View File

@ -373,6 +373,7 @@
"group": { "group": {
"foundation": "Gründung", "foundation": "Gründung",
"goal": "Ziel:", "goal": "Ziel:",
"membersCount": "Mitglieder",
"membersListTitle": "Gruppenmitglieder" "membersListTitle": "Gruppenmitglieder"
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -373,6 +373,7 @@
"group": { "group": {
"foundation": "Foundation", "foundation": "Foundation",
"goal": "Goal:", "goal": "Goal:",
"membersCount": "Members",
"membersListTitle": "Group Members" "membersListTitle": "Group Members"
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -300,6 +300,7 @@
"group": { "group": {
"foundation": null, "foundation": null,
"goal": null, "goal": null,
"membersCount": null,
"membersListTitle": null "membersListTitle": null
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -289,6 +289,7 @@
"group": { "group": {
"foundation": null, "foundation": null,
"goal": null, "goal": null,
"membersCount": null,
"membersListTitle": null "membersListTitle": null
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -297,6 +297,7 @@
"group": { "group": {
"foundation": null, "foundation": null,
"goal": null, "goal": null,
"membersCount": null,
"membersListTitle": null "membersListTitle": null
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -85,6 +85,7 @@
"group": { "group": {
"foundation": null, "foundation": null,
"goal": null, "goal": null,
"membersCount": null,
"membersListTitle": null "membersListTitle": null
}, },
"login": { "login": {

View File

@ -169,6 +169,7 @@
"group": { "group": {
"foundation": null, "foundation": null,
"goal": null, "goal": null,
"membersCount": null,
"membersListTitle": null "membersListTitle": null
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -335,6 +335,7 @@
"group": { "group": {
"foundation": null, "foundation": null,
"goal": null, "goal": null,
"membersCount": null,
"membersListTitle": null "membersListTitle": null
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -314,6 +314,7 @@
"group": { "group": {
"foundation": null, "foundation": null,
"goal": null, "goal": null,
"membersCount": null,
"membersListTitle": null "membersListTitle": null
}, },
"hashtags-filter": { "hashtags-filter": {

View File

@ -47,23 +47,30 @@
</ds-space> </ds-space>
<ds-flex> <ds-flex>
<ds-flex-item> <ds-flex-item>
<!-- <client-only> <client-only>
<ds-number :label="$t('group.membersCount')">
<count-to slot="count" :start-val="0" :end-val="groupMembers.length" />
</ds-number>
</client-only>
</ds-flex-item>
<!-- <ds-flex-item>
<client-only>
<ds-number :label="$t('profile.followers')"> <ds-number :label="$t('profile.followers')">
<hc-count-to <count-to
slot="count" slot="count"
:start-val="followedByCountStartValue" :start-val="followedByCountStartValue"
:end-val="user.followedByCount" :end-val="user.followedByCount"
/> />
</ds-number> </ds-number>
</client-only> --> </client-only>
</ds-flex-item> </ds-flex-item> -->
<ds-flex-item> <!-- <ds-flex-item>
<!-- <client-only> <client-only>
<ds-number :label="$t('profile.following')"> <ds-number :label="$t('profile.following')">
<hc-count-to slot="count" :end-val="user.followingCount" /> <count-to slot="count" :end-val="user.followingCount" />
</ds-number> </ds-number>
</client-only> --> </client-only>
</ds-flex-item> </ds-flex-item> -->
</ds-flex> </ds-flex>
<div v-if="!isGroupMember" class="action-buttons"> <div v-if="!isGroupMember" class="action-buttons">
<!-- <base-button v-if="user.isBlocked" @click="unblockUser(user)"> <!-- <base-button v-if="user.isBlocked" @click="unblockUser(user)">
@ -72,7 +79,7 @@
<base-button v-if="user.isMuted" @click="unmuteUser(user)"> <base-button v-if="user.isMuted" @click="unmuteUser(user)">
{{ $t('settings.muted-users.unmute') }} {{ $t('settings.muted-users.unmute') }}
</base-button> </base-button>
<hc-follow-button <follow-button
v-if="!user.isMuted && !user.isBlocked" v-if="!user.isMuted && !user.isBlocked"
:follow-id="user.id" :follow-id="user.id"
:is-followed="user.followedByCurrentUser" :is-followed="user.followedByCurrentUser"
@ -168,7 +175,7 @@
</template> </template>
<template v-else> <template v-else>
<ds-grid-item column-span="fullWidth"> <ds-grid-item column-span="fullWidth">
<hc-empty margin="xx-large" icon="file" /> <empty margin="xx-large" icon="file" />
</ds-grid-item> </ds-grid-item>
</template> </template>
</masonry-grid> </masonry-grid>
@ -182,26 +189,25 @@
<script> <script>
import uniqBy from 'lodash/uniqBy' import uniqBy from 'lodash/uniqBy'
import postListActions from '~/mixins/postListActions'
import PostTeaser from '~/components/PostTeaser/PostTeaser.vue'
// import HcFollowButton from '~/components/FollowButton.vue'
// import HcCountTo from '~/components/CountTo.vue'
// import HcBadges from '~/components/Badges.vue'
import FollowList from '~/components/features/ProfileList/FollowList'
import HcEmpty from '~/components/Empty/Empty'
// import ContentMenu from '~/components/ContentMenu/ContentMenu'
import AvatarUploader from '~/components/Uploader/AvatarUploader'
import ProfileAvatar from '~/components/_new/generic/ProfileAvatar/ProfileAvatar'
import MasonryGrid from '~/components/MasonryGrid/MasonryGrid.vue'
import MasonryGridItem from '~/components/MasonryGrid/MasonryGridItem.vue'
// import TabNavigation from '~/components/_new/generic/TabNavigation/TabNavigation'
// import { profilePagePosts } from '~/graphql/PostQuery' // import { profilePagePosts } from '~/graphql/PostQuery'
import { updateGroupMutation, groupQuery, groupMembersQuery } from '~/graphql/groups' import { updateGroupMutation, groupQuery, groupMembersQuery } from '~/graphql/groups'
// import { muteUser, unmuteUser } from '~/graphql/settings/MutedUsers' // import { muteUser, unmuteUser } from '~/graphql/settings/MutedUsers'
// import { blockUser, unblockUser } from '~/graphql/settings/BlockedUsers' // import { blockUser, unblockUser } from '~/graphql/settings/BlockedUsers'
// import UpdateQuery from '~/components/utils/UpdateQuery' // import UpdateQuery from '~/components/utils/UpdateQuery'
// import SocialMedia from '~/components/SocialMedia/SocialMedia' import postListActions from '~/mixins/postListActions'
import AvatarUploader from '~/components/Uploader/AvatarUploader'
// import ContentMenu from '~/components/ContentMenu/ContentMenu'
import CountTo from '~/components/CountTo.vue'
import Empty from '~/components/Empty/Empty'
// import FollowButton from '~/components/FollowButton.vue'
// import FollowList from '~/components/features/ProfileList/FollowList'
import MasonryGrid from '~/components/MasonryGrid/MasonryGrid.vue'
import MasonryGridItem from '~/components/MasonryGrid/MasonryGridItem.vue'
import PostTeaser from '~/components/PostTeaser/PostTeaser.vue'
import ProfileAvatar from '~/components/_new/generic/ProfileAvatar/ProfileAvatar'
import ProfileList from '~/components/features/ProfileList/ProfileList' import ProfileList from '~/components/features/ProfileList/ProfileList'
// import SocialMedia from '~/components/SocialMedia/SocialMedia'
// import TabNavigation from '~/components/_new/generic/TabNavigation/TabNavigation'
// const tabToFilterMapping = ({ tab, id }) => { // const tabToFilterMapping = ({ tab, id }) => {
// return { // return {
@ -213,19 +219,18 @@ import ProfileList from '~/components/features/ProfileList/ProfileList'
export default { export default {
components: { components: {
// SocialMedia, AvatarUploader,
// ContentMenu,
CountTo,
Empty,
// FollowButton,
// FollowList,
PostTeaser, PostTeaser,
// HcFollowButton,
// HcCountTo,
// HcBadges,
HcEmpty,
ProfileAvatar, ProfileAvatar,
ProfileList, ProfileList,
// ContentMenu,
AvatarUploader,
MasonryGrid, MasonryGrid,
MasonryGridItem, MasonryGridItem,
FollowList, // SocialMedia,
// TabNavigation, // TabNavigation,
}, },
mixins: [postListActions], mixins: [postListActions],
@ -256,7 +261,6 @@ export default {
return this.Group ? this.Group[0] : {} return this.Group ? this.Group[0] : {}
}, },
groupMembers() { groupMembers() {
console.log('this.GroupMembers: ', this.GroupMembers)
return this.GroupMembers ? this.GroupMembers : [] return this.GroupMembers ? this.GroupMembers : []
}, },
isGroupOwner() { isGroupOwner() {