Slight refactoring

This commit is contained in:
Ian Philips 2022-09-02 16:15:57 -06:00
parent 4578d5ba75
commit 81941f1f1f
4 changed files with 10 additions and 13 deletions

View File

@ -90,7 +90,7 @@ export function EditGroupButton(props: { group: Group; className?: string }) {
<FilterSelectUsers
setSelectedUsers={setAddMemberUsers}
selectedUsers={addMemberUsers}
ignoreUserIds={[]}
ignoreUserIds={memberIds}
/>
</div>

View File

@ -16,7 +16,7 @@ import { getUser } from 'web/lib/firebase/users'
import { filterDefined } from 'common/util/array'
import { Contract } from 'common/contract'
import { uniq } from 'lodash'
import { getValues, listenForValues } from 'web/lib/firebase/utils'
import { listenForValues } from 'web/lib/firebase/utils'
export const useGroup = (groupId: string | undefined) => {
const [group, setGroup] = useState<Group | null | undefined>()
@ -99,11 +99,6 @@ export function useMemberIds(groupId: string | null) {
return memberIds
}
export async function listMembers(group: Group) {
const members = await getValues<GroupMemberDoc>(groupMembers(group.id))
return await Promise.all(members.map((m) => m.userId).map(getUser))
}
export const useGroupsWithContract = (contract: Contract) => {
const [groups, setGroups] = useState<Group[]>([])

View File

@ -24,6 +24,7 @@ import { Contract } from 'common/contract'
import { updateContract } from 'web/lib/firebase/contracts'
import { db } from 'web/lib/firebase/init'
import { filterDefined } from 'common/lib/util/array'
import { getUser } from 'web/lib/firebase/users'
export const groups = coll<Group>('groups')
export const groupMembers = (groupId: string) =>
@ -235,3 +236,8 @@ export function getGroupLinkToDisplay(contract: Contract) {
: sortedGroupLinks?.[0] ?? null
return groupToDisplay
}
export async function listMembers(group: Group) {
const members = await getValues<GroupMemberDoc>(groupMembers(group.id))
return await Promise.all(members.map((m) => m.userId).map(getUser))
}

View File

@ -14,18 +14,14 @@ import {
getGroupBySlug,
groupPath,
joinGroup,
listMembers,
updateGroup,
} from 'web/lib/firebase/groups'
import { Row } from 'web/components/layout/row'
import { firebaseLogin, getUser, User } from 'web/lib/firebase/users'
import { Col } from 'web/components/layout/col'
import { useUser } from 'web/hooks/use-user'
import {
listMembers,
useGroup,
useGroupContractIds,
useMembers,
} from 'web/hooks/use-group'
import { useGroup, useGroupContractIds, useMembers } from 'web/hooks/use-group'
import { scoreCreators, scoreTraders } from 'common/scoring'
import { Leaderboard } from 'web/components/leaderboard'
import { formatMoney } from 'common/util/format'