import React, { useState, useRef } from 'react';
import PFMSDK from 'equal-nextjs-pfm-sdk/src/pfm_sdk';
export default function MyComponent() {
const [token, setToken] = useState<string | null>(null);
const pfmInstanceRef = useRef<any>(null);
const environment = ''; // Change to 'production' for production
const fetchToken = async () => {
fetch('https://<your_backend_api_that_calls_sdk_init_api_and_returns_token>', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify('<API Body as per your API contracts>')
})
.then(response => response.json())
.then(data => {
setToken(data.token);
pfmInstanceRef.current = new PFMSDK(data.token, environment);
})
.catch(error => console.error('Error fetching token:', error));
};
const openPFM = () => {
if (pfmInstanceRef.current) {
pfmInstanceRef.current.openPFM(
(error: any) => console.error('PFM SDK Error:', error),
() => console.log('PFM SDK Closed')
);
} else {
console.error('PFM SDK is not initialized!');
}
};
}