| 'use client' |
| import { |
| PortalToFollowElem, |
| PortalToFollowElemContent, |
| PortalToFollowElemTrigger, |
| } from '@/app/components/base/portal-to-follow-elem' |
| import type { PortalToFollowElemOptions } from '@/app/components/base/portal-to-follow-elem' |
|
|
| type IFloatRightContainerProps = { |
| isMobile: boolean |
| open: boolean |
| toggle: () => void |
| triggerElement?: React.ReactNode |
| children?: React.ReactNode |
| } & PortalToFollowElemOptions |
|
|
| const FloatRightContainer = ({ open, toggle, triggerElement, isMobile, children, ...portalProps }: IFloatRightContainerProps) => { |
| return ( |
| <> |
| {isMobile && ( |
| <PortalToFollowElem open={open} {...portalProps}> |
| <PortalToFollowElemTrigger onClick={toggle}> |
| {triggerElement} |
| </PortalToFollowElemTrigger> |
| <PortalToFollowElemContent> |
| {children} |
| </PortalToFollowElemContent> |
| </PortalToFollowElem> |
| )} |
| {!isMobile && open && ( |
| <>{children}</> |
| )} |
| </> |
| ) |
| } |
|
|
| export default FloatRightContainer |
|
|