* Use a post and handle-resolution cache to enable quick postthread loading
* Fix positioning of thread when loaded from cache and give more visual cues
* Include parent posts in cache
* Include notifications in cache
* fix comments
* add zeego package
* get basic native dropdown working
* add separator and icon components
* refined native dropdown component
* add android build properties to app.json
* move `PostDropdownBtn` to its own component
* fix selectors issue
* move `PostDropdownBtn` to its own component
* fix hitslop
* fix post dropdown hitslop
* fix android dropdown icons
* move `UserAvatar.tsx` to native dropdown
* use native dropdown in `ProfileHeader.tsx`
* use native dropdown in `PostThreadItem.tsx`
* use native dropdown in `UserBanner.tsx`
* use native dropdown in `CustomFeed.tsx`
* replace `testId` with `testID` (which is what is used everywhere)
* move `Settings.tsx` to use native dropdown
* create jest mocks for zeego
* create jest mock for `zeego/dropdown-menu`
* web styles for native dropdown
* remove example native dropdown
* adjust web styles
* fix propagation
* fix pressable in `Settings.tsx`
* animate dropdown on web
* add keyboard nav and hover styles
* add hitslop to constants
* add comments to NativeDropdown component
* temporarily removed android icons
* add testID to PostDropdownBtn
* add testID back to all NativeDropdown button implementations
* add postDropdownBtn testID
* add testID to dropdown items
* remove testID from dropdown menu item
* refactor home-screen tests for native dropdown
* refactor profile-screen tests for native dropdown
* refactor thread-muting tests for native dropdown
* refactor thread-screen tests for native dropdown
* fix dropdown color for post dropdown button
* remove icons from android dropdown menu
* fix `create-account.test.ts`
* fix `invite-codes.test.ts`
* 💄 Hide Add to List option on own profile
* ✨ Remove Lists tab when last list is removed
* ✨ Add listener to list delete on profile screen
* ✨ Only show save changes in list modal when changes are made
* Update profile link construction to support handle.invalid
* Update list links to support using handles
* Use did for isMe check to ensure invalid handles dont distort the check
* Shift the red (error) colors away from the pink spectrum
* Add ThemedText helper component
* Add sanitizedHandle() helper to render invalid handles well
* Fix regression: only show avatar in PostMeta when needed
* Restore the color of likes
* Remove users with invalid handles from default autosuggests
* add comments to step 1-3
* add onboarding screen
* add analytics for onboarding tracking
* fix useEffect
* change text
* change icon size
* put onboarding into bottom sheet modal instead of react navigation
* wip
* Simplify the type validation
* Fix: only trigger onboarding modal when account creation succeeds
* Add the 'session-ready' event which fires when the new session is stable
* Use the 'session-ready' event to trigger the onboarding modal
* update copy
* update copy
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* add TimeElapsed util component, integrate into PostThreadItem
* integrate into posts
* use consistent naming
* use mobx and single interval for TimeElapsed
* Fix cursor not being a pointer on profile back button
* Change TouchableOpacity to Pressable
* switch back to TouchableWithoutFeedback
---------
Co-authored-by: Ansh Nanda <anshnanda10@gmail.com>
* Fix: use more reliable navigation method
* Fix: show lightbox over the active modal
* Fix: close the profile preview on navigation
* Factor out UserPreviewLink and add preview behavior to notifications
* Fix postmeta overflow on web
* Fix lint
* Update postmeta to put the timestamp on the right side on mobile
* Drop the two-line PostMeta mode
* Add ProfilePreview modal
* Tune PostMeta to give the best behavior possible for a given platform
* Remove old showFollowBtn attributes
* Fix style issue
* Switch the follow button in the profile header to use the inverted color for consistency with the rest of the app
* Fix lint
* Fix darkmode
* Tune the profile preview footer
* Better analytics choice