* Add home guided tour (WIP)
* Add web handling of the tour
* Switch to our fork of rn-tourguide
* Bump guided-tour
* Fix alignment on android
* Implement home page tour trigger after account creation
* Add new_user_guided_tour gate
* Add a title line to the tour tooltips
* A11y improvements: proper labels, focus capture, scroll capture
* Silence type error
* Native a11y
* Use FocusScope
* Switch to useWebBodyScrollLock()
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Use discriminated union
* Integrate interstitials
* Add gates and handling for variants
* Only show interstitials for logged in accounts since flags are based on user ID
* Nit
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Add interstitials, component tweaks, placeholders
* Tweak feed card styles
* Port over same fix to ProfileCard
* Add browse more link on desktop
* Rm Gemfile
* Update logContext
* Update logContext
* Add click metric to cards
* Pass through props to ProfileCard.Link
* 2-up grid for profile cards on desktop web
* Add secondary_inverted button color
* Use inverted button color
* Adjust follow button layout
* Update skeleton
* Use round button
* Translate
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Rework WhoCanReply controls in threads to blend more nicely
* Fix layout
* Fix post control hitslops
* Move dialog content to separate component
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Clarify intent
* Increase email reminder period to once per day
* Fallback
* Snooze immediately after account creation, prevent showing right after signup
* Fix e2e test exports
* Remove redundant check
* Better simple date generation
* Replace in DateField
* Use non-string comparison
* Revert change to unrelated code
* Also parse
* Remove side effect
* Create a testable version of ago() and re-enable the disabled test (#4364)
* Enable the test of ago()
* Use test cases
This puts the input and the expected values next to each other.
* Create dateDiff function
This is a copy of ago(), but with the ability to specify the second date instead of using Date.now().
* Let ago() use dateDiff()
* Move constants close to usage
* Test dateDiff instead of ago
This makes it possible to test the dates without being forced to rely on what the current date is.
The commented out tests do not yet pass. This is fixed in later commits.
* Update dateDiff and enable the remaining tests
* Split up tests, use date-fns as helpers
* Remove old test
* Add long format
* Add hook
* Migrate to hooks
* Delete old code
* Or equal to
* Update comment
---------
Co-authored-by: Jan Aagaard <jan@aagaard.net>
* add referrer to statsig custom
dont include referrer if hostname is bsky.app
save
add `document.referrer` to statsig custom
* add a hostname field
* account for ssr
* account for ssr
* Add KnownFollowers component to standard profile header
* Prep for known followers screen
* Add known followers screen
* Tighten space
* Add pressed state
* Edit title
* Vertically center
* Don't show if no known followers
* Bump sdk
* Use actual followers.length to show
* Updates to show logic, space
* Prevent fresh data from applying to cached screens
* Tighten space
* Better label
* Oxford comma
* Fix count logic
* Add bskyweb route
* Useless ternary
* Minor spacing tweak
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* Move feeds screen into common navigator, handle usages
* Add link to Feeds from home screen (#4366)
* Add link to feeds to home screen header
* Center logo
* Replace icons
* Tweak spacing
* Tweak spacing
* Swap icon, sizing
* Buttonize, size
* Make menu same alignment on all screens
* Remove FeedsTab support, enable drawer swipe on MessagesTab
* Add note
* Vertically align header
* Swap in Pin
* Use hashtag icon
* Remove png
* Fix reference
* Ensure alignment with home and other screens
* register the push token after request has been approved on android
* use a `0` string for badge count
* Revert "use a `0` string for badge count"
This reverts commit efac39861817f4237c58211f68ef266d919b4d40.
* temporary fix
* Fix (#4430): Use separate hooks for shell mode animated styles
* Consolidate in one file
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Support for Flickr album and group pool embeds
* Oops, forgot to add flickr to the persisted externalEmbeds schema
* Need a bigint since our id can have more than 52 bits...
* Remove unexpected trailing / from test data to match the expected behavior
* nits
---------
Co-authored-by: Hailey <me@haileyok.com>
* add send via chat button to post dropdown
(cherry picked from commit d8458c0bc344f993266f7bc7e325d47e40619648)
* let usePostQuery take uris with DIDs
(cherry picked from commit 16b577ce749fd07e1d5f8461e8ca71c5b874a936)
* add embed preview in composer
(cherry picked from commit 795ceb98d55b6a3ab5b83187a582f9656d71db69)
* rm log
(cherry picked from commit 374d6b8869459f08d8442a3a47d67149e8d9ddd4)
* remove params properly, or at least as close to
(cherry picked from commit c20e0062c2ca4d9c2b28324eee5e713a1a3ab251)
* show images in preview
(cherry picked from commit 5bb617a3ce00f67bfc79784b2f81ef8dcb5bfc25)
* Register embed immediately
(cherry picked from commit ee120d5438a2c91c8980288665576d6a29b4c7e7)
* Add hover to match embeds
(cherry picked from commit 5297a5b06e499f46a9f6da510124610005db2448)
* Update post dropdown copy
(cherry picked from commit bc7e9f6a4303926a53c5c889f1f1b136faf20491)
* Embed preview style tweaks
(cherry picked from commit 9e3ccb0f25ac2f3ce6af538bb29112a3e96e01b1)
* use hydrated posts from API and just use postembed component
(cherry picked from commit cc0b84db87ca812d76cc69f46170ae84cfdde4ef)
* fix type error
(cherry picked from commit 9c49b940e1248e8a7c3b64190c5cb20750043619)
* undo needless export
(cherry picked from commit 1186701c997c50c0b29a809637cb9bc061b8c0a0)
* fix overflow
(cherry picked from commit 8868d5075062d0199c8ef6946fabde27e46ea378)
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* add follow button to feed item avatar
* remove confirmation
* add confirmation (just system alert)
* Shrink the avi follow indicator a smidge
* gate the follow button
* remove from your own posts
* add to post thread item
* hide the follow button locally to component
* Use native dropdown
* Add follow btn to notifications and search
* UI tweaks
* Hide on PWI
* Add toast for confirmation
* Check gate last
* compiler
* Rm unused
* Use names
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Update PostAlerts rendering to show the avi of the labeler rather than the display name; also add size variations
* Update ProfileHeaderAlerts to match PostAlerts behavior