Commit Graph

3323 Commits

Author SHA1 Message Date
dan d03dd8c815 Feed interstitial tweaks (#4733)
* Swap interstitial positions

* Fix color
2024-07-04 20:54:49 +01:00
Hailey ca7386967a Fix onEndReached not firing sometimes on web (#4728)
* handle off screen visibility observer.

* Revert "handle off screen visibility observer."

This reverts commit e499ea0ed6.

* key ftw

* Remove special case

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-07-04 20:12:15 +01:00
dan 12bf796293 Fix feed feedback (#4730) 2024-07-04 20:07:42 +01:00
Eric Bailey 4f02da96c8 [D1X] Pull out follow-backs for higher signal (#4719)
* Pull out follow-backs for higher signal

* Gate it

* Fix early gate check

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-07-04 04:13:47 +01:00
Paul Frazee 0ed99b840d New user progress guides (#4716)
* Add the animated checkmark svg

* Add progress guide list and task components

* Add ProgressGuide Toast component

* Implement progress-guide controller

* Add 7 follows to the progress guide

* Wire up action captures

* Wire up progress-guide persistence

* Trigger progress guide on account creation

* Clear the progress guide from storage on complete

* Add progress guide interstitial, put behind gate

* Fix: read progress guide state from prefs

* Some defensive type checks

* Create separate toast for completion

* List tweaks

* Only show on Discover

* Spacing and progress tweaks

* Completely hide when complete

* Capture the progress guide in local state, and only render toasts while guide is active

* Fix: ensure persisted hydrates into local state

* Gate

---------

Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-07-04 03:05:19 +01:00
Hailey aa7117edb6 Add starter pack embeds to posts (#4699)
* starter pack embeds

* revert test code

* Types

* add `BaseLink`

* precache on click

* rm log

* add a comment

* loading state

* top margin

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-07-04 02:15:08 +01:00
Paul Frazee a3d4fb652b Guided tour for new users (#4690)
* 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>
2024-07-02 21:25:19 -07:00
Samuel Newman dc3c81c4e2 change maxWidth -> width to fix GIFs in DMs (#4717)
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
2024-07-03 03:48:55 +01:00
Eric Bailey 04cfd06639 [D1X] Integrate interstitials (#4698)
* 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>
2024-07-03 03:43:54 +01:00
Eric Bailey 0598fc2faa [D1X] Add interstitials, component tweaks, placeholders (#4697)
* 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
2024-07-03 03:34:18 +01:00
Eric Bailey cacc4c5068 Remove search from disabled PWI state (#4723) 2024-07-03 01:15:04 +01:00
Eric Bailey 14c2d75d49 Unify label pills (#4676)
* New label pills

* Fix type errors, add default case

* Remove negative margin, only works in some places

* Fix alignment edge case

* Add a bit of padding

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-07-03 00:15:20 +01:00
dan a9fe87b842 Add dismiss backdrop to native dropdowns (#4711) 2024-07-01 18:45:15 +01:00
Eric Bailey 1a037d3542 FeedCard & ListCard cleanups (#4644)
* 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
2024-06-28 08:27:54 -05:00
dan 58102377fd Fix pasting images on web (#4670) 2024-06-27 18:36:06 +01:00
Hailey 878b0476dd Better starterpack embed (#4659) 2024-06-26 17:24:33 -07:00
Hailey b23f112689 Remove starterpack gate (#4645) 2024-06-25 17:02:43 -07:00
Hailey d11b552710 ensure we get navigated away to starter pack when signed in (#4640)
* ensure we get navigated away to starter pack when signed in

* clean
2024-06-25 09:36:54 -07:00
Eric Bailey 340c2c5eaf Resolve facets in feed description on feed lander (#4628) 2024-06-24 19:06:04 -05:00
Samuel Newman 29aaf09a8b Composer - replace threadgate modal with alf dialog (#4329)
* replace threadgate modal with alf dialog

* add accessibility to selectable

* add aria

* hide spinner once fetched

* add `hasOpenDialogs` value to context

* remove state

* Rm loading state

* Update the threadgate dialog button theming

* Factor out the threadgate editor and add editing to post views

* Mark messages for localization

* Use colors from mute dialog

* Remove unnecessary effect

* Reset state on dialog dismiss

* Clearer CTA

* Fix bugs

* Scope keyboard fix

* Rm getAreDialogsActive (no longer needed)

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2024-06-24 23:15:11 +01:00
Hailey 873d91d466 use granular permission of for media perm request (#4609) 2024-06-24 11:14:40 -07:00
Paul Frazee f769564edf Remove the 'Who can reply' element except when viewing root, and add "edit" (#4615)
* Remove the 'Who can reply' element except when viewing root, and add the edit text to authors

* Switch to icon
2024-06-24 10:11:43 -07:00
Hailey f75a429f08 add missing prop... (#4601) 2024-06-22 10:24:45 +03:00
Hailey f089f45781 Starter Packs (#4332)
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>
2024-06-21 21:38:04 -07:00
Hailey 35f64535cb Tweak feed card to prevent spinnerz when pushing to screen (#4600) 2024-06-21 19:59:08 -07:00
dan 7db8dd8980 Add debug feedContext label (#4598) 2024-06-22 02:11:39 +03:00
Eric Bailey 4d6787009c Pinned feeds cards (#4526)
* 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>
2024-06-22 00:50:23 +03:00
Eric Bailey cb37647949 Fetch more than 3 suggested follows after first load (#4595)
* Fetch more than 3 sugg follows after first load

* Preview handling via overfetching
2024-06-21 14:50:49 -05:00
Hailey 4d8537bcd4 center pill text in label pill (#4579)
* center pill text

* undo
2024-06-20 15:01:58 -07:00
dan 5d98b4b06c Wait for AppView when posting (#4584) 2024-06-20 14:54:30 -07:00
Eric Bailey eac4668d73 Merge #4492, fixes profile menu hover (#4580)
* Fix button hover color (#4492)

* Update ProfileMenu.tsx

* Update Button.tsx

* Update ProfileFeed.tsx

* Update ProfileFeed.tsx

* Re-add change post conflict

---------

Co-authored-by: Minseo Lee <itoupluk427@gmail.com>
2024-06-20 10:30:48 -07:00
Paul Frazee 80197556f1 Rework "Who can reply" to blend more nicely into the UI (#4578)
* 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>
2024-06-19 18:39:45 -07:00
dan 75aec19230 Fix threadgate read after write (#4577)
* Fix threadgate read-after-write problem

* Fix React key (drive-by)
2024-06-19 18:19:37 -07:00
Hailey 89d99a8701 use 1000x1000 for image height in avatar cropper (#4453) 2024-06-20 02:20:43 +03:00
Samuel Newman 73fc0094dd Update HomeHeaderLayoutMobile.tsx (#4572) 2024-06-20 00:45:08 +03:00
Samuel Newman 0f931933a7 Option for large alt badges (#4571)
* 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>
2024-06-20 00:32:44 +03:00
Samuel Newman 22c5aa4da4 Truncate post metrics and fix truncation on native (#4575)
* truncate post counts

* add numberformat polyfill

* Fix perf

* Simplify type shenanigans

* Bump versions to remove dupes

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-06-20 00:21:02 +03:00
Hailey 8788708bd2 add support for ListEmptyComponent, allow undefined data (#4403)
* add support for `ListEmptyComponent`, allow `undefined` data

* change `header` and `footer` to be in line with `emptyComponent`

* don't render `onEndReached` or `onStartReached` `Visibility` if empty
2024-06-19 03:33:43 +03:00
Samuel Newman 3dc34be929 GIF previews in notifications (#4447)
* gifs in notifications

* remove try/catch

* Limit try/catch scope

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-06-19 03:09:06 +03:00
Paul Frazee 07c2be255f Collection of moderation fixes (#4566)
* Fix: dont blur parents in threads that embed blocks

* After tapping 'Show hidden replies', show the individual hider cards

* Add shape override to UserAvatar and fix the fallback avi for labelers

* Fix precedence

* Detect shape for DefaultAvatar

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-06-19 02:36:46 +03:00
Eric Bailey ac08c76168 Fix undefined block (#4479)
* Fix undefined block (#4378)

* Fix undefined block

* Changing text and handling all blocks.

* Tweaks

* Update copy, make non-interactive

* Remove console

* Clarify logic

* Pass through parent blocked state for 3p blocks

* Better translation

---------

Co-authored-by: Josh <hi@oracularhades.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2024-06-19 02:03:23 +03:00
Samuel Newman 2237e10ad2 fix gap between tab bar and its border (#4538) 2024-06-19 01:53:54 +03:00
Paul Frazee d6ce16d15a Implement thread locking (#4545)
* Add the ability to edit threadgates

* Fix bottom border on mobile

* Refresh thread after threadgate edit
2024-06-18 12:07:56 -07:00
Eric Bailey 983d85384b Force callers of getTimeAgo to pass in the value for "now" (#4560)
* Remove icky hook for now

* Force callers of getTimeAgo to pass in the 'now' value

* Update usage in Newskie dialog
2024-06-18 21:50:07 +03:00
Samuel Newman 5f5d845053 Server-side thread mutes (#4518)
* update atproto/api

* move thread mutes to server side

* rm log

* move muted threads provider to inside did key

* use map instead of object
2024-06-18 21:48:34 +03:00
Eric Bailey 35e54e24a0 Explore fixes (#4540)
* 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>
2024-06-18 13:37:14 -05:00
Hailey 73c9de3ce2 fix keyboard overlaying onboarding inputs (#4558) 2024-06-18 10:57:08 -07:00
Eric Bailey 443beda741 Add useGetTimeAgo and utils (#4556)
* 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>
2024-06-18 10:55:02 -05:00
dan e30575c0dc Use exact imports for icons (#4549)
* Use exact imports for icons

* Add a lint rule
2024-06-18 15:37:08 +03:00
Eric Bailey 077da08309 Explore feed cards (#4521)
* Replace FeedSourceCard on Explore page

(cherry picked from commit e7e9787bfaa9368bfaeaaa4ca144ab77b438219c)

* Replace FeedSourceCard on Search page

(cherry picked from commit ac47aade7622d359eee9509763cda666d964d8a3)
2024-06-17 13:56:11 -05:00