import React, { useContext, useEffect } from 'react'; import { View, Popup, Popover, f7 } from 'framework7-react'; import { Device } from '../../../../../common/mobile/utils/device'; import { PageFunctionGroup, PageFunctionInfo } from "./AddFunction"; import { AddImageController } from "../../controller/add/AddImage"; import { PageImageLinkSettings } from "./AddImage"; import { AddLinkController } from "../../controller/add/AddLink"; import { EditLinkController } from "../../controller/edit/EditLink"; import { PageTypeLink, PageSheet } from "./AddLink"; import { PageEditTypeLink, PageEditSheet } from "../../view/edit/EditLink"; import AddFilterController from "../../controller/add/AddFilter"; import AddingPage from './AddingPage'; import { MainContext } from '../../page/main'; const routes = [ { path: '/adding-page/', component: AddingPage, }, // Functions { path: '/add-function-group/', component: PageFunctionGroup }, { path: '/add-function-info/', component: PageFunctionInfo }, // Image { path: '/add-image/', component: AddImageController }, { path: '/add-image-from-url/', component: PageImageLinkSettings }, // Link { path: '/add-link/', component: AddLinkController }, { path: '/add-link-type/', component: PageTypeLink }, { path: '/add-link-sheet/', component: PageSheet }, { path: '/edit-link/', component: EditLinkController }, { path: '/edit-link-type/', component: PageEditTypeLink }, { path: '/edit-link-sheet/', component: PageEditSheet }, // Other { path: '/add-sort-and-filter/', component: AddFilterController } ]; routes.forEach(route => { route.options = { ...route.options, transition: 'f7-push' }; }); const AddView = props => { const mainContext = useContext(MainContext); useEffect(() => { if(Device.phone) { f7.popup.open('.add-popup'); } else { const targetElem = !props.showOptions || !props.showOptions.button ? '#btn-add' : props.showOptions.button; f7.popover.open('#add-popover', targetElem); } }, []); return ( !Device.phone ? mainContext.closeOptions('add')}> : mainContext.closeOptions('add')}> ) } export default AddView;