* Delete logic for legacy storage
* Delete superfluous tests
At this point these tests aren't testing anything useful, let's just get rid of them.
* Inline store.ts methods into persisted/index.ts
* Fork persisted/index.ts into index.web.ts
* Remove non-essential code and comments from both forks
* Remove async/await from web fork of persisted/index.ts
* Remove unused return
* Enforce that forked types match
* Prep
* Pass in optional moderation to FeedCard
* Compute moderation decision, filter contentList contexts, pass into card
* Let's go a different route
* Filter from within search queries
* Use same search query for starter packs
* Filter lists from profile tabs
* Cleanup
* Filter from profile feeds
* Moderate post embeds
* Memoize
* Use ScreenHider on lists
* Hide both list types
* Fix crash on iOS in screen hider, fix lineheight
* Memoize renderItem
* Reuse objects to prevent re-renders
* fix web
* show back button on tablet for certain settings screens
* move headers to inside of scrollview
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* use appropriate icons for toasts
* use info for session expiry
* tweak size
* message -> safeMessage
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* replace unused `followers` prop with social proof
* Introduce 'minimal' version
* Gate social proof one explore page, fix space if no desc
* Use smaller avis for minimal
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* header display name rtl support
* highlighted post rtl
* move `NON_BREAKING_SPACE` to an external constant
* rtl support in search dropdown
* profile card rtl
* old profile card rtl
* hover card
* wizard list card
* new chat
* account card
* chat header
* clean up notifications
* just force LTR on meta display name
* 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>
* 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
* Extract ListCard from FeedCard
* Export FeedCard.Action and optionally include in ListCard
* Remove list dual usage from most of FeedCard
* Update usages of FeedCard and ListCard
* Add back list purpose logic
* Make Action comp easier to use, clarify list purpose
* Rename Action to SaveButton
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>
* Add lists support to FeedCard
* Add useSavedFeeds query, similar to usePinnedFeedInfos
* Integrate into Feeds screen
* Fix alignment on mobile
* Update usages
* Add placeholder loading state
* Handle no feeds state
* Reuse previous data for placeholder
* Staged loading
* Improve staged loading
* Use setQueryData approach to pre-caching
* Add types for a little more safety
* Fix precaching
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* add pref for large alt badge
* add to settings
* do the large badge bit
* Tweak wording
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Use safe check, check for next page, handle varied lengths
* Fix border width
* Move safe check
* Add font_heavy and use it on the explore page headers
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* 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>
* Pass event through click handlers
* Add FeedCard, use in Feeds screen
* Tweak space
* Don't contrain rt height
* Tweak space
* Fix type errors, don't pass event to fns that don't expect it
* Show unresolved RT prior to facet resolution
* 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