{"version":3,"sources":["../src/screens/product_list/ProductListScreen","../src/index.tsx","../src/screens/product_info/ProductInfoScreen.tsx","../src/components/MCALayout.tsx","../src/theme/styles.ts","../src/screens/product_info/HowItWorks.tsx","../src/screens/product_info/Benefits.tsx","../src/screens/product_info/HowToClaim.tsx","../src/theme/colors.ts","../src/screens/product_forms/ProductFormsScreen.tsx","../src/components/MCATextField.tsx","../src/components/SelectField.tsx","../src/store/urlApiKeyStore.ts","../src/components/MDatePicker.tsx","../src/components/FilePicker.tsx","../src/components/ItemPair.tsx","../src/components/SuccessScreen.tsx","../src/screens/payment_option/PaymentOptionScreen.tsx"],"sourcesContent":["// import React, { useState, useEffect } from \"react\";\n// import { View, Text, Button, FlatList, StyleSheet, Pressable, ActivityIndicator, TextInput } from \"react-native\";\n// import { customStyles } from \"../../theme/styles\"\n// import SearchIcon from \"../../assets/search.svg\";\n// import { useApiKeyStore } from '../../store/urlApiKeyStore';\n// import { initiatePurchase } from \"../../constants/constants\";\n// import ProductListItem from \"./ProductListItem\";\n\n// interface ProductListProps {\n//     navigation: any; // Adjust the type according to your navigation prop type\n// }\n\n// declare global {\n//     namespace NodeJS {\n//         interface Global {\n//             instanceId: string; // Adjust the type according to your data\n//         }\n//     }\n// }\n// // Assign the type to global\n// // declare const global: CustomGlobal;\n\n// export default function ProductList({ navigation }: ProductListProps) {\n//     let {setApiKey, setBaseUrl} = useApiKeyStore();\n//     useEffect(() => {\n//         //setApiKey(props.apiKey);\n//         setApiKey(\"MCAPUBK_TEST|1acf339a-d36f-47e7-8e1b-fd0b76b61b0c\");\n//         setBaseUrl();\n//       },[])\n\n//     const [loading, setLoading] = useState(true);\n//     const [products, setProducts] = useState<any[]>([]);\n//     const [filters, setFilters] = useState<string[]>([]);\n//     const [filterOption, setFilterOption] = useState<string>(\"All\");\n\n//     const url = 'https://staging.api.mycover.ai' + initiatePurchase;\n\n\n    \n\n//     // const headers = { \"Authorization\": \"Bearer \" + apiKey, \"Content-Type\": \"application/json\" };\n//     const headers = { \"Authorization\": \"Bearer \" + \"MCAPUBK_TEST|1acf339a-d36f-47e7-8e1b-fd0b76b61b0c\", \"Content-Type\": \"application/json\" };\n//     const jsonBody = JSON.stringify({\n//         action: \"purchase\",\n//         payment_option: \"gateway\"\n//     });\n\n//     useEffect(() => {\n//         console.log(url);\n//         fetch(url, { method: \"POST\", headers: headers, body: jsonBody })\n//             .then((response) => response.json())\n//             .then((json) => {\n//                 console.log(1);\n//                 console.log(1);\n//                 console.log(1);\n//                 console.log(1); \n//                 console.log(1);\n//                 console.log(json);\n//                 // console.log(apiKey);\n//                 // global.instanceId = json[\"data\"][\"businessDetails\"][\"instance_id\"];\n//                 setProducts(json[\"data\"][\"productDetails\"]);\n//                 updateFilters(json[\"data\"][\"productDetails\"]);\n//             })\n//             .catch((error) => console.log(error))\n//             .finally(() => setLoading(false));\n//     }, []);\n\n//     function getProductList() {\n//         let p = products;\n\n//         if (filterOption.toLowerCase() !== \"all\") {\n//             p = products.filter((item) => item[\"prefix\"] === filterOption);\n//         }\n//         return p.sort((a, b) => a.name.localeCompare(b.name));\n//     }\n\n//     function updateFilters(p: any[]) {\n//         const x = new Set<string>().add(\"All\");\n//         p.forEach((item) => {\n//             x.add(item[\"prefix\"]);\n//         });\n\n//         setFilters([...Array.from(x)]);\n//     }\n\n//     return (\n//         <View style={customStyles.appContainer}>\n//             <View style={customStyles.spacerHorizontal}></View>\n//             {loading ? (\n//                 <View style={{ flex: 1, justifyContent: \"center\", alignItems: \"center\", width: \"100%\" }}>\n//                     <ActivityIndicator style={{ margin: 12, borderColor: \"#3BAA90\" }} animating={loading} />\n//                     <Text style={{ fontFamily: \"Raleway_500Medium\" }}>Fetching Products...</Text>\n//                 </View>\n//             ) : (\n//                 <View style={{ flex: 1, justifyContent: \"flex-start\" }}>\n//                     <Text style={customStyles.titleText}>Product Page</Text>\n\n//                     <View style={{ flexDirection: \"row\", marginVertical: 4, borderWidth: 0.5, borderRadius: 25, borderColor: \"#D0D5DD\", alignItems: \"center\", paddingVertical: 6, paddingHorizontal: 12 }}>\n//                         <SearchIcon />\n//                         <TextInput style={{ marginLeft: 8, fontFamily: \"Raleway_400Regular\", flex: 1 }} placeholderTextColor={\"#98A2B3\"} placeholder=\"Search Products\" />\n//                     </View>\n\n//                     {ProductFilterOptions(filters, filterOption, (option) => {\n//                         setFilterOption(option);\n//                     })}\n//                     <FlatList showsVerticalScrollIndicator={false} style={{ paddingBottom: 10 }} contentContainerStyle={{ justifyContent: \"flex-start\" }} data={getProductList()} renderItem={(itemData) => {\n//                         return <ProductListItem navigator={navigation} data={itemData.item} />;\n//                     }} keyExtractor={(item, index) => item.id} alwaysBounceVertical={false} />\n//                 </View>\n//             )}\n//         </View>\n//     );\n// }\n\n// interface ProductFilterOptionsProps {\n//     options: string[];\n//     filterOption: string;\n//     onItemPressed: (option: string) => void;\n// }\n\n// function ProductFilterOptions({ options, filterOption, onItemPressed }: ProductFilterOptionsProps) {\n//     const style = StyleSheet.create({\n//         inactiveContainer: {\n//             backgroundColor: 'white',\n//             marginHorizontal: 5,\n//             paddingVertical: 5,\n//             paddingHorizontal: 7,\n//             borderRadius: 30,\n//             borderWidth: 0.8,\n//             borderColor: \"#3BAA90\",\n//             justifyContent: \"center\"\n//         },\n//         activeContainer: {\n//             backgroundColor: '#3BAA90',\n//             marginHorizontal: 5,\n//             paddingVertical: 5,\n//             paddingHorizontal: 7,\n//             borderRadius: 30,\n//             borderWidth: 1,\n//             borderColor: \"#3BAA90\",\n//             justifyContent: \"center\"\n//         },\n//         inactiveText: {\n//             textAlign: \"center\",\n//             color: \"#3BAA90\",\n//             fontFamily: \"Raleway_400Regular\",\n//             fontSize: 14,\n//             fontWeight: \"400\"\n//         },\n//         activeText: {\n//             textAlign: \"center\",\n//             color: \"white\",\n//             fontFamily: \"Raleway_400Regular\",\n//             fontSize: 14,\n//             fontWeight: \"400\"\n//         }\n//     });\n\n//     return (\n//         <FlatList showsHorizontalScrollIndicator={false} horizontal={true} style={{ maxHeight: 40, marginVertical: 8 }} data={options} renderItem={(itemData) => {\n//             let option = itemData.item;\n\n//             function handleItemPressed() {\n//                 onItemPressed(option);\n//             }\n\n//             return (\n//                 <Pressable onPress={handleItemPressed}>\n//                     <View style={option === filterOption ? style.activeContainer : style.inactiveContainer}>\n//                         <Text style={option === filterOption ? style.activeText : style.inactiveText}>{option}</Text>\n//                     </View>\n//                 </Pressable>\n//             );\n//         }} />\n//     );\n// }\n","// export function multiply(a: number, b: number): Promise<number> {\n//   return Promise.resolve(a * b);\n// }\nimport React, { useEffect } from 'react';\n// import { StyleSheet } from 'react-native';\nimport { NavigationContainer } from '@react-navigation/native';\nimport { createNativeStackNavigator } from '@react-navigation/native-stack';\nimport ProductInfoScreen from '../src/screens/product_info/ProductInfoScreen';\nimport ProductFormsScreen from '../src/screens/product_forms/ProductFormsScreen';\nimport PaymentOptionScreen from '../src/screens/payment_option/PaymentOptionScreen';\nimport SuccessScreen from '../src/components/SuccessScreen';\nimport ProductListScreen from '../src/screens/product_list/ProductListScreen';\n// @ts-ignore\nimport { useApiKeyStore }  from '../src/store/urlApiKeyStore';\n\ntype ProductListProps = {\n  apiKey: string; // Adjust the type as per your navigation prop type\n};\n\n\n\nconst McaSDK : React.FC<ProductListProps> = ({ apiKey })  => {\n\n  let {setApiKey, setBaseUrl} = useApiKeyStore();\n  useEffect(() => {\n    setApiKey(apiKey);\n    // setApiKey(\"MCAPUBK_TEST|1acf339a-d36f-47e7-8e1b-fd0b76b61b0c\");\n    setBaseUrl();\n  },[])\n\n  const Stack = createNativeStackNavigator();\n  return(\n    <NavigationContainer independent = {true}>\n      <Stack.Navigator screenOptions={{ title: \"\", headerShown: false }} initialRouteName='ProductList'>\n        <Stack.Screen\n            name='ProductList'\n            component={ProductListScreen}\n          />\n          <Stack.Screen\n            name='ProductInfo'\n            component={ProductInfoScreen}\n          />\n          <Stack.Screen\n            name='ProductForm'\n            component={ProductFormsScreen}\n          />\n          <Stack.Screen\n            name='PaymentOptionScreen'\n            component={PaymentOptionScreen}\n          />\n          <Stack.Screen\n            name='SuccessScreen'\n            component={SuccessScreen}\n          /> \n        </Stack.Navigator>\n    </NavigationContainer>\n    );\n}\n\nexport default McaSDK\n\n// const styles = StyleSheet.create({})","import React, { useState } from \"react\";\nimport { useWindowDimensions, Button } from \"react-native\";\nimport MCALayout from \"../../components/MCALayout\";\nimport { SceneMap, TabView, TabBar } from \"react-native-tab-view\";\nimport HowItWorks from \"./HowItWorks\";\nimport Benefits from \"./Benefits\";\nimport HowToClaim from \"./HowToClaim\";\nimport { colorPrimary } from \"../../theme/colors\";\n// import type { NavigationProp, RouteProp } from \"@react-navigation/native\";\n\ntype ProductData = {\n  [key: string]: any;\n  // Define your product data type here\n};\n\n// type RouteParams = {\n//   [key: string]: any;\n// };\n\n\ntype ProductInfoProps = {\n    [key: string]: any;\n//   navigation: NavigationProp<any, any>;\n//   route: RouteProp<RouteParams, \"productData\">;\n};\n\nconst ProductInfo: React.FC<ProductInfoProps> = ({ navigation, route}) => {\n  const productData: ProductData = route.params?.productData;\n\n  const howItWorks = () => <HowItWorks data={productData} />;\n  const benefits = () => <Benefits data={productData} />;\n  const howToClaim = () => <HowToClaim data={productData} />;\n\n  const renderScene = SceneMap({\n    howItWorks: howItWorks,\n    benefits: benefits,\n    howToClaim: howToClaim,\n  });\n\n  const layout = useWindowDimensions();\n\n  const [index, setIndex] = useState(0);\n  const [routes] = useState([\n    { key: \"howItWorks\", title: \"How It Works\" },\n    { key: \"benefits\", title: \"Benefits\" },\n    { key: \"howToClaim\", title: \"How To Claim\" },\n  ]);\n\n  const renderTabBar = (props: any) => (\n    <TabBar\n      {...props}\n      indicatorStyle={{ backgroundColor: \"#F2F4F7\" }}\n      activeColor=\"#3BAA90\"\n      inactiveColor=\"#364657\"\n      labelStyle={{\n        textTransform: \"none\",\n        fontFamily: \"Raleway_500Medium\",\n        textAlign: \"center\",\n        fontSize: 12,\n        fontWeight: \"600\",\n      }}\n      style={{ backgroundColor: \"#F2F4F7\", elevation: 0 }}\n    />\n  );\n\n  function nextScreen() {\n    console.log(productData);\n    console.log(1);\n    navigation.navigate(\"ProductForm\", { data: productData });\n  }\n\n  return (\n    <MCALayout>\n      <TabView\n        style={{ flex: 1 }}\n        swipeEnabled={false}\n        navigationState={{ index, routes }}\n        renderScene={renderScene}\n        onIndexChange={setIndex}\n        initialLayout={{ width: layout.width }}\n        renderTabBar={renderTabBar}\n      />\n      <Button title=\"Continue\" color={colorPrimary} onPress={nextScreen} />\n    </MCALayout>\n  );\n};\n\nexport default ProductInfo;\n","import { View, Image, Pressable } from \"react-native\"\nimport { customStyles } from \"../theme/styles\"\nimport BackButton from \"../assets/back.svg\"\nimport React from 'react'\n\nconst MCALayout = (props:any) => {\n    return (\n      <View style={customStyles.appContainer}>\n              <View style={customStyles.spacerHorizontal}></View>\n              {(!props.onBackPressed) ? <></> : <View style={{ flexDirection: \"row\" }}>\n                  <Pressable style={{ padding: 12 }} onPress={props.onBackPressed}>\n                      <BackButton width={30} height={30} />\n                  </Pressable>\n              </View>}\n  \n              <View style={{ flex: 1, alignItems: \"center\" }}>\n                  <Image style={customStyles.logo} source={require(\"../assets/logo.png\")} />\n                  <View style={{ flex: 1, width: \"100%\" }}>\n                      {props.children}\n                  </View>\n                  <Image style={customStyles.poweredBy} source={require(\"../assets/powered_by.png\")} />\n              </View>\n          </View>\n    )\n  }\n  \n  export default MCALayout","import { StyleSheet } from \"react-native\"\n\nexport const customStyles = StyleSheet.create({\n    appContainer: {\n        flex: 1,\n        paddingHorizontal: 12,\n        paddingTop: 12\n    },\n\n    spacerHorizontal: {\n        height: \"3%\"\n    },\n\n    titleText: {\n        margin: 4,\n        fontSize: 18,\n        fontWeight: \"500\",\n        width: \"100%\",\n        textAlign: \"center\",\n        fontFamily: \"Raleway_700Bold\"\n    },\n\n    listItem: {\n        paddingVertical: 12,\n        paddingHorizontal: 8,\n        flexDirection: \"row\",\n        alignItems: \"flex-start\",\n        margin: 4,\n        backgroundColor: \"#ffffff\",\n        borderRadius: 3,\n    },\n\n    listImage: {\n        width: 38,\n        height: 38\n    },\n\n    logo: {\n        margin: 12,\n        width: 150,\n        height: 30\n    },\n\n    poweredBy: {\n        margin: 12,\n    },\n\n    htmlContainer: {\n        alignItems: \"center\",\n        flex: 1,\n        width: \"99%\"\n    },\n    infoImagesStyle: {\n        margin: 12,\n        width: 70,\n        height: 70\n    },\n    htmlContent: {\n        flex: 1,\n        paddingHorizontal: 10,\n    }\n})\n","import { View, Image, useWindowDimensions, ScrollView } from \"react-native\";\nimport RenderHTML from \"react-native-render-html\";\nimport { customStyles } from \"../../theme/styles\"\nimport React from 'react'\n\nconst HowItWorks = (props:any) => {\n    let data = props.data\n    const { width } = useWindowDimensions()\n\n\n    let tagStyle = {\n\n\n        ul: {\n            color: '#3BAA90',\n        },\n        li: {\n            marginBottom: 10,\n            color: 'black'\n        }\n    }\n  return (\n    <View style={customStyles.htmlContainer}>\n            <Image style={customStyles.infoImagesStyle} source={require(\"../../assets/how_it_works.png\")} />\n\n            <ScrollView contentInsetAdjustmentBehavior=\"automatic\" >\n                <View style={customStyles.htmlContent}>\n                    <RenderHTML tagsStyles={tagStyle} contentWidth={width} source={{ html: data[\"how_it_works\"] }} />\n                </View>\n            </ScrollView>\n        </View>\n  )\n}\n\n\n\nexport default HowItWorks\n\n","import { View, Image, useWindowDimensions, ScrollView } from \"react-native\";\nimport RenderHTML from \"react-native-render-html\";\nimport { customStyles } from \"../../theme/styles\"\n// import BackButton from require(\"../../assets/benefits.png\")\nimport React from 'react'\n\nconst Benefits = (props:any) => {\n    let data = props.data\n\n    const { width } = useWindowDimensions()\n  return (\n    <View style={customStyles.htmlContainer}>\n            <Image style={customStyles.infoImagesStyle} source={require(\"../../assets/benefits.png\")} />\n\n            <ScrollView style={{ flex: 1 }} showsVerticalScrollIndicator={false} contentInsetAdjustmentBehavior=\"always\">\n                <View style={customStyles.htmlContent}>\n                    <RenderHTML contentWidth={width} source={{ html: data[\"key_benefits\"] }} />\n                </View>\n            </ScrollView>\n        </View>\n  )\n}\n\nexport default Benefits\n","import { View, Image, useWindowDimensions, ScrollView } from \"react-native\";\nimport RenderHTML from \"react-native-render-html\";\nimport { customStyles } from \"../../theme/styles\"\nimport React from 'react'\n\nconst HowToClaim = (props:any) => {\n    let data = props.data\n\n    const { width } = useWindowDimensions()\n\n    let html = data[\"how_to_claim\"]\n\n\n    let tagStyle = {\n        span: {\n            fontFamily: \"Raleway_400Regular\",\n            marginBottom: 10\n        },\n\n        ul: {\n            color: '#3BAA90',\n        }\n    }\n  return (\n    <View style={customStyles.htmlContainer}>\n            <Image style={customStyles.infoImagesStyle} source={require(\"../../assets/how_it_works.png\")} />\n\n            <ScrollView contentInsetAdjustmentBehavior=\"automatic\">\n                <View style={customStyles.htmlContent}>\n                    <RenderHTML\n                        tagsStyles={tagStyle}\n                        contentWidth={width}\n                        source={{ html: html }}\n                    />\n                </View>\n            </ScrollView>\n        </View>\n  )\n}\n\n\nexport default HowToClaim\n","export const colorPrimary: string = \"#3BAA90\";\nexport const colorGreyOverlay: string = \"#323B4B80\";\nexport const colorNavy: string = \"#344054\";\n","import React, { useState } from \"react\";\nimport { ActivityIndicator, Alert, Button, Image, Text, View, ScrollView } from \"react-native\";\nimport MCALayout from \"../../components/MCALayout\";\nimport { colorGreyOverlay, colorPrimary } from \"../../theme/colors\";\nimport  MCATextField  from \"../../components/MCATextField\";\nimport MDatePicker  from \"../../components/MDatePicker\";\nimport FilePicker from \"../../components/FilePicker\";\nimport ItemPair from \"../../components/ItemPair\";\nimport SuccessScreen from \"../../components/SuccessScreen\";\nimport { useApiKeyStore } from \"../../store/urlApiKeyStore\";\n\ninterface ProductData {\n  name: string;\n  form_fields: any[]; // Update this type according to the actual structure\n  prefix: string;\n  [key: string]: any;\n}\n\ninterface FormData {\n  [key: string]: any;\n}\n\ninterface FileDetail {\n  uri: string;\n  name: string;\n  [key: string]: any;\n\n}\n\n// interface FilePickerData {\n//   input_type: string;\n//   label: string;\n//   [key: string]: any;\n// }\n\ninterface Props {\n  navigation: any; // Update with proper navigation type\n  route: any; // Update with proper route type\n}\n\nconst ProductFormsScreen = ({ navigation, route }: Props) => {\n\nconst { apiKey, baseUrl } = useApiKeyStore();\n    const productData: ProductData = route.params.data;\n    const transactionRef: string = route.params.transactionRef || \"\";\n\n\n    const [formData, setFormData] = useState<FormData>({});\n    const [fieldIndex, setFieldIndex] = useState(0);\n    const [files, setFiles] = useState<FileDetail[]>([]);\n    const [complete, setComplete] = useState(false);\n    const [busy, setBusy] = useState(false);\n\n    const formFields = productData.form_fields.filter(item =>\n        transactionRef.trim().length < 1 ? item.show_first : !item.show_first\n    ).sort((a, b) => a.position - b.position);\n\n    function updateData(key: string, value: any) {\n        setFormData(prevData => ({\n            ...prevData,\n            [key]: value\n        }));\n    }\n\n    function progressOrNavigate() {\n        if (fieldIndex < chunkedFields().length - 1) {\n          console.log(`Form Data`);\n          console.log(formData);\n          setFieldIndex(fieldIndex + 1);\n        } else {\n            if (!transactionRef) {\n              console.log(`Form Data`);\n              console.log(formData);\n              setFieldIndex(0);\n              navigation.navigate(\"PaymentOptionScreen\", { data: { product: productData, form: formData } });\n\n            } else {\n                completePurchase();\n            }\n        }\n    }\n\n    function chunkedFields() {\n        const chunkSize = 3;\n        const chunkedFields: any[] = [];\n        for (let i = 0; i < formFields.length; i += chunkSize) {\n            const chunk = formFields.slice(i, i + chunkSize);\n            chunkedFields.push(chunk);\n        }\n        return chunkedFields;\n    }\n\n    function resolveFields() {\n        return chunkedFields()[fieldIndex];\n    }\n\n    async function uploadFiles() {\n        console.log('file upload');\n        for (let i = 0; i < files.length; i++) {\n          console.log(files);\n          console.log(files.length);\n            const formData = new FormData();\n            formData.append(\"file\", { uri: files[i]?.uri, type: \"image/png\", name: files[i]?.name });\n            const headers = {\n                Authorization: \"Bearer \" + apiKey,\n                Accept: \"application/json\",\n                \"Content-Type\": \"multipart/form-data\"\n            };\n            const url = baseUrl + \"/v1/upload-file\";\n            try {\n                const response = await fetch(url, {\n                    method: \"POST\",\n                    headers: headers,\n                    body: formData\n                });\n                const json = await response.json();\n                if (json.responseCode == 1) {\n                    updateData(files[i]?.key, json.data.file_url);\n                }\n            } catch (error) {\n                console.log(error);\n            }\n        }\n    }\n\n    function completePurchase() {\n        setBusy(true);\n        uploadFiles().then(() => {\n            updateData(\"is_full_year\", true);\n            const url = baseUrl + \"/v1/sdk/complete-purchase\";\n            const headers = { Authorization: \"Bearer \" + apiKey, \"Content-Type\": \"application/json\" };\n            const body = JSON.stringify({\n                payload: formData,\n                reference: transactionRef\n            });\n          \n            fetch(url, { method: \"POST\", headers: headers, body })\n                .then((response) => response.json())\n                .then((json) => {\n                    console.log(\"json\");\n                    console.log(json);\n                    if (json.responseCode == 1) {\n                        console.log(complete);\n                        setComplete(true);\n                    } else {\n                        Alert.alert(\"Request Failed\", json.responseText);\n                    }\n                })\n                .finally(() => setBusy(false));\n        });\n    }\n\n    function onFilePicked(key: string, file: FileDetail) {\n      console.log('select file');  \n      console.log(file);      \n        setFiles([...files, { key: key, ...file }]);\n    }\n\n    function onBackPressed() {\n        if (fieldIndex > 0) {\n            setFieldIndex(fieldIndex - 1);\n        }\n    }\n    function onDone() {\n      navigation.navigate(\"ProductList\");\n  }\n\n  if (complete) {\n    console.log(\"Product Data:\", productData);\n    console.log(\"Product Name:\", productData.name);\n      return <SuccessScreen message={\"Your purchase for \" + productData.name + \" was successful.\"} onDonePressed={onDone} />;\n  } else {\n    return (\n      <ScrollView>\n        <View style={{flex: 1}}>\n          \n            <MCALayout onBackPressed={onBackPressed}>\n                <View style={{ alignItems: \"center\" }}>\n                    <Text style={{ fontSize: 16, fontWeight: \"600\", padding: 12, fontFamily: \"Raleway_500Medium\" }}>{productData.name}</Text>\n                    <Text style={{ padding: 5, width: \"100%\", fontFamily: \"Raleway_400Regular\", backgroundColor: \"#F6FEF9\" }}>Enter Details as it appears on legal document</Text>\n                    <View style={{ flexDirection: \"row\", marginVertical: 12, alignItems: \"center\" }}>\n                        <View style={{ flex: 1 }}></View>\n                        <Text style={{ fontFamily: \"Raleway_400Regular\" }}>Underwritten By: </Text>\n                        {getImage(productData.prefix)}\n                    </View>\n                </View>\n              \n                <View style={{ flex: 1 }}>\n                    {resolveFields().map((element: any, index: number) => {\n                        const dataType = element.data_type.toLowerCase();\n                        function onDataChange(value: any) {\n                            console.log(\"ON data change\")\n                            console.log(value)\n                            console.log(element.name)\n                            if (dataType == \"array\") {\n                                updateData(element.name, value);\n                            } else if (dataType == \"number\") {\n                                updateData(element.name, parseInt(value));\n                            } else if (dataType == \"boolean\") {\n                                updateData(element.name, value.toLowerCase() == \"true\" ? true : false);\n                            } else {\n                              console.log('string');\n                              console.log(formData);\n                                updateData(element.name, value);\n                            }\n                        }\n                        if (dataType == \"array\") {\n                            return <ItemPair key={index} onUpdate={onDataChange} data={element} />;\n                        }\n                        console.log(`Name: ${element.name}`);\n                        console.log(`Label: ${element.label}`);\n                        \n                        \n                        switch (element.input_type) {\n                            case \"file\":\n                                return <FilePicker key={index} onFilePicked={onFilePicked} data={element} />;\n                            case \"date\":\n                                return <MDatePicker key={index} dateValueChanged={onDataChange} keyValue={element.label} editable={false} data={element} />;\n                            default:\n                                return (\n                                    <MCATextField\n                                        onDataChange={onDataChange}\n                                        valueString={formData[element.name]}\n                                        keyValue={element.label}\n                                        editable={true}\n                                        data={element}\n                                        key={index}\n                                    />\n                                );\n                        }\n                    })}\n                </View>\n                \n\n                <Button onPress={progressOrNavigate} color={colorPrimary} title=\"Continue\" />\n            </MCALayout>\n            {busy ? (\n                <View style={{ zIndex: 2, flex: 1, height: \"100%\", width: \"100%\", marginTop: \"6%\", position: \"absolute\", justifyContent: \"center\", alignItems: \"center\", backgroundColor: colorGreyOverlay, marginBottom:5 }}>\n                    <ActivityIndicator style={{ margin: 12, borderColor: \"#3BAA90\" }} animating={true} />\n                    <Text style={{ fontFamily: \"Raleway_500Medium\", margin: 12, fontSize: 16, color: \"white\" }}>Sending request...</Text>\n                </View>\n            ) : null}\n           \n        </View>\n        </ScrollView>\n    );\n}\n\n}\n\n\nexport default ProductFormsScreen\n\n\nexport function getImage(name: string, showText: boolean = true): JSX.Element | null {\n  const newName = name.toLowerCase();\n  const style = { marginHorizontal: 5 };\n  if (newName.includes(\"mcg\") || newName.includes(\"mycovergenius\")) {\n      return <Image style={style} source={require(\"../../assets/mcg.png\")} />;\n  } else if (newName.includes(\"aiico\")) {\n      return <Image style={style} source={require(\"../../assets/aiico.png\")} />;\n  } else if (newName.includes(\"sti\")) {\n      return <Image style={style} source={require(\"../../assets/sti.png\")} />;\n  } else if (newName.includes(\"flexicare\")) {\n      return <Image style={style} source={require(\"../../assets/flexicare.png\")} />;\n  } else if (newName.includes(\"leadway\")) {\n      return <Image style={style} source={require(\"../../assets/leadway.png\")} />;\n  } else {\n      if (showText === true) return <Text style={style}>{name.toUpperCase()}</Text>;\n      else return null;\n  }\n}","import { TextInput, View, Text } from \"react-native\";\nimport SelectField from \"./SelectField\";\nimport React from 'react'\n\nconst MCATextField = (props:any) => {\n    let data = props.data\n\n    function onChange(textString:any) {\n        props.onDataChange(textString)\n    }\n\n    if (data[\"form_field\"].name.toLowerCase() === \"select\") {\n        return <SelectField key={data[\"id\"]} onChangeData={onChange} data={data} />\n    }\n  return (\n    <View key={props.key} style={{ width: \"100%\", marginVertical: 6 }}>\n            <Text style={{ marginVertical: 6, fontFamily: \"Raleway_400Regular\" }}>{data[\"label\"]}</Text>\n            <View style={{ backgroundColor: \"#EAECF0\", borderRadius: 5 }}>\n                <TextInput key={data[\"id\"]} onChangeText={onChange} value={props.valueString} editable={props.editable} style={{ padding: 6, fontFamily: \"Raleway_400Regular\" }} placeholder={(!props.editable && (props.valueString)) ? props.valueString : data[\"description\"]} />\n            </View>\n        </View>\n  )\n}\n\nexport default MCATextField","import { Picker } from \"@react-native-picker/picker\";\nimport { useEffect, useState } from \"react\";\nimport { Text, View } from \"react-native\";\nimport {useApiKeyStore} from \"../store/urlApiKeyStore\";\nimport React from 'react'\n\nconst SelectField = (props:any) => {\n\n    let {apiKey,baseUrl} = useApiKeyStore();\n    const [options, setOptions] = useState([\"Select an Option\"])\n    const [_, setHasFetchedData] = useState(false)\n//hasFetchedData = _\n    const [selectValue, setSelectedValue] = useState(options[0])\n\n    let data = props.data\n\n    function onValueChanged(itemValue:any, _:any) {\n        props.onChangeData(itemValue)\n        setSelectedValue(itemValue)\n    }\n\n\n    function fetchSelectFields() {\n\n        //  if (!hasFetchedData) {\n\n        const url = baseUrl + \"/v1\" + data[\"data_url\"]\n        const headers = { \"Authorization\": \"Bearer \" + apiKey }\n\n        useEffect(() => {\n            fetch(url, { headers: headers, method: \"GET\" })\n                .then((response) => response.json())\n                .then((json) => {\n                    if (json[\"responseCode\"] == 1) {\n                        if (json[\"data\"][0][\"name\"]) {\n                            setOptions(json.data.map((element :any) => element[\"name\"]))\n                        } else {\n                            setOptions(json.data.map((element:any) => element.toString()))\n                        }\n                        setHasFetchedData(true)\n                    }\n                })\n                .catch((error) => console.log(error))\n        }, []);\n        //  }\n    }\n\n\n    fetchSelectFields()\n\n  return (\n    <View>\n            <Text style={{ marginVertical: 5, fontFamily: \"Raleway_400Regular\" }}>{data[\"label\"]}</Text>\n            <View style={{ backgroundColor: \"#EAECF0\", borderRadius: 5 }}>\n                <Picker\n                    itemStyle={{ fontSize: 20, fontFamily: \"Raleway_400Regular\" }}\n                    mode=\"dropdown\"\n                    selectedValue={selectValue}\n                    onValueChange={onValueChanged}>\n                    {\n                        options.map((item) => {\n                            return <Picker.Item fontFamily=\"Raleway_400Regular\" label={item.charAt(0).toLocaleUpperCase() + item.substring(1)} value={item} />\n                        })\n                    }\n                </Picker>\n            </View>\n\n        </View>\n  )\n}\n\nexport default SelectField\n\n","import { create } from 'zustand';\n\ninterface ApiKeyStoreState {\n    apiKey: string;\n    baseUrl: string;\n    instanceId: string;\n    setApiKey: (apiKey: string) => void;\n    setBaseUrl: () => void;\n    setInstanceId: (instanceId: string) => void;\n}\n\nexport const useApiKeyStore = \n    create<ApiKeyStoreState>(\n        (set) => \n            ({\n                apiKey: \"MCAPUBK_TEST|1acf339a-d36f-47e7-8e1b-fd0b76b61b0c\",\n                baseUrl: 'https://staging.api.mycover.ai',\n                instanceId: '',\n                setApiKey: (apiKey) => set(() => ({ apiKey })),\n                setBaseUrl: () => set((state) => ({ baseUrl: state.apiKey?.includes('TEST') ? 'https://staging.api.mycover.ai' : 'https://api.mycover.ai' })),\n                setInstanceId: (instanceId) => set({ instanceId }), \n            })\n        )\n","import { useState } from \"react\"\nimport { Pressable } from \"react-native\"\nimport MCATextField  from \"./MCATextField\"\nimport RNDateTimePicker from \"@react-native-community/datetimepicker\";\n// import { DateTimePickerEvent } from \"@react-native-community/datetimepicker\";\nimport React from 'react'\n\n\nconst MDatePicker = (props:any) => {\n    const productData = props.data\n\n    const [showPicker, setShowPicker] = useState(false)\n    const [date, setDate] = useState(new Date())\n\n    function openPicker() {\n        setShowPicker(true)\n    }\n\n    function onPickerChanged(_:any, date:any) {\n        closePicker()\n        setDate(date)\n        console.log(\"isoDate\")\n        console.log(isoDate)\n        props.dateValueChanged(isoDate)\n    }\n\n    function renderPicker() {\n        if (showPicker) {\n            return <RNDateTimePicker onChange={onPickerChanged} value={date} mode=\"date\" />\n        }\n        return <></>\n    }\n\n    function closePicker() {\n        setShowPicker(false)\n    }\n\n    let displayDate = date.toDateString()\n    let isoDate = date.toISOString()\n\n  return (\n    <>\n            <Pressable key={props.keyValue} onPress={openPicker}>\n                <MCATextField valueString={displayDate} data={productData} editable={false} />\n            </Pressable>\n            {renderPicker()}\n\n        </>\n  )\n}\n\nexport default MDatePicker","import { Pressable } from \"react-native\"\nimport MCATextField  from \"./MCATextField\";\nimport DocumentPicker  from \"react-native-document-picker\";\nimport { useState } from \"react\";\nimport React from 'react'\n\nconst FilePicker = (props:any) => {\n    let data = props.data\n\n    const [fileName, setFileName] = useState(\"\")\n\n    async function pickFile () {\n        const pickedFile = await DocumentPicker.pickSingle({\n            type:[DocumentPicker.types.allFiles]\n        });\n        console.log('pickedFile');\n        console.log(pickedFile);\n        console.log(pickedFile.type);\n        if (pickedFile != null) {\n            setFileName(pickedFile.name ?? \"\")\n            props.onFilePicked(data[\"name\"], pickedFile)\n        }\n    //  pickedFile.type ==\n        // DocumentPicker.getDocumentAsync()\n        //     .then((docResult:any) => {\n\n               \n        //     })\n    }\n  return (\n    <Pressable onPress={pickFile}>\n            <MCATextField valueString={fileName} data={data} editable={false} />\n        </Pressable>\n  )\n}\n\nexport default FilePicker\n\n","import { Button, Modal, Pressable, View, Text, Alert, Image, FlatList } from \"react-native\";\nimport MCATextField from \"./MCATextField\";\nimport { useState } from \"react\";\nimport { customStyles } from \"../theme/styles\";\nimport { colorPrimary } from \"../theme/colors\";\nimport React from 'react'\n\ninterface Entry {\n    name: string;\n    amount: number;\n    id: number;\n}\n\nconst ItemPair = (props:any) => {\n    let data = props.data\n\n    const [entries, setEntries] = useState<Entry[]>([]);\n    const [showModal, setShowModal] = useState(false)\n\n    const [name, setName] = useState(\"\")\n    const [amount, setAmount] = useState(\"\")\n\n\n    function disPlayModal() {\n        setShowModal(true)\n    }\n\n    function update() {\n        var newAmount = parseInt(amount)\n\n        if (name.trim() == \"\") {\n            Alert.alert(\"Error\", \"name cannot be empty\")\n            return\n        }\n\n        if (isNaN(newAmount)) {\n            Alert.alert(\"Error\", \"amount must be a number\")\n            return\n        }\n\n\n\n\n        let item = { name: name, amount: newAmount, id: entries.length + 1 }\n        setEntries(currentEntries => [...currentEntries, item])\n        setName(\"\")\n        setAmount(\"\")\n        dismiss()\n    }\n\n    function dismiss() {\n        props.onUpdate(entries)\n        setShowModal(false)\n    }\n\n    function updateName(text:any) { setName(text) }\n    function updateAmount(text:any) { setAmount(text) }\n  return (\n    <View>\n    <Pressable onPress={disPlayModal}>\n        <MCATextField editable={false} data={data} valueString={(entries.length > 0) ? \" \" + entries.length + \" item(s)\" : \"\"} />\n    </Pressable>\n    <Modal visible={showModal}>\n        <View style={customStyles.appContainer}>\n            <Text style={{ marginVertical: 15, fontSize: 16, textAlign: \"center\", fontFamily: \"Raleway_500Medium\" }}>Item Info</Text>\n            <MCATextField onDataChange={updateName} data={{ \"label\": \"Name\", \"description\": \"Item name\", \"form_field\": { \"name\": \"none\" } }} />\n            <MCATextField onDataChange={updateAmount} data={{ \"label\": \"Amount\", \"description\": \"Item Amount\", \"form_field\": { \"name\": \"none\" } }} />\n            <View style={{ marginHorizontal: \"10%\", marginVertical: 20, flexDirection: \"row\" }}>\n                <View style={{ flex: 1, marginHorizontal: 10 }}>\n                    <Button title=\"Add\" color={colorPrimary} onPress={update} />\n                </View>\n                <View style={{ flex: 1, marginHorizontal: 10 }}>\n                    <Button title=\"Cancel\" color=\"red\" onPress={dismiss} />\n                </View>\n            </View>\n\n            {\n                (entries.length > 0) ?\n                    (<View style={{ flex: 1 }}>\n                        <Text style={{ marginVertical: 12, fontFamily: \"Raleway_500Medium\" }}> Items</Text>\n                        <FlatList data={entries} renderItem={(itemData:any) => {\n                            let item = itemData.item\n\n\n                            function deleteItem() {\n                                setEntries(currentEntries => {\n                                    return currentEntries.filter((entry:any) => entry.id !== item.id)\n                                })\n                            }\n\n\n                            return (\n                                <View style={{ flexDirection: \"row\", alignItems: \"center\", borderRadius: 6, paddingHorizontal: 12, paddingVertical: 10, backgroundColor: \"#F4F3FF\", marginVertical: 2 }}>\n                                    <View>\n                                        <Text style={{ fontFamily: \"Raleway_400Regular\", color: \"#667085\", fontSize: 12, marginBottom: 5 }}>Name</Text>\n                                        <Text style={{ fontFamily: \"Raleway_400Regular\", fontSize: 16 }}>{item.name}</Text>\n                                    </View>\n                                    <View style={{ flex: 1 }} />\n                                    <View >\n                                        <Text style={{ fontFamily: \"Raleway_400Regular\", color: \"#667085\", fontSize: 12, marginBottom: 5 }}>Amount</Text>\n                                        <Text style={{ fontFamily: \"Raleway_400Regular\" }}>N {item.amount}</Text>\n                                    </View>\n\n\n                                    <View style={{ flex: 1 }} />\n                                    <Pressable onPress={deleteItem} style={{ padding: 6 }}>\n                                        <Image resizeMode=\"center\" source={require(\"../assets/delete.png\")} style={{ width: 25, height: 25 }} />\n                                    </Pressable>\n                                </View>\n                            );\n                        }} />\n                    </View>)\n                    :\n                    (<View></View>)\n\n            }\n\n        </View>\n    </Modal>\n</View>\n  )\n}\n\nexport default ItemPair\n","import { Button, View, Text } from \"react-native\";\nimport MCALayout from \"./MCALayout\";\nimport { colorPrimary } from \"../theme/colors\";\nimport React from 'react'\n\nconst SuccessScreen = (props:any) => {\n    console.log(\"Message\");\n    console.log(props);\n    console.log(props,message);\n    var message = props.message || \"Lorem Ipsum\"\n\n    function onDone() {\n        props.onDonePressed()\n    }\n  return (\n    <MCALayout>\n            <View style={{ flex: 1, justifyContent: \"center\", alignItems: \"center\" }}>\n\n                <Text style={{ fontFamily: \"Raleway_500Medium\", fontSize: 18, textAlign: \"center\" }}>\n                    {message}\n                </Text>\n            </View>\n            <Button title=\"Done\" color={colorPrimary} onPress={onDone} />\n        </MCALayout>\n  )\n}\n\nexport default SuccessScreen","import React, { useState } from \"react\";\nimport { View, Text, StyleSheet, Image, Button, Alert, ActivityIndicator } from \"react-native\";\nimport MCALayout from \"../../components/MCALayout\";\nimport { useApiKeyStore } from \"../../store/urlApiKeyStore\";\nimport SuccessScreen from \"../../components/SuccessScreen\";\nimport { colorGreyOverlay } from \"../../theme/colors\";\n\ntype PaymentOptionProps = {\n  navigation: any; // You can replace `any` with the actual navigation prop type\n  route: any; // You can replace `any` with the actual route prop type\n};\n\ntype PaymentDetails = {\n  responseCode: number;\n  data: {\n      message: string;\n      bank: string;\n      account_number: string;\n      amount: string;\n      [key: string]: any;\n  };\n};\n\nconst PaymentOptionScreen : React.FC<PaymentOptionProps> = ({ navigation, route })=> {\n  const [loading, setLoading] = useState<boolean>(false);\n    const [buttonText, setButtonText] = useState<string>(\"Get Covered\");\n    const [paymentDetails, setPaymentDetails] = useState<PaymentDetails | null>(null);\n    const [paymentResponse, setPaymentResponse] = useState<any>(null);\n    const [paymentVerified, setPaymentVerified] = useState<boolean>(false);\n    const [message, setMessage] = useState<string>(\"Sending request...\");\n    const [paymentString, _] = useState<string>(\"bank transfer\");\n    const { apiKey, baseUrl } = useApiKeyStore();\n    const { instanceId } = useApiKeyStore();\n\n    let product = route.params.data.product;\n    let formData = route.params.data.form;\n\n    const failedDialog = (message: string) => {\n        Alert.alert(\"Transaction Failed\", message);\n    };\n\n    const initiatePurchase = () => {\n        formData[\"product_id\"] = product[\"id\"];\n\n        let payload = {\n            // instance_id: global.instanceId,\n            instance_id: instanceId,\n            \"payment_channel\": {\n                channel: paymentString\n            },\n            payload: formData\n        };\n\n        setLoading(true);\n\n        let url = baseUrl + \"/v1/sdk/initiate-purchase\";\n\n        const headers = { \"Authorization\": \"Bearer \" + apiKey, \"Content-Type\": \"application/json\" };\n\n        let jsonBody = JSON.stringify(payload);\n\n        fetch(url, { method: \"POST\", headers: headers, body: jsonBody })\n            .then((response) => response.json())\n            .then((json) => {\n                if (json[\"responseCode\"] == 1) {\n                    setButtonText(\"I have sent the money\");\n                    setPaymentDetails(json);\n                } else {\n                    failedDialog(json[\"responseText\"]);\n                }\n            }).catch((_) => { })\n            .finally(() => setLoading(false));\n    };\n//error here _\n    const verifyPayment = () => {\n        setMessage(\"Verifying transaction...\");\n        setLoading(true);\n\n        let url = baseUrl + \"/v1/sdk/verify-transaction\";\n\n        let body = JSON.stringify({\n            transaction_reference: paymentDetails!.data.reference\n        });\n\n        let headers = { \"Authorization\": \"Bearer \" + apiKey, \"Content-Type\": \"application/json\" };\n\n        fetch(url, { method: \"POST\", headers: headers, body: body })\n            .then((response) => response.json())\n            .then((json) => {\n                if (json[\"responseCode\"] == 1) {\n                    setPaymentResponse(json[\"data\"]);\n                    setPaymentVerified(true);\n                } else {\n                    Alert.alert(\"Unable to Verify\", json[\"responseText\"]);\n                }\n            })\n            .catch((error) => { console.log(error); })\n            .finally(() => setLoading(false));\n    };\n\n    const navigateToNext = () => {\n        navigation.navigate(\"ProductForm\", { data: product, formData: formData, transactionRef: paymentResponse.reference });\n    };\n\n    var hasSubmitted = paymentDetails && paymentDetails.responseCode == 1;\n\n    const renderLayout = () => {\n        if (paymentDetails && paymentDetails.responseCode == 1) {\n            let bankDetails = paymentDetails.data;\n            return (\n                <View style={{ flex: 1, marginVertical: 8, backgroundColor: \"#F9FAFB\" }}>\n                    <View style={{ flex: 5, alignItems: \"center\", justifyContent: \"center\" }}>\n                        <Text style={{ fontFamily: \"Raleway_400Regular\", marginVertical: 12, color: \"green\" }}>{bankDetails.message}</Text>\n                        <View\n                            style={{\n                                width: \"80%\",\n                                marginVertical: 12,\n                                borderBottomColor: '#D0D5DD',\n                                borderBottomWidth: StyleSheet.hairlineWidth,\n                            }}\n                        />\n                        <Text style={{ fontFamily: \"Raleway_700Bold\", textAlign: \"center\", fontSize: 25, fontWeight: \"600\", marginVertical: 12 }}>{bankDetails.bank + \"\\n\" + bankDetails.account_number}</Text>\n                        <View\n                            style={{\n                                width: \"80%\",\n                                marginVertical: 12,\n                                borderBottomColor: '#D0D5DD',\n                                borderBottomWidth: StyleSheet.hairlineWidth,\n                            }}\n                        />\n                    </View>\n                    <View style={{ flex: 3 }}></View>\n                </View>\n            );\n        }\n\n        return (\n            <View style={{ flex: 1 }}>\n                <Text style={{ marginTop: 18, fontSize: 18, fontFamily: \"Raleway_700Bold\" }}>Select Payment Method</Text>\n                <Text style={{ color: \"#667085\", marginTop: 5, marginBottom: 15, fontSize: 14, fontFamily: \"Raleway_400Regular\" }} >Choose an option to proceed</Text>\n\n                <PaymentOptionCard imagePath={require(\"../../assets/transfer.png\")} selected={paymentString == \"bank transfer\"} title=\"Transfer\" sub=\"Send to bank account\" />\n                <View style={{ opacity: 0.2 }}>\n                    <PaymentOptionCard imagePath={require(\"../../assets/ussd.png\")} selected={paymentString == \"ussd\"} title=\"USSD\" sub=\"Select any bank to generate USSD\" />\n                </View>\n            </View>\n        );\n    };\n\n    const handleButtonBehavior = () => {\n        if (!hasSubmitted) {\n            initiatePurchase();\n        } else {\n            verifyPayment();\n        }\n    };\n    if (paymentVerified) {\n      return (\n          <SuccessScreen message={\"Payment Verified,\\nplease fill out the remaining fields\"} onDonePressed={navigateToNext} />\n      );\n  }\n    return (\n      <View style={{ flex: 1 }}>\n          <MCALayout>\n              <View style={{ flex: 1, flexDirection: \"column\" }}>\n                  <View style={{ flex: 1 }}>\n                      <View style={styles.bio}>\n                          <Text style={{ fontSize: 16, fontFamily: \"Raleway_500Medium\", }}>{hasSubmitted ? formData.email : product.name}</Text>\n                          <Text style={{ fontFamily: \"Raleway_400Regular\", color: \"#98A2B3\" }}>{hasSubmitted ? \"N\" + paymentDetails?.data.amount : formData.email}</Text>\n                      </View>\n                      {renderLayout()}\n                  </View>\n                  <Button title={buttonText} onPress={handleButtonBehavior} color=\"#3BAA90\" />\n              </View>\n          </MCALayout>\n  \n          {loading &&\n              <View style={{ zIndex: 2, flex: 1, height: \"100%\", width: \"100%\", marginTop: \"6%\", position: \"absolute\", justifyContent: \"center\", alignItems: \"center\", backgroundColor: colorGreyOverlay }}>\n                  <ActivityIndicator style={{ margin: 12, borderColor: \"#3BAA90\" }} animating={true} />\n                  <Text style={{ fontFamily: \"Raleway_500Medium\", margin: 12, fontSize: 16, color: \"white\" }}>{message}</Text>\n              </View>\n          }\n      </View>\n  );\n  \n}\n\n\n\nconst styles = StyleSheet.create({\n  bio: {\n      padding: 8,\n      marginVertical: 8,\n      alignItems: \"flex-end\",\n      backgroundColor: \"#F6FEF9\",\n      borderRadius: 5,\n  }\n});\n\nexport default PaymentOptionScreen\n\nexport function PaymentOptionCard(props: { imagePath: any; selected: boolean; title: string; sub: string; }) {\n  const style = StyleSheet.create({\n      card: {\n          marginVertical: 8,\n          flexDirection: \"row\",\n          paddingVertical: 12,\n          borderWidth: 1,\n          paddingHorizontal: 8,\n          borderColor: \"#667085\",\n          borderRadius: 5\n      },\n      cardSelected: {\n          marginVertical: 8,\n          flexDirection: \"row\",\n          paddingVertical: 12,\n          borderWidth: 1,\n          paddingHorizontal: 8,\n          borderColor: \"#3BAA90\",\n          borderRadius: 5\n      }\n  });\n  const selected = props.selected;\n  return (\n      <View style={selected ? style.cardSelected : style.card}>\n          <Image source={props.imagePath} />\n          <View style={{ marginHorizontal: 12 }}>\n              <Text style={{ fontWeight: \"600\", fontFamily: \"Raleway_500Medium\", fontSize: 15 }}>{props.title}</Text>\n              <Text style={{ marginTop: 5, fontSize: 12, fontFamily: \"Raleway_400Regular\" }}>{props.sub}</Text>\n          </View>\n      </View>\n  );\n}"],"mappings":"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","names":["React","useEffect","React","useWindowDimensions","View","Image","React","View","Image","View","Image","useWindowDimensions","ScrollView","RenderHTML","React","useWindowDimensions","View","Image","ScrollView","RenderHTML","View","Image","useWindowDimensions","ScrollView","RenderHTML","React","useWindowDimensions","View","Image","ScrollView","RenderHTML","React","useWindowDimensions","React","useState","Alert","Button","Image","Text","View","ScrollView","View","Text","useState","View","React","useState","_","View","React","View","Text","useState","Pressable","React","useState","date","Pressable","Pressable","useState","React","Pressable","Button","Pressable","View","Text","Image","useState","React","useState","View","Pressable","Text","Button","Image","Button","View","Text","React","View","Text","Button","useState","chunkedFields","formData","Alert","React","ScrollView","View","Text","Button","Image","React","useState","View","Text","StyleSheet","Image","Button","Alert","ActivityIndicator","useState","message","Alert","_","React","View","Text","StyleSheet","Button","ActivityIndicator","Image","useEffect","React","ProductListScreen"]}