landing page ui revamp

This commit is contained in:
Joel Mathew Thomas
2025-03-21 16:50:13 +05:30
parent 5a76fd4708
commit 14a9f16b04
+107 -10
View File
@@ -8,17 +8,24 @@ import {
Card, Card,
CardContent, CardContent,
Grid, Grid,
useTheme useTheme,
Slide,
Zoom,
} from '@mui/material'; } from '@mui/material';
import { import {
CloudUpload as CloudUploadIcon, CloudUpload as CloudUploadIcon,
PlayArrow as PlayArrowIcon, PlayArrow as PlayArrowIcon,
Check as CheckIcon Check as CheckIcon,
GraphicEq as GraphicEqIcon,
NoiseAware as NoiseAwareIcon,
MusicNote as MusicNoteIcon,
} from '@mui/icons-material'; } from '@mui/icons-material';
import { useState } from 'react';
function LandingPage() { function LandingPage() {
const navigate = useNavigate(); const navigate = useNavigate();
const theme = useTheme(); const theme = useTheme();
const [showContent, setShowContent] = useState(true);
return ( return (
<Box <Box
@@ -33,6 +40,7 @@ function LandingPage() {
}} }}
> >
<Container maxWidth="md"> <Container maxWidth="md">
<Slide direction="down" in={showContent} mountOnEnter unmountOnExit>
<Paper <Paper
elevation={3} elevation={3}
sx={{ sx={{
@@ -60,46 +68,135 @@ function LandingPage() {
</Button> </Button>
</Box> </Box>
</Paper> </Paper>
</Slide>
<Grid container spacing={4} sx={{ mt: 4 }}> <Grid container spacing={4} sx={{ mt: 4, justifyContent: 'center' }}>
<Grid item xs={12} md={4}> <Grid item xs={12} md={4}>
<Card sx={{ height: '100%' }}> <Zoom in={showContent} style={{ transitionDelay: '100ms' }}>
<Card
sx={{
height: '100%',
transition: 'transform 0.3s ease-in-out',
'&:hover': { transform: 'scale(1.05)' },
}}
>
<CardContent sx={{ textAlign: 'center' }}> <CardContent sx={{ textAlign: 'center' }}>
<CloudUploadIcon color="primary" sx={{ fontSize: 60, mb: 2 }} /> <CloudUploadIcon color="primary" sx={{ fontSize: 60, mb: 2 }} />
<Typography variant="h5" gutterBottom> <Typography variant="h5" gutterBottom>
Easy Upload Upload or Record
</Typography> </Typography>
<Typography variant="body1" color="textSecondary"> <Typography variant="body1" color="textSecondary">
Drag and drop your media files for quick processing Drag and drop your media files or record directly for quick processing.
</Typography> </Typography>
</CardContent> </CardContent>
</Card> </Card>
</Zoom>
</Grid> </Grid>
<Grid item xs={12} md={4}> <Grid item xs={12} md={4}>
<Card sx={{ height: '100%' }}> <Zoom in={showContent} style={{ transitionDelay: '200ms' }}>
<Card
sx={{
height: '100%',
transition: 'transform 0.3s ease-in-out',
'&:hover': { transform: 'scale(1.05)' },
}}
>
<CardContent sx={{ textAlign: 'center' }}> <CardContent sx={{ textAlign: 'center' }}>
<PlayArrowIcon color="primary" sx={{ fontSize: 60, mb: 2 }} /> <PlayArrowIcon color="primary" sx={{ fontSize: 60, mb: 2 }} />
<Typography variant="h5" gutterBottom> <Typography variant="h5" gutterBottom>
Preview Media Preview Media
</Typography> </Typography>
<Typography variant="body1" color="textSecondary"> <Typography variant="body1" color="textSecondary">
Review your files before processing Review your files before processing.
</Typography> </Typography>
</CardContent> </CardContent>
</Card> </Card>
</Zoom>
</Grid> </Grid>
<Grid item xs={12} md={4}> <Grid item xs={12} md={4}>
<Card sx={{ height: '100%' }}> <Zoom in={showContent} style={{ transitionDelay: '300ms' }}>
<Card
sx={{
height: '100%',
transition: 'transform 0.3s ease-in-out',
'&:hover': { transform: 'scale(1.05)' },
}}
>
<CardContent sx={{ textAlign: 'center' }}> <CardContent sx={{ textAlign: 'center' }}>
<CheckIcon color="primary" sx={{ fontSize: 60, mb: 2 }} /> <CheckIcon color="primary" sx={{ fontSize: 60, mb: 2 }} />
<Typography variant="h5" gutterBottom> <Typography variant="h5" gutterBottom>
View Results View Results
</Typography> </Typography>
<Typography variant="body1" color="textSecondary"> <Typography variant="body1" color="textSecondary">
Download and share your processed media Download and share your processed media.
</Typography> </Typography>
</CardContent> </CardContent>
</Card> </Card>
</Zoom>
</Grid>
<Grid item xs={12} md={4}>
<Zoom in={showContent} style={{ transitionDelay: '400ms' }}>
<Card
sx={{
height: '100%',
transition: 'transform 0.3s ease-in-out',
'&:hover': { transform: 'scale(1.05)' },
}}
>
<CardContent sx={{ textAlign: 'center' }}>
<GraphicEqIcon color="primary" sx={{ fontSize: 60, mb: 2 }} />
<Typography variant="h5" gutterBottom>
Audio Source Separation (Demucs)
</Typography>
<Typography variant="body1" color="textSecondary">
Separate audio sources with state-of-the-art Demucs.
</Typography>
</CardContent>
</Card>
</Zoom>
</Grid>
<Grid item xs={12} md={4}>
<Zoom in={showContent} style={{ transitionDelay: '500ms' }}>
<Card
sx={{
height: '100%',
transition: 'transform 0.3s ease-in-out',
'&:hover': { transform: 'scale(1.05)' },
}}
>
<CardContent sx={{ textAlign: 'center' }}>
<NoiseAwareIcon color="primary" sx={{ fontSize: 60, mb: 2 }} />
<Typography variant="h5" gutterBottom>
Noise Reduction (DeepFilterNet)
</Typography>
<Typography variant="body1" color="textSecondary">
Reduce noise effectively using DeepFilterNet.
</Typography>
</CardContent>
</Card>
</Zoom>
</Grid>
<Grid item xs={12} md={4}>
<Zoom in={showContent} style={{ transitionDelay: '600ms' }}>
<Card
sx={{
height: '100%',
transition: 'transform 0.3s ease-in-out',
'&:hover': { transform: 'scale(1.05)' },
}}
>
<CardContent sx={{ textAlign: 'center' }}>
<MusicNoteIcon color="primary" sx={{ fontSize: 60, mb: 2 }} />
<Typography variant="h5" gutterBottom>
Audio Processing (Librosa)
</Typography>
<Typography variant="body1" color="textSecondary">
Advanced audio processing and manipulation with Librosa.
</Typography>
</CardContent>
</Card>
</Zoom>
</Grid> </Grid>
</Grid> </Grid>
</Container> </Container>