ntasicc преди 3 години
родител
ревизия
33ba9ff473
променени са 5 файла, в които са добавени 176 реда и са изтрити 0 реда
  1. 58
    0
      components/product-card/ProductCard.jsx
  2. 81
    0
      components/products-hero/ProductsHero.jsx
  3. 5
    0
      components/sort/Sort.jsx
  4. 32
    0
      pages/products/index.js
  5. Двоични данни
      public/images/product-card-image.jpg

+ 58
- 0
components/product-card/ProductCard.jsx Целия файл

@@ -0,0 +1,58 @@
import { Button, Typography } from '@mui/material';
import { Box } from '@mui/system';
import Image from 'next/image';

const ProductCard = () => {
return (
<Box
sx={{
width: '100%',
height: '590px',
border: 'none',
mb: '75px',
backgroundColor: '#F5ECD4',
}}
>
<Box width="100%">
<Image
src="/images/product-card-image.jpg"
alt="product image"
width={373.33}
height={249}
/>
</Box>
<Box
width="100%"
sx={{
display: 'flex',
flexDirection: 'column',
}}
>
<Typography fontSize="24px" align="center" pt={1} pb={3}>
MINIMALIST PRINTED MUG
</Typography>
<Typography align="center" fontSize="18px" m={2}>
Our simple and sturdy mugs are made to last. With a minimalist desings
you will soon be enjoying your next brew.
</Typography>
<Typography fontSize="24px" align="center" pt={4}>
$20
</Typography>
<Box textAlign="center" mt={1}>
<Button
sx={{
backgroundColor: '#CBA213',
height: 50,
width: 150,
color: 'white',
}}
>
Add to cart
</Button>
</Box>
</Box>
</Box>
);
};

export default ProductCard;

+ 81
- 0
components/products-hero/ProductsHero.jsx Целия файл

@@ -0,0 +1,81 @@
import { Container, Grid, Typography } from '@mui/material';
import { Box } from '@mui/system';
import ProductCard from '../product-card/ProductCard';
import Sort from '../sort/sort';

const ProductsHero = () => {
return (
<Box
sx={{
width: '100%',
height: '100%',
display: 'flex',
flexDirection: 'column',
}}
>
<Container
sx={{
width: '1273px',
height: '300px',
mt: 25,
}}
>
<Typography
fontFamily={'body1.fontFamily'}
height="120px"
fontSize="64px"
align="center"
color="primary.main"
>
Welcome to our Store!
</Typography>
<Typography fontSize="24px" align="center">
Our focus is to bring you the very best in the world of coffee.
Everything from fresh coffee beans, the best coffee powders and
capsules as well as other miscellaneous items such as cups and mugs.
Take a look to see if anything takes your fancy.
</Typography>
</Container>
<Box textAlign="center" width="100%">
<Sort />
</Box>
<Container
sx={{
mt: 25,
}}
>
<Grid container spacing={2}>
<Grid item md={4} xs={12} sx={{ height: '500px' }}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
<Grid item md={4} xs={12}>
<ProductCard />
</Grid>
</Grid>
</Container>
</Box>
);
};

export default ProductsHero;

+ 5
- 0
components/sort/Sort.jsx Целия файл

@@ -0,0 +1,5 @@
const Sort = () => {
return <button>Sort</button>;
};

export default Sort;

+ 32
- 0
pages/products/index.js Целия файл

@@ -0,0 +1,32 @@
import { Box } from '@mui/system';
import Head from 'next/head';
import ProductsHero from '../../components/products-hero/ProductsHero';

const Products = () => {
return (
<>
<Box sx={{ width: '100%', height: '100%' }}>
<Head>
<title>NextJS template</title>
<meta name="description" content="Random data with pagination..." />
</Head>
<ProductsHero />
</Box>
</>
);
};

// export async function getStaticProps({ locale }) {
// const queryClient = new QueryClient();

// await queryClient.prefetchQuery(['randomData', 1], () => getData(1));

// return {
// props: {
// dehydratedState: dehydrate(queryClient),
// ...(await serverSideTranslations(locale, ['pagination'])),
// },
// };
// }

export default Products;

Двоични данни
public/images/product-card-image.jpg Целия файл


Loading…
Отказ
Запис