diff options
author | Eric Bailey <git@esb.lol> | 2023-12-07 18:30:41 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-07 16:30:41 -0800 |
commit | 1975f4936ac96b081712eded3dc9e2e0cdf728e6 (patch) | |
tree | 0ad14535218752698f53355efd187fe4d5972232 | |
parent | 040ce0321545c7b7588b96e26d988fc19ffbbba3 (diff) | |
download | voidsky-1975f4936ac96b081712eded3dc9e2e0cdf728e6.tar.zst |
Fix invites used order, adjust layout (#2139)
-rw-r--r-- | src/state/queries/invites.ts | 9 | ||||
-rw-r--r-- | src/view/com/modals/InviteCodes.tsx | 27 |
2 files changed, 22 insertions, 14 deletions
diff --git a/src/state/queries/invites.ts b/src/state/queries/invites.ts index a765b3098..bfea402e1 100644 --- a/src/state/queries/invites.ts +++ b/src/state/queries/invites.ts @@ -43,7 +43,14 @@ export function useInviteCodesQuery() { } const available = res.data.codes.filter(isInviteAvailable) - const used = res.data.codes.filter(code => !isInviteAvailable(code)) + const used = res.data.codes + .filter(code => !isInviteAvailable(code)) + .sort((a, b) => { + return ( + new Date(b.uses[0].usedAt).getTime() - + new Date(a.uses[0].usedAt).getTime() + ) + }) return { disabled: false, diff --git a/src/view/com/modals/InviteCodes.tsx b/src/view/com/modals/InviteCodes.tsx index 82a826aca..0ebb545cf 100644 --- a/src/view/com/modals/InviteCodes.tsx +++ b/src/view/com/modals/InviteCodes.tsx @@ -142,6 +142,7 @@ function InviteCode({ const pal = usePalette('default') const invitesState = useInvitesState() const {setInviteCopied} = useInvitesAPI() + const uses = invite.uses const onPress = React.useCallback(() => { Clipboard.setString(invite.code) @@ -185,7 +186,7 @@ function InviteCode({ /> )} </TouchableOpacity> - {invite.uses.length > 0 ? ( + {uses.length > 0 ? ( <View style={{ flexDirection: 'column', @@ -193,19 +194,19 @@ function InviteCode({ paddingTop: 6, }}> <Text style={pal.text}> - <Trans>Used by:</Trans> + <Trans>Used by:</Trans>{' '} + {uses.map((use, i) => ( + <Link + key={use.usedBy} + href={makeProfileLink({handle: use.usedBy, did: ''})} + style={{ + flexDirection: 'row', + }}> + <UserInfoText did={use.usedBy} style={pal.link} /> + {i !== uses.length - 1 && <Text style={pal.text}>, </Text>} + </Link> + ))} </Text> - {invite.uses.map(use => ( - <Link - key={use.usedBy} - href={makeProfileLink({handle: use.usedBy, did: ''})} - style={{ - flexDirection: 'row', - }}> - <Text style={pal.text}>• </Text> - <UserInfoText did={use.usedBy} style={pal.link} /> - </Link> - ))} </View> ) : null} </View> |