mirror of
https://github.com/D4M13N-D3V/comissions-app-ui.git
synced 2025-03-13 07:45:07 +00:00
220 lines
6.7 KiB
TypeScript
220 lines
6.7 KiB
TypeScript
import * as React from 'react';
|
|
import Box from '@mui/material/Box';
|
|
import Button from '@mui/material/Button';
|
|
import Card from '@mui/material/Card';
|
|
import Chip from '@mui/material/Chip';
|
|
import CardActions from '@mui/material/CardActions';
|
|
import CardContent from '@mui/material/CardContent';
|
|
import Container from '@mui/material/Container';
|
|
import Divider from '@mui/material/Divider';
|
|
import Grid from '@mui/material/Grid';
|
|
import Typography from '@mui/material/Typography';
|
|
import AutoAwesomeIcon from '@mui/icons-material/AutoAwesome';
|
|
import CheckCircleRoundedIcon from '@mui/icons-material/CheckCircleRounded';
|
|
|
|
const tiers = [
|
|
{
|
|
title: 'Free',
|
|
price: '0',
|
|
description: [
|
|
'10 users included',
|
|
'2 GB of storage',
|
|
'Help center access',
|
|
'Email support',
|
|
],
|
|
buttonText: 'Sign up for free',
|
|
buttonVariant: 'outlined',
|
|
},
|
|
{
|
|
title: 'Professional',
|
|
subheader: 'Recommended',
|
|
price: '15',
|
|
description: [
|
|
'20 users included',
|
|
'10 GB of storage',
|
|
'Help center access',
|
|
'Priority email support',
|
|
'Dedicated team',
|
|
'Best deals',
|
|
],
|
|
buttonText: 'Start now',
|
|
buttonVariant: 'contained',
|
|
},
|
|
{
|
|
title: 'Enterprise',
|
|
price: '30',
|
|
description: [
|
|
'50 users included',
|
|
'30 GB of storage',
|
|
'Help center access',
|
|
'Phone & email support',
|
|
],
|
|
buttonText: 'Contact us',
|
|
buttonVariant: 'outlined',
|
|
},
|
|
];
|
|
|
|
export default function Pricing() {
|
|
return (
|
|
<Container
|
|
id="pricing"
|
|
sx={{
|
|
pt: { xs: 4, sm: 12 },
|
|
pb: { xs: 8, sm: 16 },
|
|
position: 'relative',
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
alignItems: 'center',
|
|
gap: { xs: 3, sm: 6 },
|
|
}}
|
|
>
|
|
<Box
|
|
sx={{
|
|
width: { sm: '100%', md: '60%' },
|
|
textAlign: { sm: 'left', md: 'center' },
|
|
}}
|
|
>
|
|
<Typography component="h2" variant="h4" color="text.primary">
|
|
Pricing
|
|
</Typography>
|
|
<Typography variant="body1" color="text.secondary">
|
|
Quickly build an effective pricing table for your potential customers with
|
|
this layout. <br />
|
|
It's built with default Material UI components with little
|
|
customization.
|
|
</Typography>
|
|
</Box>
|
|
<Grid container spacing={3} alignItems="center" justifyContent="center">
|
|
{tiers.map((tier) => (
|
|
<Grid
|
|
item
|
|
key={tier.title}
|
|
xs={12}
|
|
sm={tier.title === 'Enterprise' ? 12 : 6}
|
|
md={4}
|
|
>
|
|
<Card
|
|
sx={{
|
|
p: 2,
|
|
display: 'flex',
|
|
flexDirection: 'column',
|
|
gap: 4,
|
|
border: tier.title === 'Professional' ? '1px solid' : undefined,
|
|
borderColor:
|
|
tier.title === 'Professional' ? 'primary.main' : undefined,
|
|
background:
|
|
tier.title === 'Professional'
|
|
? 'linear-gradient(#033363, #021F3B)'
|
|
: undefined,
|
|
}}
|
|
>
|
|
<CardContent>
|
|
<Box
|
|
sx={{
|
|
mb: 1,
|
|
display: 'flex',
|
|
justifyContent: 'space-between',
|
|
alignItems: 'center',
|
|
color:
|
|
tier.title === 'Professional' ? 'primary.contrastText' : '',
|
|
}}
|
|
>
|
|
<Typography component="h3" variant="h6">
|
|
{tier.title}
|
|
</Typography>
|
|
{tier.title === 'Professional' && (
|
|
<Chip
|
|
icon={<AutoAwesomeIcon />}
|
|
label={tier.subheader}
|
|
size="small"
|
|
sx={{
|
|
background: (theme) =>
|
|
theme.palette.mode === 'light' ? '' : 'none',
|
|
backgroundColor: 'primary.contrastText',
|
|
'& .MuiChip-label': {
|
|
color: 'primary.dark',
|
|
},
|
|
'& .MuiChip-icon': {
|
|
color: 'primary.dark',
|
|
},
|
|
}}
|
|
/>
|
|
)}
|
|
</Box>
|
|
<Box
|
|
sx={{
|
|
display: 'flex',
|
|
alignItems: 'baseline',
|
|
color:
|
|
tier.title === 'Professional'
|
|
? 'primary.contrastText'
|
|
: undefined,
|
|
}}
|
|
>
|
|
<Typography component="h3" variant="h2">
|
|
${tier.price}
|
|
</Typography>
|
|
<Typography component="h3" variant="h6">
|
|
per month
|
|
</Typography>
|
|
</Box>
|
|
<Divider
|
|
sx={{
|
|
my: 2,
|
|
opacity: 0.2,
|
|
borderColor: 'grey.500',
|
|
}}
|
|
/>
|
|
{tier.description.map((line) => (
|
|
<Box
|
|
key={line}
|
|
sx={{
|
|
py: 1,
|
|
display: 'flex',
|
|
gap: 1.5,
|
|
alignItems: 'center',
|
|
}}
|
|
>
|
|
<CheckCircleRoundedIcon
|
|
sx={{
|
|
width: 20,
|
|
color:
|
|
tier.title === 'Professional'
|
|
? 'primary.light'
|
|
: 'primary.main',
|
|
}}
|
|
/>
|
|
<Typography
|
|
component="text"
|
|
variant="subtitle2"
|
|
sx={{
|
|
color:
|
|
tier.title === 'Professional'
|
|
? 'primary.contrastText'
|
|
: undefined,
|
|
}}
|
|
>
|
|
{line}
|
|
</Typography>
|
|
</Box>
|
|
))}
|
|
</CardContent>
|
|
<CardActions>
|
|
<Button
|
|
fullWidth
|
|
variant={tier.buttonVariant as 'outlined' | 'contained'}
|
|
component="a"
|
|
href="/material-ui/getting-started/templates/checkout/"
|
|
target="_blank"
|
|
>
|
|
{tier.buttonText}
|
|
</Button>
|
|
</CardActions>
|
|
</Card>
|
|
</Grid>
|
|
))}
|
|
</Grid>
|
|
</Container>
|
|
);
|
|
}
|