import React, { useState } from 'react'; import { ScrollView, View } from 'react-native'; import { LAUNCH_ROCKET } from '../../assets/images/assets'; import { useTracked } from '../../provider'; import { useUserStore } from '../../provider/stores'; import { DDS } from '../../services/DeviceDetection'; import { eSendEvent, presentSheet } from '../../services/EventManager'; import { getElevation } from '../../utils'; import { eOpenLoginDialog } from '../../utils/Events'; import { SIZE } from '../../utils/SizeUtils'; import { ActionIcon } from '../ActionIcon'; import { Button } from '../Button'; import GeneralSheet from '../GeneralSheet'; import { SvgToPngView } from '../ListPlaceholders'; import Seperator from '../Seperator'; import { Toast } from '../Toast'; import Heading from '../Typography/Heading'; import Paragraph from '../Typography/Paragraph'; import { features } from './features'; import { Group } from './group'; import { PricingPlans } from './pricing-plans'; export const Component = ({close, promo, getRef}) => { const [state, dispatch] = useTracked(); const colors = state.colors; const user = useUserStore(state => state.user); const [floatingButton, setFloatingButton] = useState(false); const onPress = async () => { if (user) { presentSheet({ context: 'pricing_plans', component: , }); } else { close(); setTimeout(() => { eSendEvent(eOpenLoginDialog, 1); }, 400); } }; const onScroll = event => { let contentSize = event.nativeEvent.contentSize.height; contentSize = contentSize - event.nativeEvent.layoutMeasurement.height; let yOffset = event.nativeEvent.contentOffset.y; if (yOffset > 600 && yOffset < contentSize - 400) { setFloatingButton(true); } else { setFloatingButton(false); } }; return ( { close(); }} customStyle={{ position: 'absolute', right: DDS.isTab ? 30 : 15, top: 30, zIndex: 10, width: 50, height: 50 }} color={colors.pri} name="close" /> Notesnook{' '} Pro Ready to take the next step on your private note taking journey?