1- import { useState } from 'react' ;
21import IconButton from '@mui/material/IconButton' ;
32import Box from '@mui/material/Box' ;
3+ import FullscreenIcon from '@mui/icons-material/Fullscreen' ;
44import { InfoCard , InfoCardVariants } from '@backstage/core-components' ;
55import { FetchComponent } from '../FetchComponent' ;
6- import OpenInNewIcon from '@mui/icons-material/OpenInNew' ;
76import { ReadmeDialog } from '../ReadmeDialog/ReadmeDialog' ;
7+ import { useFullViewParam } from '../../hooks/useFullViewParam' ;
88
99/**
1010 * ReadmeCardProps props.
1111 *
1212 * @public
1313 */
14-
1514export type ReadmeCardProps = {
1615 variant ?: InfoCardVariants ;
1716 maxHeight ?: string | number ;
1817} ;
1918
2019export const ReadmeCard = ( props : ReadmeCardProps ) => {
2120 const { variant = 'gridItem' , maxHeight : propMaxHeight } = props ;
21+ const [ isFullViewOpen , setIsFullViewOpen ] = useFullViewParam ( ) ;
22+
2223 const maxHeight =
2324 variant === 'fullHeight' ? 'none' : propMaxHeight ?? '235px' ;
2425
25- const [ displayDialog , setDisplayDialog ] = useState ( false ) ;
26-
2726 return (
2827 < >
2928 < InfoCard
@@ -32,13 +31,12 @@ export const ReadmeCard = (props: ReadmeCardProps) => {
3231 action = {
3332 variant !== 'fullHeight' ? (
3433 < IconButton
35- onClick = { ( ) => setDisplayDialog ( true ) }
36- aria-label = "open dialog"
37- role = "button"
38- title = "Open in dialog"
34+ onClick = { ( ) => setIsFullViewOpen ( true ) }
35+ aria-label = "Open full view"
36+ title = "Open full view"
3937 size = "large"
4038 >
41- < OpenInNewIcon />
39+ < FullscreenIcon />
4240 </ IconButton >
4341 ) : undefined
4442 }
@@ -51,8 +49,8 @@ export const ReadmeCard = (props: ReadmeCardProps) => {
5149 </ InfoCard >
5250
5351 < ReadmeDialog
54- open = { displayDialog }
55- onClose = { ( ) => setDisplayDialog ( false ) }
52+ open = { isFullViewOpen }
53+ onClose = { ( ) => setIsFullViewOpen ( false ) }
5654 />
5755 </ >
5856 ) ;
0 commit comments