Dev #1
4
.idea/watcherTasks.xml
generated
Normal file
4
.idea/watcherTasks.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectTasksOptions" suppressed-tasks="SCSS" />
|
||||||
|
</project>
|
||||||
@@ -1,25 +1,5 @@
|
|||||||
import { AutoTech } from '@/views';
|
import { AutoTech } from '@/views';
|
||||||
import { ROUTES } from '@shared/const/route';
|
|
||||||
import Breadcrumbs from '@widgets/breadcrumbs/ui';
|
|
||||||
|
|
||||||
const breadcrumbData = [
|
|
||||||
{
|
|
||||||
name: 'Экспертиза',
|
|
||||||
path: ROUTES.EXPERTIZA,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Автотехническая экспертиза',
|
|
||||||
path: '',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const PAGE_NAME = 'Автотехническая экспертиза';
|
|
||||||
|
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
return (
|
return <AutoTech />;
|
||||||
<>
|
|
||||||
<Breadcrumbs breadcrumbs={breadcrumbData} />
|
|
||||||
<AutoTech />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,22 +4,56 @@
|
|||||||
|
|
||||||
.Navbar {
|
.Navbar {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: rem(1540px);
|
max-width: rem(1540px);
|
||||||
|
padding: 0 10px;
|
||||||
height: rem(100px);
|
height: rem(100px);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: rem(20px);
|
gap: rem(20px);
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include iflaptop {
|
||||||
|
max-width: rem(1540px);
|
||||||
|
padding: 0 28px;
|
||||||
|
height: rem(100px);
|
||||||
|
gap: rem(20px);
|
||||||
|
}
|
||||||
|
|
||||||
|
@include ifdesktop {
|
||||||
|
padding: 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.Invite{
|
||||||
|
display: none;
|
||||||
|
|
||||||
|
@include iflaptop{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.Nav {
|
.Nav {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
|
|
||||||
.Menu {
|
.Menu {
|
||||||
display: flex;
|
display: none;
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
@include iflaptop {
|
||||||
gap: rem(32px);
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
gap: rem(16px);
|
||||||
|
}
|
||||||
|
@include iflaptop {
|
||||||
|
gap: rem(16px);
|
||||||
|
}
|
||||||
|
@include ifdesktop {
|
||||||
|
gap: rem(32px);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.Parent {
|
.Parent {
|
||||||
@@ -31,9 +65,13 @@
|
|||||||
.Row {
|
.Row {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
gap: rem(16px);
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
gap: rem(8px);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|
||||||
|
@include ifdesktop {
|
||||||
|
gap: rem(16px);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
& a {
|
& a {
|
||||||
|
|||||||
@@ -5,10 +5,21 @@
|
|||||||
|
|
||||||
.Top {
|
.Top {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: rem(1540px);
|
max-width: rem(1540px);
|
||||||
|
padding: 0 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
@include iflaptop {
|
||||||
|
padding: 0 28px;
|
||||||
|
}
|
||||||
|
@include ifdesktop {
|
||||||
|
padding: 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
.Icons {
|
.Icons {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
@@ -25,14 +36,19 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: rem(60px);
|
gap: rem(10px);
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
gap: rem(20px);
|
||||||
|
}
|
||||||
|
@include iflaptop {
|
||||||
|
gap: rem(40px);
|
||||||
|
}
|
||||||
|
@include ifdesktop {
|
||||||
|
gap: rem(60px);
|
||||||
|
}
|
||||||
|
|
||||||
.Item {
|
.Item {
|
||||||
font-family: $font-roboto;
|
|
||||||
font-weight: $font-bold;
|
|
||||||
font-size: rem(16px);
|
|
||||||
line-height: 100%;
|
|
||||||
color: $color-white;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -44,6 +60,22 @@
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: $color-white;
|
background: $color-white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.Description {
|
||||||
|
display: none;
|
||||||
|
font-family: $font-roboto;
|
||||||
|
font-weight: $font-bold;
|
||||||
|
font-size: rem(14px);
|
||||||
|
line-height: 100%;
|
||||||
|
color: $color-white;
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
@include iflaptop {
|
||||||
|
font-size: rem(16px);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,12 +13,14 @@ function TopMenu() {
|
|||||||
<div className={s.Contacts}>
|
<div className={s.Contacts}>
|
||||||
<p className={s.Item}>
|
<p className={s.Item}>
|
||||||
<Icons.Envelope className={s.IconBox} />
|
<Icons.Envelope className={s.IconBox} />
|
||||||
spo-71@yandex.ru
|
<span className={s.Description}>spo-71@yandex.ru</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p className={s.Item}>
|
<p className={s.Item}>
|
||||||
<Icons.Map className={s.IconBox} />
|
<Icons.Map className={s.IconBox} />
|
||||||
г. Сочи, Навагинская д. 9д, оф. 35
|
<span className={s.Description}>
|
||||||
|
г. Сочи, Навагинская д. 9д, оф. 35
|
||||||
|
</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: auto 360px;
|
grid-template-columns: auto 360px;
|
||||||
gap: 160px;
|
gap: 160px;
|
||||||
|
padding: 0 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Consultation {
|
.Consultation {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: auto 360px;
|
grid-template-columns: auto 360px;
|
||||||
gap: 160px;
|
gap: 160px;
|
||||||
|
padding: 0 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Header {
|
.Header {
|
||||||
|
|||||||
14
src/views/expertise/autotech/model/breadcrums.ts
Normal file
14
src/views/expertise/autotech/model/breadcrums.ts
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { ROUTES } from '@shared/const/route';
|
||||||
|
|
||||||
|
export const PAGE_NAME = 'Автотехническая экспертиза';
|
||||||
|
|
||||||
|
export const breadcrumbData = [
|
||||||
|
{
|
||||||
|
name: 'Экспертиза',
|
||||||
|
path: ROUTES.EXPERTIZA,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Автотехническая экспертиза',
|
||||||
|
path: '',
|
||||||
|
},
|
||||||
|
];
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: auto 360px;
|
grid-template-columns: auto 360px;
|
||||||
gap: 160px;
|
gap: 160px;
|
||||||
|
padding: 0 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.Article {
|
.Article {
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
import s from './styles.module.scss';
|
import s from './styles.module.scss';
|
||||||
import { CallbackForm, Connect, OrderSchema } from '@/entities';
|
import { CallbackForm, Connect, OrderSchema } from '@/entities';
|
||||||
import { Consultation, RelatedArticles, Sidebar } from '@/feature/article';
|
import { Consultation, RelatedArticles, Sidebar } from '@/feature/article';
|
||||||
import { PartnersSlider } from '@/widgets';
|
import { Breadcrumbs, PartnersSlider } from '@/widgets';
|
||||||
import { sidebarData } from './model/sidebar';
|
import { sidebarData } from './model/sidebar';
|
||||||
import { relatedArticlesData } from './model/relatedArticles';
|
import { relatedArticlesData } from './model/relatedArticles';
|
||||||
import { expertData } from './model/expert';
|
import { expertData } from './model/expert';
|
||||||
|
import { breadcrumbData } from './model/breadcrums';
|
||||||
|
|
||||||
function AutoTech() {
|
function AutoTech() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<Breadcrumbs breadcrumbs={breadcrumbData} />
|
||||||
<section>
|
<section>
|
||||||
<div className={s.Container}>
|
<div className={s.Container}>
|
||||||
<div className={s.Article}>
|
<div className={s.Article}>
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
.Header {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.Container {
|
.Container {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: rem(1540px);
|
max-width: rem(1540px);
|
||||||
padding: 40px 0;
|
padding: 40px 10px;
|
||||||
}
|
|
||||||
|
|
||||||
.Footer {
|
@include iftablet{
|
||||||
margin: 0 auto;
|
padding: 40px 20px;
|
||||||
width: rem(1540px);
|
}
|
||||||
}
|
@include iflaptop{
|
||||||
|
padding: 40px 28px;
|
||||||
|
}
|
||||||
|
@include ifdesktop{
|
||||||
|
padding: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
.Breadcrumbs {
|
.Breadcrumbs {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: rem(1540px);
|
width: rem(1540px);
|
||||||
padding: rem(20px) 0;
|
padding: rem(20px) 40px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ type BreadcrumbsProps = {
|
|||||||
}[];
|
}[];
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function Breadcrumbs({ breadcrumbs }: BreadcrumbsProps) {
|
function Breadcrumbs({ breadcrumbs }: BreadcrumbsProps) {
|
||||||
return (
|
return (
|
||||||
<section className={s.Container}>
|
<section className={s.Container}>
|
||||||
<div className={s.Breadcrumbs}>
|
<div className={s.Breadcrumbs}>
|
||||||
@@ -34,3 +34,5 @@ export default function Breadcrumbs({ breadcrumbs }: BreadcrumbsProps) {
|
|||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export { Breadcrumbs };
|
||||||
|
|||||||
@@ -15,17 +15,37 @@
|
|||||||
|
|
||||||
.Grid {
|
.Grid {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 1540px;
|
max-width: 1540px;
|
||||||
padding: 40px 0 0;
|
padding: 20px 10px 20px;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
grid-template-columns: auto;
|
||||||
///grid-template-rows: 1fr 1fr;
|
|
||||||
grid-auto-columns: 1fr;
|
grid-auto-columns: 1fr;
|
||||||
gap: 0px 0px;
|
gap: 40px 20px;
|
||||||
grid-auto-flow: row;
|
grid-auto-flow: row;
|
||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
|
"about"
|
||||||
|
"contacts"
|
||||||
|
"social";
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-template-areas:
|
||||||
|
"about about"
|
||||||
|
"contacts social";
|
||||||
|
padding: 40px 20px 0;
|
||||||
|
gap: 20px 2px;
|
||||||
|
}
|
||||||
|
@include iflaptop {
|
||||||
|
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||||
|
grid-template-areas:
|
||||||
"about linksa linksb linksc"
|
"about linksa linksb linksc"
|
||||||
"contacts contacts social social";
|
"contacts contacts social social";
|
||||||
|
padding: 40px 28px 0;
|
||||||
|
gap: 0px 0px;
|
||||||
|
}
|
||||||
|
@include ifdesktop {
|
||||||
|
padding: 40px 40px 0;
|
||||||
|
}
|
||||||
|
|
||||||
.About {
|
.About {
|
||||||
grid-area: about;
|
grid-area: about;
|
||||||
@@ -46,6 +66,14 @@
|
|||||||
.LinksA {
|
.LinksA {
|
||||||
grid-area: linksa;
|
grid-area: linksa;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
display: none;
|
||||||
|
@include iftablet {
|
||||||
|
}
|
||||||
|
@include iflaptop {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
@include ifdesktop {
|
||||||
|
}
|
||||||
|
|
||||||
.Title {
|
.Title {
|
||||||
@extend %title;
|
@extend %title;
|
||||||
@@ -63,6 +91,11 @@
|
|||||||
.LinksB {
|
.LinksB {
|
||||||
grid-area: linksb;
|
grid-area: linksb;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
display: none;
|
||||||
|
|
||||||
|
@include iflaptop {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.Title {
|
.Title {
|
||||||
@extend %title;
|
@extend %title;
|
||||||
@@ -80,6 +113,11 @@
|
|||||||
.LinksC {
|
.LinksC {
|
||||||
grid-area: linksc;
|
grid-area: linksc;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
display: none;
|
||||||
|
|
||||||
|
@include iflaptop {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.Title {
|
.Title {
|
||||||
@extend %title;
|
@extend %title;
|
||||||
@@ -103,16 +141,30 @@
|
|||||||
|
|
||||||
.Icons {
|
.Icons {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 24px;
|
gap: 24px;
|
||||||
|
|
||||||
|
@include iflaptop {
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
.IconBox {
|
.IconBox {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@include iflaptop {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
.Icon {
|
.Icon {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
width: 48px;
|
width: 48px;
|
||||||
@@ -130,7 +182,13 @@
|
|||||||
|
|
||||||
.Social {
|
.Social {
|
||||||
grid-area: social;
|
grid-area: social;
|
||||||
padding-left: 200px;
|
|
||||||
|
@include iflaptop {
|
||||||
|
padding-left: 100px;
|
||||||
|
}
|
||||||
|
@include ifdesktop {
|
||||||
|
padding-left: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
.Title {
|
.Title {
|
||||||
@extend %title;
|
@extend %title;
|
||||||
@@ -151,12 +209,12 @@
|
|||||||
|
|
||||||
.Bottom {
|
.Bottom {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 1540px;
|
max-width: 1540px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 16px 0;
|
padding: 16px 10px;
|
||||||
|
|
||||||
font-family: $font-roboto;
|
font-family: $font-roboto;
|
||||||
font-weight: $font-regular;
|
font-weight: $font-regular;
|
||||||
@@ -164,6 +222,40 @@
|
|||||||
line-height: 100%;
|
line-height: 100%;
|
||||||
color: $color-white;
|
color: $color-white;
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
padding: 16px 20px;
|
||||||
|
}
|
||||||
|
@include iflaptop {
|
||||||
|
padding: 16px 28px;
|
||||||
|
}
|
||||||
|
@include ifdesktop {
|
||||||
|
padding: 16px 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.List {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
|
||||||
|
@include iftablet{
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ListItem {
|
||||||
|
&:after{
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
@include iftablet {
|
||||||
|
content: '|';
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:last-child:after {
|
||||||
|
content: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
& a {
|
& a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: $color-link-hover;
|
color: $color-link-hover;
|
||||||
|
|||||||
@@ -107,9 +107,15 @@ function Footer() {
|
|||||||
|
|
||||||
<div className={s.Container_gray}>
|
<div className={s.Container_gray}>
|
||||||
<div className={s.Bottom}>
|
<div className={s.Bottom}>
|
||||||
© ООО “ДИ ТРАСО” |
|
<ul className={s.List}>
|
||||||
<Link href={ROUTES.EMPTY}>Политика конфиденциальности</Link> |
|
<li className={s.ListItem}>© ООО “ДИ ТРАСО”</li>
|
||||||
<Link href={ROUTES.EMPTY}>Карта сайта</Link>
|
<li className={s.ListItem}>
|
||||||
|
<Link href={ROUTES.EMPTY}>Политика конфиденциальности</Link>
|
||||||
|
</li>
|
||||||
|
<li className={s.ListItem}>
|
||||||
|
<Link href={ROUTES.EMPTY}>Карта сайта</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
Reference in New Issue
Block a user