* bleed profile banner into safe area
(cherry picked from commit 50b3a4d0c6fd94b583ffe4efa65de35c81ae7f4e)
* pointer events none when hidden
(cherry picked from commit bae2c7b2dd6d7f858a98812196628308c0877755)
* fix web
(cherry picked from commit e3f9597170375f2903b6e567b963f008ec95aed1)
* add status bar shadow
* rm log
* rm mini header
* speed up animation
* pass bool rather than int in light status bar
* Split out NotificationsTab
* Remove unused route parameter
* Refine the split between components
* Hoist some logic out of NotificationFeed
* Remove unused option
* Add all|conversations to query, hardcode "all"
* Add a Conversations tab
* Rename to Mentions
* Bump packages
* Rename fields
* Fix oopsie
* Simplify header
* Track active tab
* Fix types
* Separate logic for tabs
* Better border for first unread
* Highlight unread for all only
* Fix spinner races
* Fix fetchPage races
* Fix bottom bar border being obscured by glimmer
* Remember last tab within the session
* One tab at a time
* Fix TS
* Handle all RQKEY usages
* Nit
* wip exploration
* list format instead of grid
* fix normalising default name
* adjust margins
* Rework the app icon link
* Decrease app icon size
* Adjust some spacing
* Move some things around to fix web errors
* Fix pathname
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* Fix drawer swipe
* Remove existing setDrawerSwipeDisabled management
This is already pretty error-prone. And with tracking whether we're idle it's going to get more complicated. Let's pause and think.
* Move setDrawerSwipeDisabled logic into Pager
* Remove win/2 threshold
It feels super arbitrary and breaks muscle memory. If the gesture is reliable, we shouldn't need it.
* Maybe work around iOS freeze
* Tweak gestures, add comments
* Tune gestures
* Add common gutter styles as hook
* Add computed scrollbar gutter CSS vars
* Add new layout components
* Replace layout components in settings screens
* Remove old back button
* Invert web border logic for easier migration
* Clean up Slot API
* Port over FF handling of scrollbar offset
* Trade boilerplate for ease of use
* Limit to one line
* Allow two lines, fix wrapping
* Fix alignment
* sticky headers
* set max with on header and center
* [Layout] Notifications Header (#6910)
* Replace notifications screen header
* fix cropped indicator
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Replace Hashtag header (#6928)
* [Layout] ChatList header (#6929)
* Replace ChatList header
* update chat settings as well
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* Add web borders to Chat settings
* Remove unused var
* Move ChatList header outside center
* Replace empty chat layout
* fix breakpoints
* [Layout] Scrollbar gutters (#6908)
* Fix sidebar alignment
* Make sure scrollbars don't hide
* Gift left nav more space
* Use stable one-edge, update logic in RightNav
* Ope
* Increase width
* Reset
* Add transform to sidebars
* Remove bg in sidebars
* Handle shifts in layout components
* Replace scroll-removal handling
* Make react-remove-scroll an explicit dep
* Remove unused script
* use correct scroll insets (#6950)
* [Layout] Feeds headers (#6913)
* Replace ViewHeader internals, duplicate old ViewHeader
* Replace Feeds header
* Replace SavedFeeds header
* Visual alignment
* Uglier but clear
* Use old ViewHeader for SavedFeeds
* use Layout.Center instead of Layout.Content
* use left-aligned header for feed edit
* delete unused old view header
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* [Layout] Every other screen (#6953)
* attempt to fix double borders on every other screen
* delete ListHeaderDesktop
* delete `SimpleViewHeader` and fix screens (#6956)
* Make Layout.Center not full height
* Refactor List to use Layout.Center, remove built-in borders
* Fix Home screen
* Refactor PagerWithHeader to use Layout components
* Replace components in ProfileFeed and ProfileList
* Borders on Profile
* Search screen replacements
* use new header for profile subpage header (#6958)
* Search AutocompleteResults
* use new header for starter pack wizard (#6957)
* Fix post thread
* Enable borders by default
* Moderation muted and blocked accounts
* Fix scrollbar offset on Labeler
* Remove ScrollView from Moderation
* Remove ScrollView from Deactivated
* Remove ScrollView from onboarding
* Remove ScrollView from SignupQueued
* Mark deprecations
* fix lint
* Fix double borders on profile load
* Remove unneeded CenteredView from noty Feed
* Remove double Center layout on Notifications screen
* Remove double Center layout on ChatList screen
* Handle scrollbar offset in chat
* Use new atom for other scrollbar offsets
* Remove borders from old views
* Better doc
* Remove temp migration prop
* Fix new atom usage on native
* Clean up Hashtag screen
* Layout docs
* Clarify usage in Pager
* Handle nested offset contexts
* Clean up Layout
* fix feeds page
* asymmetric header on native (#6969)
* Reusable header const
* Fix up home header
* Add back button to convo
* Add hitslop to header buttons
* Comment
* Better handling on native for new atom
* Format
* Fix nested flatlist on mod screens
* Use react-remove-scroll-bar directly
* Fix notification count overflow on web
* Clarify doc
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* revert to prev state instead of false
* add dep array
* use ref counting approach
* patch keyboard controller to allow changing the enabled prop
* remove state from patch
* change patched prop name
* remove Math.max check, log if < 0
* use noop provider
* rm patch, use `useRef`
* Style nits
* Rm on web
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Pass referer on native
* Add ChainLink3
* Add an opt out for sending utm
* Remove noreferrer on links
We do have <meta name="referrer" content="origin-when-cross-origin"> in HTML, should be sufficient.
* Narrow down the condition slightly
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* update eslint config with jsx runtime
* leverage jsx transform to remove unnecessary react imports and update eslint config
* run yarn lint --fix to remove eslint disables related to react/prop-types that is now disabled
* Convert lightbox to get/set
* Work around software-mansion/react-native-reanimated#6613
* Use get/set in more places
* Port MainScrollProvider to get/set
* Port more to get/set
* Port composer to get/set
* Remove unnecessary thread hops in composer
* Port more things to get/set
* Convert more to get/set, remove redundant runOnJS
* Convert remaining cases to get/set
* Inline useImageAspectRatio
* Switch AutoSizedImage to read dimensions from Expo Image cache
* Include thumbnail dimensions in image data
* Use dims from Expo Image cache in lightbox
* Fix wiring so all thumbnails get dimensions
* Fix type
* Oops
* Measure all rects for embeds
* Measure avi rects too
* Animate lightbox in and out
* Account for safe area in the animation
* Tune spring times
* Remove null checks for measurements
* Remove superfluous view
* Block swipe while opening
* Interpolate width/height on native side for Android
* Make it fast by animating only affine transforms
* Fix tall image final state
The initial animation frame is still off on both platforms.
* Try to squeeze perf
* Avoid blank images during animation on iOS
* Fix bad rebase
* Fix a huge memory issue due to expo/expo#24894
* Fix last frame flash
* Fix thum dim calculation for tall images
* move out avatarstack to own file
* improved settings switch
* prefix with @
* fix types
* up chevron
* respect reduced motion setting
* respect reduced motion in other place
* Preserve shape in lightbox
* Rename shapes to semantic meanings
It looks like after all I do want to fork based on those.
* Round avatars on the web
* Oops