Skip to content

feat(contacts): add contact page + form polish [PERA-3930]#377

Merged
yasin-ce merged 5 commits intocontacts/06-editfrom
contacts/07-add
Apr 24, 2026
Merged

feat(contacts): add contact page + form polish [PERA-3930]#377
yasin-ce merged 5 commits intocontacts/06-editfrom
contacts/07-add

Conversation

@yasin-ce
Copy link
Copy Markdown
Collaborator

@yasin-ce yasin-ce commented Apr 24, 2026

Description

  • New `AddContactScreen` wired to the `AddContact` route, using `ContactForm` + `useAddContactForm`.
  • `ContactForm` polish: `multiline` off on the address field, scan-icon spacing wrapper.
  • `ConfirmActionBottomSheet`: no-default-icon behavior — callers opt-in to the icon explicitly.
  • `SearchInput`: cross-platform clear button replaces iOS-only `clearButtonMode` with a `PWTouchableIcon`.
  • `PWInput`: padding / borderRadius / borderBottom snap-to-token cleanup.
  • Dark-mode `linkPrimary` turquoise → yellow to match the rest of the dark-mode accent family.

Related Issues

Checklist

  • Have you tested your changes locally?
  • Have you reviewed the code for any potential issues?
  • Have you documented any necessary changes in the project's documentation?
  • Have you added any necessary tests for your changes?
  • Have you updated any relevant dependencies?

Additional Notes

Top of stack — stacked on #376. `AddContactScreen.spec.tsx` added; `SearchInput.spec.tsx` expanded (1 → 3 tests) for the clear-button behavior. Full mobile suite green at this commit: 2236 passing / 1 skipped.

- New AddContactScreen with photo picker, NFD resolution, and footer
  submit button. Wires the AddContact route to the new screen (was
  pointing at EditContactScreen).
- ContactForm: drop multiline on the address input — aligns cursor +
  scan icon vertically, matches AddressEntryField's single-line
  convention. Add left margin to the scan icon so long addresses
  don't butt up against it.
- PWInput: widen default padding from spacing.xs to spacing.md
  horizontally — text was flush to the edge in every input.
- SearchInput: replace iOS-only clearButtonMode with a cross-platform
  PWTouchableIcon X button; switch leading glass icon to primary
  variant for dark-mode legibility.
- Theme: dark-mode linkPrimary → yellow (matches brand palette, was
  turquoise which didn't match the rest of the dark-mode yellow
  accents like the edit-avatar badge).
- AddParticipantBottomSheet: set explicit cross icon size for
  consistency.
- i18n: contacts.edit_contact.add_contact ("Add contact" submit
  label).
@yasin-ce yasin-ce requested review from fmsouza and wjbeau and removed request for wjbeau April 24, 2026 02:58
@yasin-ce yasin-ce self-assigned this Apr 24, 2026
@yasin-ce yasin-ce marked this pull request as ready for review April 24, 2026 03:05
Comment thread apps/mobile/src/components/ConfirmActionBottomSheet/styles.ts Outdated
Comment thread apps/mobile/src/components/ContactForm/ContactForm.tsx Outdated
Comment thread apps/mobile/src/components/core/PWInput/styles.ts Outdated
Comment thread apps/mobile/src/components/SearchInput/SearchInput.tsx Outdated
Comment thread apps/mobile/src/components/SearchInput/SearchInput.tsx Outdated
Comment thread apps/mobile/src/theme/theme.ts
… clear per review

- Render PhotoPermissionDeniedSheet in AddContactScreen so the
  refactored useImagePicker surfaces the permission-denied bottom
  sheet at the screen root.
- Restore SearchInput to native iOS clearButtonMode='while-editing'
  rather than the cross-platform PWTouchableIcon X; keep the
  magnifying-glass at variant='secondary' for the lighter gray.
- Drop borderBottomWidth: 0 from PWInput/styles.ts — verified 0 is the
  effective default and the override was unnecessary.
@yasin-ce yasin-ce merged commit e85f859 into contacts/06-edit Apr 24, 2026
4 of 6 checks passed
@yasin-ce yasin-ce deleted the contacts/07-add branch April 24, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants