From 81941f1f1fa3c363d4dceb9bbcd26b2965559951 Mon Sep 17 00:00:00 2001 From: Ian Philips Date: Fri, 2 Sep 2022 16:15:57 -0600 Subject: [PATCH] Slight refactoring --- web/components/groups/edit-group-button.tsx | 2 +- web/hooks/use-group.ts | 7 +------ web/lib/firebase/groups.ts | 6 ++++++ web/pages/group/[...slugs]/index.tsx | 8 ++------ 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/web/components/groups/edit-group-button.tsx b/web/components/groups/edit-group-button.tsx index 61597d9a..6349ad3f 100644 --- a/web/components/groups/edit-group-button.tsx +++ b/web/components/groups/edit-group-button.tsx @@ -90,7 +90,7 @@ export function EditGroupButton(props: { group: Group; className?: string }) { diff --git a/web/hooks/use-group.ts b/web/hooks/use-group.ts index 1acc85f1..001c29c3 100644 --- a/web/hooks/use-group.ts +++ b/web/hooks/use-group.ts @@ -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() @@ -99,11 +99,6 @@ export function useMemberIds(groupId: string | null) { return memberIds } -export async function listMembers(group: Group) { - const members = await getValues(groupMembers(group.id)) - return await Promise.all(members.map((m) => m.userId).map(getUser)) -} - export const useGroupsWithContract = (contract: Contract) => { const [groups, setGroups] = useState([]) diff --git a/web/lib/firebase/groups.ts b/web/lib/firebase/groups.ts index 62732c77..6da780e1 100644 --- a/web/lib/firebase/groups.ts +++ b/web/lib/firebase/groups.ts @@ -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('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(groupMembers(group.id)) + return await Promise.all(members.map((m) => m.userId).map(getUser)) +} diff --git a/web/pages/group/[...slugs]/index.tsx b/web/pages/group/[...slugs]/index.tsx index 2390eb5c..4626aa77 100644 --- a/web/pages/group/[...slugs]/index.tsx +++ b/web/pages/group/[...slugs]/index.tsx @@ -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'