import React, { memo } from 'react'; import { View } from 'react-native'; import type { Style, StyleProps } from './types/genericTypes'; import { isSubscribedFulfilled } from './utils/dateUtils'; import { Header } from './components/Header'; import { Body } from './components/Body'; import { Footer } from './components/Footer'; import { ConditionalRendering } from './components/_common/ConditionalRednderer'; import { styles } from './resource/styles'; type itemStyle = { container?: Style; heading?: Style; body?: Style; footerHeadingText?: Style; footerContetntText?: Style; footer?: Style; }; interface MainViewProps extends StyleProps { children?: React.ReactNode; Heading?: React.ReactNode; Body?: React.ReactNode; Footer?: React.ReactNode; itemStyle?: itemStyle; validTill: Date; } const MainView = ({ children, style, itemStyle = { container: {}, footerContetntText: {}, footerHeadingText: {}, heading: {}, body: {}, footer: {}, }, validTill, Body: B, Footer: F, Heading: H, }: MainViewProps) => { if (!isSubscribedFulfilled({ activationDate: validTill })) { return <>{children}; } return (