ec5c4929c1
* Enable home and feeds on the PWI * Add global SigninDialog to drive useRequireAuth() * Tweak desktop styles * Make the logo in leftnav PWI a clickable home link * Add label * Improve dialog on web * Fix query key * Go to home after signout from settings screen * Filter out feeds from the discover listing for logged out users which are known to break without auth * Update profile header follow/subscribe to give signin prompt * Show profile feeds tabs on pwi * Add language selector to account creation footer and pwi left nav desktop --------- Co-authored-by: dan <dan.abramov@gmail.com>
33 lines
890 B
TypeScript
33 lines
890 B
TypeScript
import React from 'react'
|
|
|
|
import * as Dialog from '#/components/Dialog'
|
|
|
|
type Control = Dialog.DialogOuterProps['control']
|
|
|
|
type ControlsContext = {
|
|
mutedWordsDialogControl: Control
|
|
signinDialogControl: Control
|
|
}
|
|
|
|
const ControlsContext = React.createContext({
|
|
mutedWordsDialogControl: {} as Control,
|
|
signinDialogControl: {} as Control,
|
|
})
|
|
|
|
export function useGlobalDialogsControlContext() {
|
|
return React.useContext(ControlsContext)
|
|
}
|
|
|
|
export function Provider({children}: React.PropsWithChildren<{}>) {
|
|
const mutedWordsDialogControl = Dialog.useDialogControl()
|
|
const signinDialogControl = Dialog.useDialogControl()
|
|
const ctx = React.useMemo<ControlsContext>(
|
|
() => ({mutedWordsDialogControl, signinDialogControl}),
|
|
[mutedWordsDialogControl, signinDialogControl],
|
|
)
|
|
|
|
return (
|
|
<ControlsContext.Provider value={ctx}>{children}</ControlsContext.Provider>
|
|
)
|
|
}
|