22
33import { add_circle_filled , add_circle_outlined } from '@equinor/eds-icons'
44import type { PortableTextBlock } from '@portabletext/types'
5- import { forwardRef , useState } from 'react'
5+ import { forwardRef , useEffect , useState } from 'react'
66import { twMerge } from 'tailwind-merge'
77import { Image } from '@/core/Image/Image'
88import type { Image as ImageType } from '@/core/Image/imageUtilities'
@@ -24,6 +24,7 @@ export type ModalPromotionProps = {
2424 hasSectionTitle ?: boolean
2525 modalTitle ?: string
2626 modalContent ?: React . ReactNode
27+ initialOpen ?: boolean
2728 className ?: string
2829}
2930
@@ -49,18 +50,23 @@ export const ModalPromotion = forwardRef<HTMLDivElement, ModalPromotionProps>(
4950 hasSectionTitle = false ,
5051 modalTitle,
5152 modalContent,
53+ initialOpen = false ,
5254 } ,
5355 ref ,
5456 ) {
55- const [ isModalOpen , setIsModalOpen ] = useState ( false )
57+ const [ isModalOpen , setIsModalOpen ] = useState ( initialOpen )
5658 const plainText = getPlainText ( title )
5759 const plainIngress = getPlainText ( ingress )
5860
61+ useEffect ( ( ) => {
62+ if ( initialOpen ) setIsModalOpen ( true )
63+ } , [ initialOpen ] )
64+
5965 const handleOpenModal = ( e : React . MouseEvent ) => {
6066 e . preventDefault ( )
6167 const searchParams = new URLSearchParams ( )
6268 if ( plainText ) {
63- searchParams . set ( '# ' , encodeURIComponent ( plainText ) )
69+ searchParams . set ( 'person ' , encodeURIComponent ( plainText ) )
6470 }
6571 window . history . pushState ( { } , '' , `?${ searchParams . toString ( ) } ` )
6672 setIsModalOpen ( true )
0 commit comments