1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-07-17 13:46:47 +02:00

fix: invalid HTML and react errors in insights pages (#6593)

This PR fixes these errors (that were showing up in the dev console) in
the insights pages:
- nesting a div within a p in the count header (flags, environments,
apps); instead flip the relationship and nest the p within the div
- missing keys in mapped components
- passing a boolean "scrolled" value to the underlying component (a div)
is invalid: instead, make it so that that prop is not passed

The only one of these that could have a visual impact is the first one
(p>div -> div>p), but it appears to be the same to me.

Here's before the change:

![image](https://github.com/Unleash/unleash/assets/17786332/ffffd3cc-1236-458f-8449-3310b0044f14)



And here's after:

![image](https://github.com/Unleash/unleash/assets/17786332/9ad2d8f7-9f9e-492f-932e-a194683b1d75)
This commit is contained in:
Thomas Heartman 2024-03-18 15:25:03 +01:00 committed by GitHub
parent a3d06bd57f
commit c2015c6f33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 27 additions and 27 deletions

View File

@ -49,16 +49,16 @@ const ChartWidget = styled(Widget)(({ theme }) => ({
}, },
})); }));
const StickyWrapper = styled(Box)<{ scrolled?: boolean }>( const StickyWrapper = styled(Box, {
({ theme, scrolled }) => ({ shouldForwardProp: (prop) => prop !== 'scrolled',
})<{ scrolled?: boolean }>(({ theme, scrolled }) => ({
position: 'sticky', position: 'sticky',
top: 0, top: 0,
zIndex: 1000, zIndex: 1000,
padding: scrolled ? theme.spacing(2, 0) : theme.spacing(0, 0, 2), padding: scrolled ? theme.spacing(2, 0) : theme.spacing(0, 0, 2),
background: theme.palette.background.application, background: theme.palette.background.application,
transition: 'padding 0.3s ease', transition: 'padding 0.3s ease',
}), }));
);
export const ExecutiveDashboard: VFC = () => { export const ExecutiveDashboard: VFC = () => {
const [scrolled, setScrolled] = useState(false); const [scrolled, setScrolled] = useState(false);

View File

@ -36,10 +36,9 @@ const InfoLine = ({
); );
const InfoSummary = ({ data }: { data: { key: string; value: number }[] }) => ( const InfoSummary = ({ data }: { data: { key: string; value: number }[] }) => (
<Typography variant={'body1'} component={'p'}>
<Box display={'flex'} flexDirection={'row'}> <Box display={'flex'} flexDirection={'row'}>
{data.map(({ key, value }) => ( {data.map(({ key, value }) => (
<div style={{ flex: 1, flexDirection: 'column' }}> <div style={{ flex: 1, flexDirection: 'column' }} key={key}>
<div <div
style={{ style={{
flex: 1, flex: 1,
@ -47,13 +46,14 @@ const InfoSummary = ({ data }: { data: { key: string; value: number }[] }) => (
marginBottom: '4px', marginBottom: '4px',
}} }}
> >
<Typography variant={'body1'} component={'p'}>
{key} {key}
</Typography>
</div> </div>
<div style={{ flex: 1, textAlign: 'center' }}>{value}</div> <div style={{ flex: 1, textAlign: 'center' }}>{value}</div>
</div> </div>
))} ))}
</Box> </Box>
</Typography>
); );
export const MetricsSummaryTooltip: VFC<{ tooltip: TooltipState | null }> = ({ export const MetricsSummaryTooltip: VFC<{ tooltip: TooltipState | null }> = ({

View File

@ -39,7 +39,7 @@ const InfoSummary = ({ data }: { data: { key: string; value: number }[] }) => (
<Typography variant={'body1'} component={'p'}> <Typography variant={'body1'} component={'p'}>
<Box display={'flex'} flexDirection={'row'}> <Box display={'flex'} flexDirection={'row'}>
{data.map(({ key, value }) => ( {data.map(({ key, value }) => (
<div style={{ flex: 1, flexDirection: 'column' }}> <div style={{ flex: 1, flexDirection: 'column' }} key={key}>
<div <div
style={{ style={{
flex: 1, flex: 1,