@@ -55,5 +57,3 @@ export default function Home() {
);
}
-
-export { Home };
diff --git a/src/views/home/ui/offer/offer.module.scss b/src/views/home/ui/offer/offer.module.scss
new file mode 100644
index 0000000..9b10f9d
--- /dev/null
+++ b/src/views/home/ui/offer/offer.module.scss
@@ -0,0 +1,159 @@
+.Offer {
+ background: $color-lightgray;
+ border-radius: 28px;
+ padding: 160px;
+
+ .Title {
+ font-family: $font-open-sans;
+ font-weight: $font-semi-bold;
+ font-size: 60px;
+ line-height: 100%;
+ color: $color-text;
+ max-width: 1330px;
+ margin-bottom: 80px;
+ }
+
+ .Text {
+ font-family: $font-open-sans;
+ font-weight: $font-regular;
+ font-size: 32px;
+ line-height: 100%;
+ color: $color-text;
+ margin-bottom: 20px;
+ }
+
+ .List {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ max-width: 1330px;
+ margin-bottom: 60px;
+
+ .ListItem {
+ font-family: $font-open-sans;
+ font-weight: $font-regular;
+ font-size: 32px;
+ line-height: 160%;
+ color: $color-text;
+ list-style-type: decimal;
+ margin-left: 40px;
+ }
+ }
+
+ .RowForm {
+ display: flex;
+ flex-direction: row;
+ gap: 40px;
+ justify-content: center;
+ }
+
+ .Inner {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ background-color: $color-white;
+ border-radius: 28px;
+ padding: 80px 40px;
+ margin-bottom: 130px;
+
+ .Title {
+ font-family: $font-open-sans;
+ font-weight: $font-semi-bold;
+ font-size: 60px;
+ line-height: 1;
+ color: $color-text;
+ }
+
+ .Grid {
+ display: grid;
+ grid-template-rows: repeat(2, 1fr);
+ grid-template-columns: repeat(3, 1fr);
+ gap: 40px;
+ padding: 40px 0;
+ }
+
+ .Tile {
+ position: relative;
+ padding: 25px;
+ height: 352px;
+ border-radius: 28px;
+ overflow: hidden;
+
+ &:after {
+ content: '';
+ display: block;
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ z-index: 1;
+ left: 0;
+ top: 0;
+ background-color: rgba(#292E3D, .7);
+ transition: 250ms background-color;
+ }
+
+ &:hover {
+ &:after {
+ background-color: rgba(#292E3D, .5);
+ }
+
+ .Title {
+ display: none;
+ }
+
+ .Description {
+ display: block;
+ }
+
+ .Arrow {
+ transform: rotate(45deg);
+ transition: transform 250ms ease-in-out;
+ }
+ }
+
+ .Background {
+ position: absolute;
+ }
+
+ .Title {
+ position: relative;
+ z-index: 2;
+ font-family: $font-open-sans;
+ font-weight: $font-regular;
+ font-size: 42px;
+ line-height: 100%;
+ color: $color-white;
+ }
+
+ .Description {
+ position: relative;
+ z-index: 2;
+ display: none;
+ font-family: $font-open-sans;
+ font-weight: $font-regular;
+ font-size: 24px;
+ line-height: 130%;
+ color: $color-white;
+ }
+
+ .Arrow {
+ position: absolute;
+ z-index: 2;
+ right: 25px;
+ bottom: 25px;
+ width: 64px;
+ height: 64px;
+ transform: rotate(-135deg);
+ transition: transform 250ms ease-in-out;
+ }
+ }
+ }
+
+ .Form {
+ .Title {
+ }
+
+ .SubTitle {
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/views/home/ui/offer/offer.tsx b/src/views/home/ui/offer/offer.tsx
new file mode 100644
index 0000000..745b08c
--- /dev/null
+++ b/src/views/home/ui/offer/offer.tsx
@@ -0,0 +1,112 @@
+import s from './offer.module.scss';
+
+import { Button, Mark } from '@shared/ui';
+import Image from 'next/image';
+
+import arrow from '@public/svg/arrow-tile.svg';
+import gridOne from '@public/images/grid-1.png';
+import gridTwo from '@public/images/grid-2.png';
+import gridThree from '@public/images/grid-3.png';
+import gridFour from '@public/images/grid-4.png';
+import gridFive from '@public/images/grid-5.png';
+import gridSix from '@public/images/grid-6.png';
+
+export default function Offer() {
+ return (
+
+
+ Помогаем выявить недостатки и привести{' '}
+ систему Охранно-Пожарной
+ сигнализации в соответствие со всеми нормативами
+
+ Методика работы:
+
+ -
+ Экспертиза (аудит) выявляет нарушения ОПС
+
+ -
+ На основании экспертизы оформляется заключение
+
+ -
+ На основании выявленных нарушений производится устранение недостатков
+
+ -
+ Производится проверка проекта по замене старых пожарных систем на
+ новые, что позволяет сократить стоимость сметы на модернизацию.
+
+
+
+
+
+
+
+
+
+ Возьмем на себя все заботы
+
+
+ {tileList.map(({ title, description, image }, idx) => (
+
+
+
{title}
+
{description}
+
+
+ ))}
+
+
+
+
Нужна помощь?
+
Оставьте заявку на бесплатную консультацию
+
+
+
+ );
+}
+
+const tileList = [
+ {
+ title: 'Минимизация затрат',
+ description:
+ 'Консультации по минимизации затрат на выполнение мероприятий в области пожарной безопасности',
+ image: gridOne,
+ },
+ {
+ title: 'Проверка на соответствие требованиям',
+ description:
+ 'Проверка на соответствие требованиям пожарной безопасности зданий и помещений',
+ image: gridTwo,
+ },
+ {
+ title: 'Оценка пожарного риска',
+ description:
+ 'Определение расчетной величины пожарного риска в соответствии с действующими Методиками',
+ image: gridThree,
+ },
+ {
+ title: 'Консультации по соответствию требованиям',
+ description:
+ 'Оказание консультаций по соответствию требованиям пожарной безопасности зданий и помещений',
+ image: gridFour,
+ },
+ {
+ title: 'Расчет категорий взрывопожарной и пожарной опасности',
+ description:
+ 'Проведение расчета категорий по взрывопожарной и пожарной опасности для помещений, зданий производственного и складского назначения',
+ image: gridFive,
+ },
+ {
+ title: 'Монтаж, техническое обслуживание и ремонт систем',
+ description:
+ 'Монтаж, техническое обслуживание и ремонт систем оповещения и эвакуации при пожаре и их элементов, включая диспетчеризацию и проведение пусконаладочных работ',
+ image: gridSix,
+ },
+];
diff --git a/src/views/home/ui/result/result.module.scss b/src/views/home/ui/result/result.module.scss
new file mode 100644
index 0000000..a8e9b80
--- /dev/null
+++ b/src/views/home/ui/result/result.module.scss
@@ -0,0 +1,2 @@
+.Result {
+}
\ No newline at end of file
diff --git a/src/views/home/ui/result/result.tsx b/src/views/home/ui/result/result.tsx
new file mode 100644
index 0000000..6079a0a
--- /dev/null
+++ b/src/views/home/ui/result/result.tsx
@@ -0,0 +1,5 @@
+import s from './result.module.scss';
+
+export default function Result() {
+ return
;
+}
diff --git a/tsconfig.json b/tsconfig.json
index aed8a19..14e2ac1 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -21,7 +21,7 @@
"paths": {
"@/*": ["./src/*"],
"@core/*": ["./src/core/*"],
- "@pages/*": ["./src/pages/*"],
+ "@views/*": ["./src/views/*"],
"@widgets/*": ["./src/widgets/*"],
"@shared/*": ["./src/shared/*"],
"@public/*": ["./public/*"]