@@ -14,6 +14,8 @@ interface Props {
1414}
1515
1616export const ContentProviderAuthManager : React . FC < Props > = ( { ministryId, onAuthChange } ) => {
17+ console . log ( "[ContentProviderAuthManager] Render with ministryId:" , ministryId ) ;
18+
1719 const [ linkedProviders , setLinkedProviders ] = useState < ContentProviderAuthInterface [ ] > ( [ ] ) ;
1820 const [ loading , setLoading ] = useState ( true ) ;
1921 const [ showProviderSelector , setShowProviderSelector ] = useState ( false ) ;
@@ -28,10 +30,18 @@ export const ContentProviderAuthManager: React.FC<Props> = ({ ministryId, onAuth
2830 const [ codeVerifier , setCodeVerifier ] = useState < string | null > ( null ) ;
2931 const [ pkceWindow , setPkceWindow ] = useState < Window | null > ( null ) ;
3032
31- const availableProviders = useMemo ( ( ) => getAvailableProviders ( [ "lessonschurch" , "signpresenter" , "bibleproject" ] ) , [ ] ) ;
33+ const availableProviders = useMemo ( ( ) => {
34+ const providers = getAvailableProviders ( [ "lessonschurch" , "signpresenter" , "bibleproject" ] ) ;
35+ console . log ( "[ContentProviderAuthManager] availableProviders:" , providers ) ;
36+ return providers ;
37+ } , [ ] ) ;
3238
3339 // Get implemented providers
34- const authProviders = useMemo ( ( ) => availableProviders . filter ( p => p . implemented ) , [ availableProviders ] ) ;
40+ const authProviders = useMemo ( ( ) => {
41+ const implemented = availableProviders . filter ( p => p . implemented ) ;
42+ console . log ( "[ContentProviderAuthManager] authProviders (implemented):" , implemented ) ;
43+ return implemented ;
44+ } , [ availableProviders ] ) ;
3545
3646 // Providers not yet linked (for modal)
3747 const unlinkableProviders = useMemo ( ( ) => {
@@ -40,24 +50,30 @@ export const ContentProviderAuthManager: React.FC<Props> = ({ ministryId, onAuth
4050 } , [ authProviders , linkedProviders ] ) ;
4151
4252 const loadLinkedProviders = useCallback ( async ( ) => {
53+ console . log ( "[ContentProviderAuthManager] loadLinkedProviders called, ministryId:" , ministryId ) ;
4354 if ( ! ministryId ) {
55+ console . log ( "[ContentProviderAuthManager] No ministryId, clearing providers" ) ;
4456 setLinkedProviders ( [ ] ) ;
4557 setLoading ( false ) ;
4658 return ;
4759 }
4860 try {
4961 setLoading ( true ) ;
62+ console . log ( "[ContentProviderAuthManager] Fetching linked providers..." ) ;
5063 const linked = await ContentProviderAuthHelper . getLinkedProviders ( ministryId ) ;
64+ console . log ( "[ContentProviderAuthManager] API returned:" , linked ) ;
5165 setLinkedProviders ( linked || [ ] ) ;
5266 } catch ( error ) {
53- console . error ( "Error loading linked providers:" , error ) ;
67+ console . error ( "[ContentProviderAuthManager] Error loading linked providers:" , error ) ;
5468 setLinkedProviders ( [ ] ) ;
5569 } finally {
70+ console . log ( "[ContentProviderAuthManager] Setting loading to false" ) ;
5671 setLoading ( false ) ;
5772 }
5873 } , [ ministryId ] ) ;
5974
6075 useEffect ( ( ) => {
76+ console . log ( "[ContentProviderAuthManager] useEffect triggered, calling loadLinkedProviders" ) ;
6177 loadLinkedProviders ( ) ;
6278 } , [ loadLinkedProviders ] ) ;
6379
@@ -342,7 +358,10 @@ export const ContentProviderAuthManager: React.FC<Props> = ({ ministryId, onAuth
342358 return availableProviders . find ( p => p . id === authProviderId ) || null ;
343359 } , [ authProviderId , availableProviders ] ) ;
344360
361+ console . log ( "[ContentProviderAuthManager] Render state - loading:" , loading , "authProviders.length:" , authProviders . length , "linkedProviders:" , linkedProviders ) ;
362+
345363 if ( loading ) {
364+ console . log ( "[ContentProviderAuthManager] Showing loading spinner" ) ;
346365 return (
347366 < Box sx = { { display : "flex" , justifyContent : "center" , py : 4 } } >
348367 < CircularProgress />
@@ -351,6 +370,7 @@ export const ContentProviderAuthManager: React.FC<Props> = ({ ministryId, onAuth
351370 }
352371
353372 if ( authProviders . length === 0 ) {
373+ console . log ( "[ContentProviderAuthManager] No authProviders, showing empty message" ) ;
354374 return (
355375 < Typography color = "text.secondary" >
356376 { Locale . label ( "plans.contentProviderAuth.noProvidersAvailable" ) || "No content providers available that require authentication." }
0 commit comments