11import React , { useEffect , useState } from 'react' ;
22import { Box , Flex , Heading , Spinner , Text , Note , TextLink } from '@contentful/f36-components' ;
33import { useSDK } from '@contentful/react-apps-toolkit' ;
4- import { createClient } from 'contentful-management' ;
54import ConfigEntryService from '../utils/ConfigEntryService' ;
65import { styles } from './Page.styles' ;
76import { ConnectedFields , EntryWithContentType , getUniqueFieldId } from '../utils/utils' ;
@@ -19,23 +18,12 @@ const Page: React.FC = () => {
1918 const [ modalEntry , setModalEntry ] = useState < EntryWithContentType | null > ( null ) ;
2019 const [ modalOpen , setModalOpen ] = useState < boolean > ( false ) ;
2120
22- const cma = createClient (
23- { apiAdapter : sdk . cmaAdapter } ,
24- {
25- type : 'plain' ,
26- defaults : {
27- environmentId : sdk . ids . environment ,
28- spaceId : sdk . ids . space ,
29- } ,
30- }
31- ) ;
32-
3321 useEffect ( ( ) => {
3422 const fetchConnectedEntries = async ( ) => {
3523 setLoading ( true ) ;
3624 setError ( null ) ;
3725 try {
38- const configService = new ConfigEntryService ( cma , defaultLocale ) ;
26+ const configService = new ConfigEntryService ( sdk . cma , defaultLocale ) ;
3927 const connectedFields = await configService . getConnectedFields ( ) ;
4028 setConnectedFields ( connectedFields ) ;
4129 const entryIds = Object . keys ( connectedFields ) ;
@@ -45,24 +33,17 @@ const Page: React.FC = () => {
4533 return ;
4634 }
4735
48- const entriesResponse = await cma . entry . getMany ( { query : { 'sys.id[in]' : entryIds } } ) ;
36+ const entriesResponse = await sdk . cma . entry . getMany ( { query : { 'sys.id[in]' : entryIds } } ) ;
4937 const fetchEntriesWithContentType = await Promise . all (
5038 entriesResponse . items . map ( async ( entry ) => {
51- try {
52- const contentType = await cma . contentType . get ( {
53- contentTypeId : entry . sys . contentType . sys . id ,
54- } ) ;
55- return { entry, contentType } ;
56- } catch ( err ) {
57- return null ;
58- }
39+ const contentType = await sdk . cma . contentType . get ( {
40+ contentTypeId : entry . sys . contentType . sys . id ,
41+ } ) ;
42+ return { entry, contentType } ;
5943 } )
6044 ) ;
6145
62- const filteredEntries : EntryWithContentType [ ] = fetchEntriesWithContentType . filter (
63- ( e ) : e is EntryWithContentType => e !== null
64- ) ;
65- setEntriesWithContentType ( filteredEntries ) ;
46+ setEntriesWithContentType ( fetchEntriesWithContentType ) ;
6647 } catch ( e ) {
6748 setEntriesWithContentType ( [ ] ) ;
6849 setError (
@@ -94,7 +75,7 @@ const Page: React.FC = () => {
9475 async function handleDisconnectFields ( selectedFieldIds : string [ ] ) {
9576 if ( ! modalEntry ) return ;
9677 const entryId = modalEntry . entry . sys . id ;
97- const configService = new ConfigEntryService ( cma , defaultLocale ) ;
78+ const configService = new ConfigEntryService ( sdk . cma , defaultLocale ) ;
9879
9980 try {
10081 const currentFields = await configService . getEntryConnectedFields ( entryId ) ;
0 commit comments