* WIP
* Clean up growthbook code, integrate into init and sessions
* Move everything out of React
* Add metrics client
* Move to separate file
* Shared metadata cache
* Ensure we update metadata when session ID changes
* Ensure userMetadata is cleared when logging out
* WIP revamp
* Integrate feature gates into analytics context
* Clean up old code
* Fix useMeta util
* Some comments and cleanup
* Add logger to base analytics context
* Refactor current route handling
* Rip out LogEvent from navigation
* Update tracking endpoint
* Migrate toClout
* Clear out statsig client
* Add todo, reset logger readme
* Ope fix statsig noop
* Refactor logging in feed-feedback, add debug logging to metrics client
* Remove LogEvents alias for Metrics
* Prefer root package export
* Remove Metrics alias from logger
* [APP-1782] Migrate to new analytics APIs (#9735)
* Migrate logEvent to useAnalytics
* Migrate logger.metric to useAnalytics
* Migrate tricky spot, fix types
* Migrate remaining tricky spot
* Missed one
* Remove metric() from logger
* Migrate useGate to useAnalytics
* Remove all other StatSig mentions
* Update event payload
* Update logger tests
* Mock expo method
* Fix session ID bug
* Add session ID test
* Add test for metrics client
* Clarify intent
* Clean up core analytics file
* Clean up the call once utils
* Fix TODO
* Fix TODO
* Fix TODO
* Fix TODO
* Fix TODO
* Remove debug code
* Fix navigation context
* OK nav context is not working, todo
* Checkpoint: works but feels hacky
* Fix navigation context issue
* Improve feature API
* Improve metric logging
* Update logger tests
* tweak in-post threadgate button
* tweak composer threadgate button
* reduce date length slightly
* pressed styles
* make date length depend on breakpoint
* add chevron to label btn
* add tiny chevron, special-case button icon width
* [Threadgate] Add hint (#9350)
* get tooltip working on web
* add compatibility layer for working in iOS sheets
* add timeout to profile tooltip now that it appears instantly
* rm debug code
* Update ThreadgateBtn.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* remeasure when keyboard changes
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* fix types
* [Threadgate] Refresh dialog (#9342)
* wip new ui
* update threadgate dialog with new designs
* restore nobody option
* relayout android sheet when ratio changes
* fix ratio changing case in bottom sheet
* timebox reached, use setTimeout
* update panel styles
* missing imports
* extract out Panel
* tweak layout animation
* fix icon color
* use same color mechamism for icon as text
* restore the header
* refreshed toggle styles (#9343)
* [Threadgate] Persist settings (#9341)
* add persist toggle to threadgate dialog
* move state back down
* sort out spacing
* wire up query
* @surfdude29 tweaks
* use tiny chevron in WhoCanReply
* wait for prefetch before opening
* move Panel into the Toggle namespace
* default -> pref
* use medium date length
* rm hover state from web selects, fix border radius
* fix key issue in Selects
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
* 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
* move self label button?
* rm
* make sure its usable on large font sizes
* tweak wording
* update icon
* tweaks
* change button label and change opacity when no media (#5794)
* Tweak it moar (#5807)
* Tweak it moar
* Pluralize
* Labels
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* 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>
* fix depreciated import
* add animations to old dropdown
* wrap modals in fullwindowoverlay
* move errors inside header
* add background to bottom bar and stop overlap
* nest dialogs on android
* fix android (wrap in gesturehandlerrootview)
* make borders all the same color
* revert threadgate button back to solid
* Add threadgating
* UI improvements
* More ui work
* Remove comment
* Tweak colors
* Add missing keys
* Tweak sizing
* Only show composer option on non-reply
* Flex wrap fix
* Move the threadgate control to the top of the composer