/ ui / src / components / UnderwriteLoan.tsx
UnderwriteLoan.tsx
 1  import { useAtom, useAtomValue, useSetAtom } from 'jotai';
 2  import { displayFunctionsAtom, pursesAtom } from 'store/app';
 3  import { loanTermsAtom } from 'store/p2p';
 4  import { callUnderwriteLoan } from 'services/p2p';
 5  
 6  const UnderwriteLoan = () => {
 7    const displayFunctions = useAtomValue(displayFunctionsAtom);
 8    const loanTerms = useAtomValue(loanTermsAtom);
 9    // assert(
10    //   displayFunctions,
11    //   'Adjust vault requires display functions to be loaded',
12    // );
13    // const { displayBrandPetname, displayPercent } = displayFunctions;
14    const handleClick = async () => {
15      const terms = {
16        ...loanTerms,
17        // expiry: loanTerms?.expiry ? BigInt(loanTerms.expiry) : undefined,
18      };
19      try {
20        const res = await callUnderwriteLoan(terms);
21        console.log('RES', res);
22      } catch (e) {
23        console.error('ERROR', e);
24      }
25    };
26    return (
27      <div>
28        <pre>
29          {loanTerms &&
30            JSON.stringify(
31              loanTerms,
32              (_, value) =>
33                typeof value === 'bigint' ? `${value.toString()}n` : value,
34              2,
35            )}
36        </pre>
37  
38        <button onClick={handleClick}>submit</button>
39      </div>
40    );
41  };
42  
43  export { UnderwriteLoan };