Invite friends QA polish

- Drawer: move the share button inline with the display name (right-aligned)
  and keep the drawer open when opening the share sheet
- Settings: remove the redundant "Find and invite friends" item and rename the
  existing contacts link to "Find and invite friends"
- Invite dialog: add a "Done" button and a full-width header divider using the
  Dialog.Header renderLeft + edge-to-edge content padding pattern
- NUX announcement: wire up the promo illustration as the full-bleed header
  background with the "New Feature" tag overlaid
- Fix "Try it": mount the invite dialog persistently in NuxDialogs so it
  survives the announcement being dismissed, then open it after the handoff
This commit is contained in:
vineyardbovines
2026-06-01 11:18:17 -04:00
parent 42732c8bea
commit 11ff9fa3a7
8 changed files with 118 additions and 99 deletions
+2 -17
View File
@@ -64,7 +64,6 @@ import * as Toast from '#/components/Toast'
import {Text} from '#/components/Typography'
import {useAnalytics} from '#/analytics'
import {IS_INTERNAL, IS_IOS, IS_NATIVE} from '#/env'
import {InviteFriendsDialog} from '#/features/inviteFriends'
import {useActorStatus} from '#/features/liveNow'
import {device, useStorage} from '#/storage'
import {useActivitySubscriptionsNudged} from '#/storage/hooks/activity-subscriptions-nudged'
@@ -77,7 +76,6 @@ export function SettingsScreen({}: Props) {
const {logoutEveryAccount} = useSessionApi()
const {accounts, currentAccount} = useSession()
const switchAccountControl = useDialogControl()
const inviteFriendsControl = useDialogControl()
const signOutPromptControl = Prompt.usePromptControl()
const {data: profile} = useProfileQuery({did: currentAccount?.did})
const {data: otherProfiles} = useProfilesQuery({
@@ -210,27 +208,15 @@ export function SettingsScreen({}: Props) {
<Trans>Content and media</Trans>
</SettingsList.ItemText>
</SettingsList.LinkItem>
{IS_NATIVE && (
<SettingsList.PressableItem
label={l`Find and invite friends`}
accessibilityHint={l`Opens the invite friends sheet to share your profile`}
onPress={() => inviteFriendsControl.open()}>
<SettingsList.ItemIcon icon={ContactsIcon} />
<SettingsList.ItemText>
<Trans>Find and invite friends</Trans>
</SettingsList.ItemText>
<SettingsList.Chevron />
</SettingsList.PressableItem>
)}
{IS_NATIVE &&
findContactsEnabled &&
!ax.features.enabled(ax.features.ImportContactsSettingsDisable) && (
<SettingsList.LinkItem
to="/settings/find-contacts"
label={l`Find friends from contacts`}>
label={l`Find and invite friends`}>
<SettingsList.ItemIcon icon={ContactsIcon} />
<SettingsList.ItemText>
<Trans>Find friends from contacts</Trans>
<Trans>Find and invite friends</Trans>
</SettingsList.ItemText>
</SettingsList.LinkItem>
)}
@@ -316,7 +302,6 @@ export function SettingsScreen({}: Props) {
/>
<SwitchAccountDialog control={switchAccountControl} />
<InviteFriendsDialog control={inviteFriendsControl} />
</Layout.Screen>
)
}