feat: enhance PrerenderHome layout with responsive placeholders

- Updated PrerenderHome component to improve layout responsiveness with additional padding and margin adjustments.
- Added invisible placeholders for SearchBar and ButtonGroup to maintain layout consistency across different screen sizes.
- Enhanced styling for child components to ensure proper alignment and spacing in both mobile and desktop views.
This commit is contained in:
sebseb7
2025-08-31 06:43:20 +02:00
parent 6a144f7441
commit 64bf798843

View File

@@ -28,31 +28,94 @@ class PrerenderHome extends React.Component {
{ position: 'sticky', color: 'primary', elevation: 0, sx: { zIndex: 1100 } }, { position: 'sticky', color: 'primary', elevation: 0, sx: { zIndex: 1100 } },
React.createElement( React.createElement(
Toolbar, Toolbar,
{ sx: { minHeight: 64 } }, { sx: { minHeight: 64, py: { xs: 0.5, sm: 0 } } },
React.createElement( React.createElement(
Container, Container,
{ maxWidth: 'lg', sx: { display: 'flex', alignItems: 'center' } }, { maxWidth: 'lg', sx: {
display: 'flex',
alignItems: 'center',
px: { xs: 0, sm: 3 }
} },
React.createElement( React.createElement(
Box, Box,
{ {
sx: { sx: {
display: 'flex', display: 'flex',
alignItems: 'center', alignItems: 'center',
width: '100%', width: '100%',
flexDirection: { xs: 'column', sm: 'row' } flexDirection: { xs: 'column', sm: 'row' }
} }
}, },
React.createElement( React.createElement(
Box, Box,
{ {
sx: { sx: {
display: 'flex', display: 'flex',
alignItems: 'center', alignItems: 'center',
width: '100%', width: '100%',
justifyContent: { xs: 'space-between', sm: 'flex-start' } justifyContent: { xs: 'space-between', sm: 'flex-start' },
minHeight: { xs: 52, sm: 'auto' },
px: { xs: 0, sm: 0 }
} }
}, },
React.createElement(Logo) React.createElement(Logo),
// Invisible SearchBar placeholder on desktop
React.createElement(
Box,
{
sx: {
display: { xs: 'none', sm: 'block' },
flexGrow: 1,
height: 41, // Reserve space for SearchBar
opacity: 0 // Invisible placeholder
}
}
),
// Invisible ButtonGroup placeholder
React.createElement(
Box,
{
sx: {
display: 'flex',
alignItems: { xs: 'flex-end', sm: 'center' },
transform: { xs: 'translateY(4px) translateX(9px)', sm: 'none' },
ml: { xs: 0, sm: 0 },
gap: { xs: 0.5, sm: 1 },
opacity: 0 // Invisible placeholder
}
},
// Placeholder for LanguageSwitcher (approx width)
React.createElement(
Box,
{ sx: { width: 40, height: 40 } }
),
// Placeholder for LoginComponent (approx width)
React.createElement(
Box,
{ sx: { width: 40, height: 40 } }
),
// Placeholder for Cart button (approx width)
React.createElement(
Box,
{ sx: { width: 48, height: 40, ml: 1 } }
)
)
),
// Invisible SearchBar placeholder on mobile
React.createElement(
Box,
{
sx: {
display: { xs: 'block', sm: 'none' },
width: '100%',
mt: { xs: 1, sm: 0 },
mb: { xs: 0.5, sm: 0 },
px: { xs: 0, sm: 0 },
height: 41, // Reserve space for SearchBar
opacity: 0 // Invisible placeholder
}
}
) )
) )
) )