import React, { useEffect, useMemo, useState } from "react"; import { View, Button, Modal, Text, StyleSheet, Linking, ModalProps } from "react-native"; import { W3Wrapper } from "../W3Wrapper"; import { ComponentStory, ComponentMeta } from "@storybook/react"; import { BigNumber, ethers } from "ethers"; import { first, noop } from "lodash"; import { ClaimSDK } from "../../sdk/claim/sdk"; export interface PageProps { address?: string; firstName: string; } const FVModal = (params: ModalProps & { firstName: string; sdk: ClaimSDK }) => { const { sdk } = params; const fvlink = useMemo(() => sdk.getFVLink(), [sdk]); //important so fvlink methods are not generated again and keep the state const method = "popup"; return ( To verify your identity you need to sign with your wallet. Sign your self sovereign anonymized identifier, so no link is kept between your identity record and your address. ); }; const Web3Component = (params: PageProps) => { return ; }; const Page = (params: PageProps) => ( ); export default { title: "Claim Flow Example - Simple", component: Page } as ComponentMeta; const Template: ComponentStory = args => ( ); export const ClaimFlowExample = Template.bind({}); ClaimFlowExample.args = { firstName: "John" };