mirror of
https://github.com/hanzo-apps/cms.git
synced 2026-10-30 14:47:33 +00:00
- payload -> @hanzo/cms (core), bin payload -> hanzo-cms - create-payload-app -> @hanzo/create-cms-app - @payloadcms/<x> -> @hanzo/cms-<x> across the whole dependency graph - 3545 files, 72 package.json, 4419 scoped refs, 3852 core import specifiers, 82 scss imports - MIT attribution to Payload CMS Inc. preserved (LICENSE.md, author emails) Upstream: github.com/payloadcms/payload @ v3.85.2 (MIT)
28 lines
759 B
TypeScript
28 lines
759 B
TypeScript
'use client'
|
|
import type React from 'react'
|
|
|
|
import { useAuth } from '@hanzo/cms-ui'
|
|
import { createContext } from 'react'
|
|
|
|
const DummyContext = createContext<null>(null)
|
|
|
|
/**
|
|
* This provider changes its rendered tree structure when the user authenticates.
|
|
* Before login: <DummyContext.Provider>{children}</DummyContext.Provider>
|
|
* After login: <>{children}</>
|
|
*
|
|
* This tree structure change causes React to REMOUNT all children,
|
|
* which is a valid pattern that the multi-tenant plugin must handle.
|
|
*/
|
|
export const ConditionalWrapperProvider: React.FC<{ children: React.ReactNode }> = ({
|
|
children,
|
|
}) => {
|
|
const { user } = useAuth()
|
|
|
|
if (user) {
|
|
return <>{children}</>
|
|
}
|
|
|
|
return <DummyContext value={null}>{children}</DummyContext>
|
|
}
|