* 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>
* 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
* add profiles to search history
* increasing horizontal padding slightly
* tightening up styling
* fixing navigation issue
* making corrections
* Make the search history profiles a little smaller
* bug stomping
* Fix issues
* Persist taps
* Rm unnecessary
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Extract SearchHistory to a component
* Extract AutocompleteResults to a component
* Extract SearchInputBox to a component
* Add a bunch of memoization
* Optimize switching by rendering both
* Remove subdomain matching
This is only ever useful if you type it exactly correct. Search now does a better job anyway.
* Give recent search decent hitslops
* improve hit area of search text input
use text cursor on web
use a pressable instead
use a vertical padding of 9
oops
move vertical padding to `TextInput` to increase hit area
* Hide it from a11y tree, change cursor
* Hide clear on empty text
* Render either Clear or Cancel
* Remove Clear button
* Animate it
* Better animation
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* dont select the text on web
* TODO REVERT THESE CHANGES
* use `usethrottledvalue` for autocomplete
* use `isFetching` from query
* rm setTimeout
* getting there
* improve functionality of cancel button
* rm todo
* add comment back
* encode `searchText` rather than `queryTerm`
* use "back" on web in some cases
* don't flash results in autocomplete
* remove unnecesary usestate
* rename everything to `query` temporarily
* revert accidental lint
* rm todo
* rm comment
* use `useFocusEffect` to update the query term on back navigation
* `searchText` is always defined here
* Fix race
* remove back functionality
* use `keepPreviousData` for query
* rename `q` to `queryParam`
* remove hack
* remove `q=` on cancel
* blur on submit
* use `setParams` instead of `replace`
* use `replace` on web still
* clear the search input when we clear `q` on native
* onPress dismiss attempt
* Adjustments
* Fix search history
* Always hide autocomplete
* Clear right pane search on select
* `blur` on autosuggestion press
* Rename to reduce diff
* Fixes
* Unify codepaths
* Fixes
* precache the autosuggestion
* do the cache in the link card
* Revert "precache the autosuggestion"
This reverts commit 79c433e984621ba4231a2a4c4b3f4690b0516b4d.
* use `throttledValue` and `keepPreviousData` in sidebar search
* show spinner when fetching pt 1
* show spinner when fetching pt 2
* show spinner properly for autocomplete
* Fix extra border
* Position fixed
* TS
* Revert "TS"
This reverts commit df187ea2d7a96d0f1832bc2392215f4d969a87c9.
* Revert "Position fixed"
This reverts commit 9c721c952b0fa4e5e4a23de38cab916ab13397e6.
* Maybe fix iPad
* Revert "TODO REVERT THESE CHANGES"
This reverts commit 279f717f3091c9df8c73ba35f9a038e12f5a1122.
* Rename var
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* add extra tab to search and translate tab names
* add feature gate
* flatten pager children
* Revert "flatten pager children"
This reverts commit 0050d42558c2c9b7bc4f2ad2df4ae2908fa26f65.
* have pager children as array
* move gate to custom hook
* bundle titles and pages together
* remove comment
* Fix a crash
* Use Views as children
---------
Co-authored-by: dan <dan.abramov@gmail.com>
* Add bare minimum hashtags support (#2804)
* Add bare minimum hashtags support
As atproto/api already parses hashtags, this is as simple as hooking it
up like link segments.
This is "bare minimum" because:
- Opening hashtag "#foo" is actually just a search for "foo" right now
to work around #2491.
- There is no integration in the composer. This hasn't stopped people
from using hashtags already, and can be added later.
- This change itself only had to hook things up - thank you for having
already put the hashtag parsing in place.
* Remove workaround for hash search not working now that it's fixed
* Add RichTextTag and TagMenu
* Sketch
* Remove hackfix
* Some cleanup
* Sketch web
* Mobile design
* Mobile handling of tags search
* Web only
* Fix navigation woes
* Use new callback
* Hook it up
* Integrate muted tags
* Fix dropdown styles
* Type error
* Use close callback
* Fix styles
* Cleanup, install latest sdk
* Quick muted words screen
* Targets
* Dir structure
* Icons, list view
* Move to dialog
* Add removal confirmation
* Swap copy
* Improve checkboxees
* Update matching, add tests
* Moderate embeds
* Create global dialogs concept again to prevent flashing
* Add access from moderation screen
* Highlight tags on native
* Add web highlighting
* Add close to web modal
* Adjust close color
* Rename toggles and adjust logic
* Icon update
* Load states
* Improve regex
* Improve regex
* Improve regex
* Revert link test
* Hyphenated words
* Improve matching
* Enhance
* Some tweaks
* Muted words modal changes
* Handle invalid handles, handle long tags
* Remove main regex
* Better test
* Space/punct check drop to includes
* Lowercase post text before comparison
* Add better real world test case
---------
Co-authored-by: Kisaragi Hiu <mail@kisaragi-hiu.com>
* Rip out virtualization on the web
* Screw around with layout
* onEndReached
* scrollToOffset
* Fix background
* onScroll
* Shell bars
* More scroll
* Fixes
* position: sticky
* Clean up 1
* Clean up 2
* Undo PagerWithHeader changes and fork it
* Trim down both versions
* Cleanup 3
* Memoize, lint
* Don't scroll away modal or lightbox
* Add content-visibility for rows
* Fix composer
* Fix types
* Fix borked scroll animation
* Fixes to layout
* More FlatList parity
* Layout fixes
* Fix more layout
* More layout
* More layouts
* Fix profile layout
* Remove onScroll
* Display: none inactive pages
* Add an intermediate List component
* Fix type
* Add onScrolledDownChange
* Port pager to use onScrolledDownChange
* Fix on mobile
* Don't pass down onScroll (replacement TBD)
* Remove resetMainScroll
* Replace onMainScroll with MainScrollProvider
* Hook ScrollProvider to pager
* Fix the remaining special case
* Optimize a bit
* Enforce that onScroll cannot be passed
* Keep value updated even if no handler
* Also memo it
* Move the fork to List.web
* Add scroll handler
* Consolidate List props a bit
* More stuff
* Rm unused
* Simplify
* Make isScrolledDown work
* Oops
* Fixes
* Hook up context scroll handlers
* Scroll restore for tabs
* Route scroll restoration POC
* Fix some issues with restoration
* Remove bad idea
* Fix pager scroll restoration
* Undo accidental locale changes
* onContentSizeChange
* Scroll to post
* Better positioning
* Layout fixes
* Factor out navigation stuff
* Cleanup
* Oops
* Cleanup
* Fixes and types
* Naming etc
* Fix crash
* Match FL semantics
* Snap the header scroll on the web
* Add body scroll lock
* Scroll to top on search
* Fix types
* Typos
* Fix Safari overflow
* Fix search positioning
* Add border
* Patch react navigation
* Revert "Patch react navigation"
This reverts commit 62516ed9c20410d166e1582b43b656c819495ddc.
* fixes
* scroll
* scrollbar
* cleanup unrelated
* undo unrel
* flatter
* Fix css
* twk
* Disable autocomplete, autocapitalize, and autocorrect in create account login
* Add username textContentType to login to try to prompt password manager more regularly
* Fix type
* handle taps while keyboard is displayed
* dismiss keyboard on drag when searching feeds
* dismiss on drag and persist taps on suggested follows
* add hitslop to clear button
* add hitslop to cancel button
* dismiss keyboard on drag when searching users
* hit slop for feed search clear button
* move import