style Landing
This commit is contained in:
parent
e289165510
commit
f4653d3ee3
Binary file not shown.
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 610 KiB |
Binary file not shown.
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 436 KiB |
Binary file not shown.
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 643 KiB |
@ -1,14 +1,17 @@
|
|||||||
import { Box, Typography, SxProps, Theme, Button } from "@mui/material";
|
import { Box, Typography, SxProps, Theme, Button, useTheme, useMediaQuery } from "@mui/material";
|
||||||
import cardImageBig from "@root/assets/landing/card1big.png";
|
import cardImageBig from "@root/assets/landing/card1big.png";
|
||||||
import { PenaLink } from "@frontend/kitui";
|
import { PenaLink } from "@frontend/kitui";
|
||||||
import { Link as RouterLink } from "react-router-dom";
|
import { Link as RouterLink } from "react-router-dom";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
light?: boolean;
|
light?: boolean;
|
||||||
sx?: SxProps<Theme>;
|
sx?: SxProps<Theme>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function WideTemplCard({ light = true, sx }: Props) {
|
export default function WideTemplCard({ light = true, sx }: Props) {
|
||||||
|
const theme = useTheme();
|
||||||
|
const isTablet = useMediaQuery(theme.breakpoints.down(1000));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
@ -19,7 +22,6 @@ export default function WideTemplCard({ light = true, sx }: Props) {
|
|||||||
px: "20px",
|
px: "20px",
|
||||||
backgroundColor: light ? "#E6E6EB" : "#434657",
|
backgroundColor: light ? "#E6E6EB" : "#434657",
|
||||||
borderRadius: "12px",
|
borderRadius: "12px",
|
||||||
|
|
||||||
...sx,
|
...sx,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@ -31,7 +33,7 @@ export default function WideTemplCard({ light = true, sx }: Props) {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Typography variant="h5">Шаблонизатор</Typography>
|
<Typography variant="h5">Шаблонизатор</Typography>
|
||||||
<Typography mt="20px" maxWidth="552px">
|
<Typography sx={{ marginTop: isTablet ? "10px" : "20px" }} maxWidth="552px">
|
||||||
Текст- это текст, который имеет некоторые характеристики реального письменного текс
|
Текст- это текст, который имеет некоторые характеристики реального письменного текс
|
||||||
</Typography>
|
</Typography>
|
||||||
{light ? (
|
{light ? (
|
||||||
|
@ -4,6 +4,8 @@ interface Props {
|
|||||||
width?: string;
|
width?: string;
|
||||||
backgroundImage: string;
|
backgroundImage: string;
|
||||||
headerText: string;
|
headerText: string;
|
||||||
|
backgroundPosition: string;
|
||||||
|
backgroundSize: string;
|
||||||
text: string;
|
text: string;
|
||||||
textOrientation: "row" | "column";
|
textOrientation: "row" | "column";
|
||||||
sx?: SxProps<Theme>;
|
sx?: SxProps<Theme>;
|
||||||
@ -14,6 +16,8 @@ export default function PromoCard({
|
|||||||
backgroundImage,
|
backgroundImage,
|
||||||
headerText,
|
headerText,
|
||||||
text,
|
text,
|
||||||
|
backgroundSize,
|
||||||
|
backgroundPosition,
|
||||||
textOrientation,
|
textOrientation,
|
||||||
sx,
|
sx,
|
||||||
width,
|
width,
|
||||||
@ -45,20 +49,21 @@ export default function PromoCard({
|
|||||||
>
|
>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
backgroundSize: isTablet ? "contain" : "cover",
|
backgroundSize: backgroundSize,
|
||||||
backgroundRepeat: "no-repeat",
|
backgroundRepeat: "no-repeat",
|
||||||
backgroundImage: `url(${backgroundImage})`,
|
backgroundImage: `url(${backgroundImage})`,
|
||||||
backgroundPosition: "15% 50%",
|
backgroundPosition: backgroundPosition,
|
||||||
height: small ? "340px" : "300px",
|
height: small ? "340px" : "300px",
|
||||||
width: "100%",
|
width: "100%",
|
||||||
borderRadius: "12px",
|
borderRadius: "12px",
|
||||||
|
|
||||||
p: "20px",
|
p: "20px",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
display: "grid",
|
display: "grid",
|
||||||
gridTemplate: small || textOrientation === "column" ? "auto auto / auto" : "2.5em / 50% 50%",
|
gridTemplate: small || textOrientation === "column" ? "auto auto / auto" : "2.5em / 30% 50%",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Box
|
<Box
|
||||||
|
@ -17,7 +17,7 @@ export default function Section2() {
|
|||||||
maxWidth="lg"
|
maxWidth="lg"
|
||||||
outerContainerSx={{
|
outerContainerSx={{
|
||||||
backgroundColor: theme.palette.bg.dark,
|
backgroundColor: theme.palette.bg.dark,
|
||||||
mb: "-90px",
|
mb: "-68px",
|
||||||
}}
|
}}
|
||||||
sx={{
|
sx={{
|
||||||
pt: upMd ? "90px" : "50px",
|
pt: upMd ? "90px" : "50px",
|
||||||
@ -28,7 +28,7 @@ export default function Section2() {
|
|||||||
sx={{
|
sx={{
|
||||||
display: "flex",
|
display: "flex",
|
||||||
flexDirection: upMd ? "row" : "column",
|
flexDirection: upMd ? "row" : "column",
|
||||||
gap: "3.5%",
|
gap: isTablet ? "16.5%" : "3.5%",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Typography
|
<Typography
|
||||||
|
@ -14,11 +14,11 @@ export default function Section3() {
|
|||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const upMd = useMediaQuery(theme.breakpoints.up("md"));
|
const upMd = useMediaQuery(theme.breakpoints.up("md"));
|
||||||
const downXs = useMediaQuery(theme.breakpoints.down("sm"));
|
const downXs = useMediaQuery(theme.breakpoints.down("sm"));
|
||||||
|
const isTablet = useMediaQuery(theme.breakpoints.down(1000));
|
||||||
|
const isMobile = useMediaQuery(theme.breakpoints.down(600));
|
||||||
|
|
||||||
console.log(downXs);
|
console.log(downXs);
|
||||||
|
|
||||||
const isTablet = useMediaQuery(theme.breakpoints.down(1000));
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionWrapper
|
<SectionWrapper
|
||||||
component="section"
|
component="section"
|
||||||
@ -29,13 +29,13 @@ export default function Section3() {
|
|||||||
sx={{
|
sx={{
|
||||||
display: "flex",
|
display: "flex",
|
||||||
pt: upMd ? "185px" : "155px",
|
pt: upMd ? "185px" : "155px",
|
||||||
pb: upMd ? "100px" : "70px",
|
pb: upMd ? "90px" : "70px",
|
||||||
px: isTablet ? (upMd ? "40px" : "18px") : "20px",
|
px: isTablet ? (upMd ? "40px" : "18px") : "20px",
|
||||||
// width: "fit-content",
|
// width: "fit-content",
|
||||||
margin: "auto",
|
margin: "auto",
|
||||||
flexDirection: isTablet ? "column" : "row",
|
flexDirection: isTablet ? "column" : "row",
|
||||||
flexWrap: "wrap",
|
flexWrap: "wrap",
|
||||||
rowGap: upMd ? "63px" : "30px",
|
rowGap: upMd ? "40px" : "30px",
|
||||||
columnGap: "13.8%",
|
columnGap: "13.8%",
|
||||||
justifyContent: "space-between",
|
justifyContent: "space-between",
|
||||||
}}
|
}}
|
||||||
@ -47,20 +47,20 @@ export default function Section3() {
|
|||||||
alignItems: "start",
|
alignItems: "start",
|
||||||
maxWidth: "500px",
|
maxWidth: "500px",
|
||||||
width: isTablet ? undefined : "43.1%",
|
width: isTablet ? undefined : "43.1%",
|
||||||
mb: "10px",
|
mb: isTablet ? "20px" : "10px",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Typography
|
<Typography
|
||||||
variant="h4"
|
variant="h4"
|
||||||
sx={{
|
sx={{
|
||||||
mb: isTablet ? "70px" : "30px",
|
mb: upMd ? "67px" : "30px",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Узнайте, как наши сервисы решают ваши задачи
|
Узнайте, как наши сервисы решают ваши задачи
|
||||||
</Typography>
|
</Typography>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
mb: isTablet ? "20px" : "30px",
|
mb: upMd ? "20px" : "30px",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Typography>Покажут эффективность рекламы</Typography>
|
<Typography>Покажут эффективность рекламы</Typography>
|
||||||
@ -72,28 +72,32 @@ export default function Section3() {
|
|||||||
</PenaLink>
|
</PenaLink>
|
||||||
</Box>
|
</Box>
|
||||||
<PromoCard
|
<PromoCard
|
||||||
width={isTablet ? (upMd ? "85%" : "100%") : "43.1%"}
|
width={isTablet ? (upMd ? "87%" : "100%") : "43.1%"}
|
||||||
headerText="Общий кабинет"
|
headerText="Общий кабинет"
|
||||||
text="Текст-заполнитель — это текст, который имеет некоторые характеристики реального письменного"
|
text="Текст-заполнитель — это текст, который имеет некоторые характеристики реального письменного"
|
||||||
textOrientation="column"
|
textOrientation="column"
|
||||||
small={downXs}
|
small={downXs}
|
||||||
backgroundImage={downXs ? cardPagesBackground4 : cardPagesBackground1}
|
backgroundSize={isTablet ? "contain" : "100% 300px"}
|
||||||
|
backgroundImage={downXs ? cardPagesBackground6 : cardPagesBackground1}
|
||||||
|
backgroundPosition={isTablet ? (isMobile ? "15% 50%" : "bottom right -1px") : "bottom right -165px"}
|
||||||
sx={{
|
sx={{
|
||||||
alignSelf: "center",
|
alignSelf: "center",
|
||||||
maxWidth: isTablet ? "100%" : "500px",
|
maxWidth: isTablet ? "100%" : "500px",
|
||||||
marginRight: isTablet ? (upMd ? "100px" : "0") : "0",
|
marginRight: isTablet ? (upMd ? "120px" : "0") : "0",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<PromoCard
|
<PromoCard
|
||||||
width={isTablet ? (upMd ? "85%" : "100%") : "43.1%"}
|
width={isTablet ? (upMd ? "87%" : "100%") : "43.1%"}
|
||||||
headerText="Общий кабинет"
|
headerText="Общий кабинет"
|
||||||
text="Текст-заполнитель — это текст, который имеет некоторые характеристики реального письменного"
|
text="Текст-заполнитель — это текст, который имеет некоторые характеристики реального письменного"
|
||||||
textOrientation="row"
|
textOrientation="row"
|
||||||
small={downXs}
|
small={downXs}
|
||||||
backgroundImage={downXs ? cardPagesBackground5 : cardPagesBackground2}
|
backgroundSize={"contain"}
|
||||||
|
backgroundImage={downXs ? cardPagesBackground6 : cardPagesBackground2}
|
||||||
|
backgroundPosition={isTablet ? (isMobile ? "15% 50%" : "bottom right -1px") : "bottom right 0px"}
|
||||||
sx={{
|
sx={{
|
||||||
alignSelf: "center",
|
alignSelf: "center",
|
||||||
marginLeft: isTablet ? (upMd ? "100px" : "0") : "0",
|
marginLeft: isTablet ? (upMd ? "120px" : "0") : "0",
|
||||||
mt: isTablet ? null : "-82px",
|
mt: isTablet ? null : "-82px",
|
||||||
maxWidth: isTablet ? "100%" : "500px",
|
maxWidth: isTablet ? "100%" : "500px",
|
||||||
}}
|
}}
|
||||||
@ -104,7 +108,9 @@ export default function Section3() {
|
|||||||
text="Текст-заполнитель — это текст, который имеет некоторые характеристики реального письменного"
|
text="Текст-заполнитель — это текст, который имеет некоторые характеристики реального письменного"
|
||||||
textOrientation="column"
|
textOrientation="column"
|
||||||
small={downXs}
|
small={downXs}
|
||||||
|
backgroundSize={isTablet ? "contain" : "100% 300px"}
|
||||||
backgroundImage={downXs ? cardPagesBackground6 : cardPagesBackground3}
|
backgroundImage={downXs ? cardPagesBackground6 : cardPagesBackground3}
|
||||||
|
backgroundPosition={isTablet ? (isMobile ? "15% 50%" : "bottom right -1px") : "bottom right -165px"}
|
||||||
sx={{
|
sx={{
|
||||||
mt: isTablet ? null : "82px",
|
mt: isTablet ? null : "82px",
|
||||||
alignSelf: "center",
|
alignSelf: "center",
|
||||||
|
@ -5,10 +5,9 @@ import Infographics from "./Infographics";
|
|||||||
export default function Section4() {
|
export default function Section4() {
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const upMd = useMediaQuery(theme.breakpoints.up("md"));
|
const upMd = useMediaQuery(theme.breakpoints.up("md"));
|
||||||
const isMobile = useMediaQuery(theme.breakpoints.down(380));
|
|
||||||
const isTablet = useMediaQuery(theme.breakpoints.down(1000));
|
const isTablet = useMediaQuery(theme.breakpoints.down(1000));
|
||||||
|
|
||||||
const itemsFlex = upMd ? "0 0 25.1%" : "1 0 35%";
|
const itemsFlex = upMd ? " 0 0 31.1%" : "0 0 25.1%";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<SectionWrapper
|
<SectionWrapper
|
||||||
|
@ -30,7 +30,7 @@ export default function Section5() {
|
|||||||
</Typography>
|
</Typography>
|
||||||
<Typography
|
<Typography
|
||||||
sx={{
|
sx={{
|
||||||
maxWidth: upMd ? "79.3%" : "100%",
|
maxWidth: isTablet ? "100%" : "79.3%",
|
||||||
gridRow: upMd ? "span 2" : "",
|
gridRow: upMd ? "span 2" : "",
|
||||||
justifySelf: upMd ? "end" : "start",
|
justifySelf: upMd ? "end" : "start",
|
||||||
mb: upMd ? undefined : "50px",
|
mb: upMd ? undefined : "50px",
|
||||||
|
Loading…
Reference in New Issue
Block a user