* add native ios code outside of ios project
* helper script
* going to be a lot of these commits to squash...backing up
* save
* start of an expo plugin
* create info.plist
* copy the view controller
* maybe working
* working
* wait working now
* working plugin
* use current scheme
* update intent path
* use better params
* support text in uri
* build
* use better encoding
* handle images
* cleanup ios plugin
* android
* move bash script to /scripts
* handle cases where loaded data is uiimage rather than uri
* remove unnecessary logic, allow more than 4 images and just take first 4
* android build plugin
* limit images to four on android
* use js for plugins, no need to build
* revert changes to app config
* use correct scheme on android
* android readme
* move ios extension to /modules
* remove unnecessary event
* revert typo
* plugin readme
* scripts readme
* add configurable scheme to .env, default to `bluesky`
* remove debug
* revert .gitignore change
* add comment about updating .env to app.config.js for those modifying scheme
* modify .env
* update android module to use the proper url
* update ios extension
* remove comment
* parse and validate incoming image uris
* fix types
* rm oops
* fix a few typos
* add dark theme selection to settings/schema
* use `useThemePrefs` where needed
* adjust theme providers to support various themes
* update storybook
* handle web themes
* better themeing for web
* dont show dark theme prefs when color mode is light
* drop the inverted text change on oled theme
* get the color mode inside of `useColorModeTheme`
* use `ThemeName` type everywhere
* typo
* use dim/dark instead of dark/oled
* prevent any fickers on web
* fix styles
* use `dim` for dark default
* more cleanup
* 🤔
* set system background color
* ts
* add expand replyTo text with animation
* add images, quote to replyTo
* support withmedia
* adjust layout
* add embed to all needed openComposer calls
* adjust gap
* organize imports
* rework emoji picker
* dynamic position
* always prefer the left if it will fit
* add accessibility label
* Update EmojiPicker.web.tsx
oops. remove accessibility from fake button
* Enable PWI
* Disable access to feeds on PWI
* Remove feeds nav item from drawer when signed out
* Replace discover feed on home with a CTA
* Wire up the sign in and create account buttons to go straight to their respective screens
* Give a custom ScreenHider interface for no-pwi
* Add side borders on desktop to the screen hider
* Filter accounts in the autocomplete according to mod settings
* Trim replies in the post thread that are pwi opt-out
* Show 'learn more' on the content hider when no-override is enabled
* Apply the moderation filter on profile cards
* Disable post search on logged-out view
* Update locale files
* Bump api pkg
* Ensure feeds with no posts don't show as NSFPublic
* Fix types
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Allow going directly to password input screen when switching accounts and password is required
* Revise state handling
* Handle logged out states, enable clearing requestedAccount
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Vendor createNativeStackNavigator for further tweaks
* Completely disable withAuthRequired
* Render LoggedOut for protected routes
* Move web shell into the navigator
* Simplify the logic
* Add login modal
* Delete withAuthRequired
* Reset app state on session change
* Move TS suppression
* Base work for public view
* Make default moderation settings more restrictive
* Fix type
* Handle showing sign-in on authed actions
* Fix hoc logic
* Simplify prefs logic
* Remove duplicate method
* Add todo
* Clean up RepostButton.web
* Fix x button color
* Add todo
* Retain existing label prefs for now, use separate logged out settings
* Clean up useAuthedMethod, rename to useRequireAuth
* Add todos
* Move dismiss logic to withAuthRequired
* Ooops add web
* Block public view in prod
* Add todo
* Fix bad import
* Update login page to use service query
* Update modal to use session instead of store
* Move image sizes cache off store
* Update settings to no longer use store
* Update link-meta fetch to use agent instead of rootstore
* Remove deprecated resolveName()
* Delete deprecated link-metas cache
* Delete deprecated posts cache
* Delete all remaining mobx models, including the root store
* Strip out unused mobx observer wrappers
* Move tick-every-minute into a hook/context
* Move soft-reset event out of the shell model
* Update soft-reset listener on new search page
* Implement session-loaded and session-dropped events
* Update analytics and push-notifications to use new session system
* Disable existing code that toggles shell
* Make shell mode a float
* Translate based on the gesture
* Track header and footer heights
* Add web support
* Fix types and cleanup
* Add back isScrolled logic
* Add comments
* Add persistent state provider
* Catch write error
* Handle read errors, update error msgs
* Fix lint
* Don't provide initial state to loader
* Remove colorMode from shell state
* Idea: hook into persisted context from other files
* Migrate settings to new hook
* Rework persisted state to split individual contexts
* Tweak persisted schema and validation
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>
* WIP
* Add shell state
* Integrate new shell state for drawer and minimal shell mode
* Replace isDrawerSwipeDisabled
* Split shell state into separate contexts to avoid needless re-renders
* Fix typo
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com>