// @flow // import type { RowDataItem } from 'homepages'; import * as ICONS from 'constants/icons'; import * as PAGES from 'constants/pages'; import { SITE_NAME } from 'config'; import classnames from 'classnames'; import React from 'react'; import Page from 'component/page'; import Button from 'component/button'; import ClaimTilesDiscover from 'component/claimTilesDiscover'; import Icon from 'component/common/icon'; import { useIsLargeScreen } from 'effects/use-screensize'; type Props = { authenticated: boolean, followedTags: Array, subscribedChannels: Array, showNsfw: boolean, homepageData: any, }; function HomePage(props: Props) { const { followedTags, subscribedChannels, authenticated, showNsfw, homepageData } = props; const isLargeScreen = useIsLargeScreen(); const showPersonalizedChannels = (authenticated || !IS_WEB) && subscribedChannels && subscribedChannels.length > 0; const showPersonalizedTags = (authenticated || !IS_WEB) && followedTags && followedTags.length > 0; const showIndividualTags = showPersonalizedTags && followedTags.length < 5; const { default: getHomepage } = homepageData; const rowData: Array = getHomepage( authenticated, showPersonalizedChannels, showPersonalizedTags, subscribedChannels, followedTags, showIndividualTags, showNsfw ); return ( {/* MAYBE NOT SIMPLESITE */} {(authenticated || !IS_WEB) && !subscribedChannels.length && (

{__("%SITE_NAME% is more fun if you're following channels", { SITE_NAME })}

)} {rowData.map(({ title, route, link, icon, help, options = {} }, index) => (
{index === 0 ? (
{title}
) : (

)} {link && (
))}
); } export default HomePage;