diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 13b0887..bdc3acb 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,12 +5,29 @@ - - - - + + + + + + + + + + + + - + + + + + + + + + + - @@ -26,8 +43,8 @@ @@ -61,7 +78,7 @@ "js.debugger.nextJs.config.created.client": "true", "js.debugger.nextJs.config.created.server": "true", "junie.onboarding.icon.badge.shown": "true", - "last_opened_file_path": "C:/dev-projects/ocenka-web/src/views/sitemap/model", + "last_opened_file_path": "C:/dev-personal/ocenka-web/src/views/experts/volkova-goncharova/model", "list.type.of.created.stylesheet": "SCSS", "node.js.detected.package.eslint": "true", "node.js.detected.package.tslint": "true", @@ -78,9 +95,11 @@ }]]> - - - + + + + + @@ -135,7 +154,7 @@ - + diff --git a/public/images/docs/borodin/image01.jpg b/public/images/docs/borodin/image01.jpg new file mode 100644 index 0000000..5ae7160 Binary files /dev/null and b/public/images/docs/borodin/image01.jpg differ diff --git a/public/images/docs/borodin/image02.jpg b/public/images/docs/borodin/image02.jpg new file mode 100644 index 0000000..ba82751 Binary files /dev/null and b/public/images/docs/borodin/image02.jpg differ diff --git a/public/images/docs/borodin/image03.jpg b/public/images/docs/borodin/image03.jpg new file mode 100644 index 0000000..167cae6 Binary files /dev/null and b/public/images/docs/borodin/image03.jpg differ diff --git a/public/images/docs/gulmamedov/image01.jpg b/public/images/docs/gulmamedov/image01.jpg new file mode 100644 index 0000000..1c63733 Binary files /dev/null and b/public/images/docs/gulmamedov/image01.jpg differ diff --git a/public/images/docs/klintukh/image01.jpg b/public/images/docs/klintukh/image01.jpg new file mode 100644 index 0000000..559331a Binary files /dev/null and b/public/images/docs/klintukh/image01.jpg differ diff --git a/public/images/docs/klintukh/image02.jpg b/public/images/docs/klintukh/image02.jpg new file mode 100644 index 0000000..c1ddf6e Binary files /dev/null and b/public/images/docs/klintukh/image02.jpg differ diff --git a/public/images/docs/klintukh/image03.jpg b/public/images/docs/klintukh/image03.jpg new file mode 100644 index 0000000..8b8b9dd Binary files /dev/null and b/public/images/docs/klintukh/image03.jpg differ diff --git a/public/images/docs/klintukh/image04.jpg b/public/images/docs/klintukh/image04.jpg new file mode 100644 index 0000000..fe64af2 Binary files /dev/null and b/public/images/docs/klintukh/image04.jpg differ diff --git a/public/images/docs/klintukh/image05.jpg b/public/images/docs/klintukh/image05.jpg new file mode 100644 index 0000000..474ddcf Binary files /dev/null and b/public/images/docs/klintukh/image05.jpg differ diff --git a/public/images/docs/mikova/image01.jpeg b/public/images/docs/mikova/image01.jpeg new file mode 100644 index 0000000..8aabc45 Binary files /dev/null and b/public/images/docs/mikova/image01.jpeg differ diff --git a/public/images/docs/mikova/image02.jpeg b/public/images/docs/mikova/image02.jpeg new file mode 100644 index 0000000..4c938ea Binary files /dev/null and b/public/images/docs/mikova/image02.jpeg differ diff --git a/public/images/docs/mikova/image03.jpeg b/public/images/docs/mikova/image03.jpeg new file mode 100644 index 0000000..aaf87f5 Binary files /dev/null and b/public/images/docs/mikova/image03.jpeg differ diff --git a/public/images/docs/mikova/image04.jpeg b/public/images/docs/mikova/image04.jpeg new file mode 100644 index 0000000..be32780 Binary files /dev/null and b/public/images/docs/mikova/image04.jpeg differ diff --git a/public/images/docs/mityaev/image01.jpg b/public/images/docs/mityaev/image01.jpg new file mode 100644 index 0000000..48a2a27 Binary files /dev/null and b/public/images/docs/mityaev/image01.jpg differ diff --git a/public/images/docs/mityaev/image02.jpg b/public/images/docs/mityaev/image02.jpg new file mode 100644 index 0000000..98ec663 Binary files /dev/null and b/public/images/docs/mityaev/image02.jpg differ diff --git a/public/images/docs/mityaev/image03.jpg b/public/images/docs/mityaev/image03.jpg new file mode 100644 index 0000000..219e6a4 Binary files /dev/null and b/public/images/docs/mityaev/image03.jpg differ diff --git a/public/images/docs/mityaev/image04.jpg b/public/images/docs/mityaev/image04.jpg new file mode 100644 index 0000000..06bf357 Binary files /dev/null and b/public/images/docs/mityaev/image04.jpg differ diff --git a/public/images/docs/mityaev/image05.jpg b/public/images/docs/mityaev/image05.jpg new file mode 100644 index 0000000..c150eee Binary files /dev/null and b/public/images/docs/mityaev/image05.jpg differ diff --git a/public/images/docs/mityaev/image06.jpg b/public/images/docs/mityaev/image06.jpg new file mode 100644 index 0000000..5795889 Binary files /dev/null and b/public/images/docs/mityaev/image06.jpg differ diff --git a/public/images/docs/mityaev/image07.jpg b/public/images/docs/mityaev/image07.jpg new file mode 100644 index 0000000..a5581bf Binary files /dev/null and b/public/images/docs/mityaev/image07.jpg differ diff --git a/public/images/docs/mityaev/image08.jpg b/public/images/docs/mityaev/image08.jpg new file mode 100644 index 0000000..ce2052c Binary files /dev/null and b/public/images/docs/mityaev/image08.jpg differ diff --git a/public/images/docs/mityaev/image09.jpg b/public/images/docs/mityaev/image09.jpg new file mode 100644 index 0000000..32ca919 Binary files /dev/null and b/public/images/docs/mityaev/image09.jpg differ diff --git a/public/images/docs/mityaev/image10.jpg b/public/images/docs/mityaev/image10.jpg new file mode 100644 index 0000000..160b395 Binary files /dev/null and b/public/images/docs/mityaev/image10.jpg differ diff --git a/public/images/docs/mityaev/image11.jpg b/public/images/docs/mityaev/image11.jpg new file mode 100644 index 0000000..4042257 Binary files /dev/null and b/public/images/docs/mityaev/image11.jpg differ diff --git a/public/images/docs/mityaev/image12.jpg b/public/images/docs/mityaev/image12.jpg new file mode 100644 index 0000000..ba4e0b6 Binary files /dev/null and b/public/images/docs/mityaev/image12.jpg differ diff --git a/public/images/docs/mityaev/image13.jpg b/public/images/docs/mityaev/image13.jpg new file mode 100644 index 0000000..3a7f690 Binary files /dev/null and b/public/images/docs/mityaev/image13.jpg differ diff --git a/public/images/docs/polinov/image01.jpg b/public/images/docs/polinov/image01.jpg new file mode 100644 index 0000000..9f489d8 Binary files /dev/null and b/public/images/docs/polinov/image01.jpg differ diff --git a/public/images/docs/polinov/image02.jpg b/public/images/docs/polinov/image02.jpg new file mode 100644 index 0000000..827abc1 Binary files /dev/null and b/public/images/docs/polinov/image02.jpg differ diff --git a/public/images/docs/polinov/image03.jpg b/public/images/docs/polinov/image03.jpg new file mode 100644 index 0000000..e6689fd Binary files /dev/null and b/public/images/docs/polinov/image03.jpg differ diff --git a/public/images/docs/polinov/image04.jpg b/public/images/docs/polinov/image04.jpg new file mode 100644 index 0000000..17c7bce Binary files /dev/null and b/public/images/docs/polinov/image04.jpg differ diff --git a/public/images/docs/polinov/image05.jpg b/public/images/docs/polinov/image05.jpg new file mode 100644 index 0000000..20d6a75 Binary files /dev/null and b/public/images/docs/polinov/image05.jpg differ diff --git a/public/images/docs/volkova-goncharova/image01.jpg b/public/images/docs/volkova-goncharova/image01.jpg new file mode 100644 index 0000000..64339c0 Binary files /dev/null and b/public/images/docs/volkova-goncharova/image01.jpg differ diff --git a/public/images/docs/yancen/image01.jpg b/public/images/docs/yancen/image01.jpg new file mode 100644 index 0000000..c869b98 Binary files /dev/null and b/public/images/docs/yancen/image01.jpg differ diff --git a/public/images/docs/yancen/image02.jpg b/public/images/docs/yancen/image02.jpg new file mode 100644 index 0000000..bd5d5d2 Binary files /dev/null and b/public/images/docs/yancen/image02.jpg differ diff --git a/public/images/docs/yancen/image03.jpg b/public/images/docs/yancen/image03.jpg new file mode 100644 index 0000000..b7625d7 Binary files /dev/null and b/public/images/docs/yancen/image03.jpg differ diff --git a/public/images/docs/yancen/image04.jpg b/public/images/docs/yancen/image04.jpg new file mode 100644 index 0000000..23724a9 Binary files /dev/null and b/public/images/docs/yancen/image04.jpg differ diff --git a/public/images/docs/yancen/image05.jpg b/public/images/docs/yancen/image05.jpg new file mode 100644 index 0000000..a802c8f Binary files /dev/null and b/public/images/docs/yancen/image05.jpg differ diff --git a/public/images/docs/yancen/image06.jpg b/public/images/docs/yancen/image06.jpg new file mode 100644 index 0000000..96b0dc0 Binary files /dev/null and b/public/images/docs/yancen/image06.jpg differ diff --git a/src/entities/beauty-button/ui.tsx b/src/entities/beauty-button/ui.tsx index 14ebf12..35e1510 100644 --- a/src/entities/beauty-button/ui.tsx +++ b/src/entities/beauty-button/ui.tsx @@ -13,7 +13,8 @@ type TBeautyButtonProps = { function BeautyButton({ children, onClick }: TBeautyButtonProps) { const modal = useModal(); - const openModal = () => modal.showModal(); + const openModal = () => + modal.showModal(); return (
diff --git a/src/views/experts/borodin/model/slider.ts b/src/views/experts/borodin/model/slider.ts new file mode 100644 index 0000000..2458200 --- /dev/null +++ b/src/views/experts/borodin/model/slider.ts @@ -0,0 +1,22 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/borodin/image01.jpg'; +import img1 from '@public/images/docs/borodin/image02.jpg'; +import img2 from '@public/images/docs/borodin/image03.jpg'; + +export const slidesData: TSlide[] = [ + { + id: 0, + name: 'Свидетельство', + image: img0, + }, + { + id: 1, + name: 'Свидетельство', + image: img1, + }, + { + id: 2, + name: 'Свидетельство', + image: img2, + }, +]; diff --git a/src/views/experts/borodin/ui.tsx b/src/views/experts/borodin/ui.tsx index 00cae45..e98fb49 100644 --- a/src/views/experts/borodin/ui.tsx +++ b/src/views/experts/borodin/ui.tsx @@ -4,6 +4,8 @@ import { breadcrumbData } from './model/breadcrums'; import { Breadcrumbs } from '@/widgets'; import { Partners } from '@/feature/article'; import photo from '@public/images/photo/borodin-vitaliy.jpg'; +import { slidesData } from './model/slider'; +import { ExpertSlider } from '@widgets/expert-slider'; function ExpertBorodin() { return ( @@ -47,6 +49,7 @@ function ExpertBorodin() { />
+ ); diff --git a/src/views/experts/gulmamedov/model/slider.ts b/src/views/experts/gulmamedov/model/slider.ts new file mode 100644 index 0000000..1b6e50c --- /dev/null +++ b/src/views/experts/gulmamedov/model/slider.ts @@ -0,0 +1,10 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/gulmamedov/image01.jpg'; + +export const slidesData: TSlide[] = [ + { + id: 0, + name: 'Свидетельство', + image: img0, + }, +]; diff --git a/src/views/experts/gulmamedov/ui.tsx b/src/views/experts/gulmamedov/ui.tsx index 5f03907..f423187 100644 --- a/src/views/experts/gulmamedov/ui.tsx +++ b/src/views/experts/gulmamedov/ui.tsx @@ -4,6 +4,8 @@ import { Breadcrumbs } from '@/widgets'; import { Partners } from '@/feature/article'; import { breadcrumbData } from './model/breadcrums'; import photo from '@public/images/photo/empty-photo.jpg'; +import { slidesData } from './model/slider'; +import { ExpertSlider } from '@widgets/expert-slider'; function ExpertGulmamedov() { return ( @@ -44,6 +46,7 @@ function ExpertGulmamedov() { /> + ); diff --git a/src/views/experts/kaminskiy/model/slider.ts b/src/views/experts/kaminskiy/model/slider.ts new file mode 100644 index 0000000..bc8097e --- /dev/null +++ b/src/views/experts/kaminskiy/model/slider.ts @@ -0,0 +1,10 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/kaminskiy/image01.jpg'; + +export const slidesData: TSlide[] = [ + // { + // id: 0, + // name: 'Свидетельство', + // image: img0, + // }, +]; diff --git a/src/views/experts/kolodiy/model/slider.ts b/src/views/experts/kolodiy/model/slider.ts new file mode 100644 index 0000000..91c6fe3 --- /dev/null +++ b/src/views/experts/kolodiy/model/slider.ts @@ -0,0 +1,10 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/kolodiy/image01.jpg'; + +export const slidesData: TSlide[] = [ + // { + // id: 0, + // name: 'Свидетельство', + // image: img0, + // }, +]; diff --git a/src/views/experts/mikova/model/slider.ts b/src/views/experts/mikova/model/slider.ts new file mode 100644 index 0000000..655ea58 --- /dev/null +++ b/src/views/experts/mikova/model/slider.ts @@ -0,0 +1,28 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/mikova/image01.jpeg'; +import img1 from '@public/images/docs/mikova/image02.jpeg'; +import img2 from '@public/images/docs/mikova/image03.jpeg'; +import img3 from '@public/images/docs/mikova/image04.jpeg'; + +export const slidesData: TSlide[] = [ + { + id: 0, + name: 'Свидетельство', + image: img0, + }, + { + id: 1, + name: 'Свидетельство', + image: img1, + }, + { + id: 2, + name: 'Свидетельство', + image: img2, + }, + { + id: 3, + name: 'Свидетельство', + image: img3, + }, +]; diff --git a/src/views/experts/mikova/ui.tsx b/src/views/experts/mikova/ui.tsx index 066b42e..7f6c4ea 100644 --- a/src/views/experts/mikova/ui.tsx +++ b/src/views/experts/mikova/ui.tsx @@ -4,6 +4,8 @@ import { Breadcrumbs } from '@/widgets'; import { Partners } from '@/feature/article'; import { breadcrumbData } from './model/breadcrums'; import photo from '@public/images/photo/mikova-inna.png'; +import { slidesData } from './model/slider'; +import { ExpertSlider } from '@widgets/expert-slider'; function ExpertMikova() { return ( @@ -37,6 +39,7 @@ function ExpertMikova() { /> + ); diff --git a/src/views/experts/mityaev/model/slider.ts b/src/views/experts/mityaev/model/slider.ts new file mode 100644 index 0000000..9e52037 --- /dev/null +++ b/src/views/experts/mityaev/model/slider.ts @@ -0,0 +1,82 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/mityaev/image01.jpg'; +import img1 from '@public/images/docs/mityaev/image02.jpg'; +import img2 from '@public/images/docs/mityaev/image03.jpg'; +import img3 from '@public/images/docs/mityaev/image04.jpg'; +import img4 from '@public/images/docs/mityaev/image05.jpg'; +import img5 from '@public/images/docs/mityaev/image06.jpg'; +import img6 from '@public/images/docs/mityaev/image07.jpg'; +import img7 from '@public/images/docs/mityaev/image08.jpg'; +import img8 from '@public/images/docs/mityaev/image09.jpg'; +import img9 from '@public/images/docs/mityaev/image10.jpg'; +import img10 from '@public/images/docs/mityaev/image11.jpg'; +import img11 from '@public/images/docs/mityaev/image12.jpg'; +import img12 from '@public/images/docs/mityaev/image13.jpg'; + +export const slidesData: TSlide[] = [ + { + id: 0, + name: 'Свидетельство', + image: img0, + }, + { + id: 1, + name: 'Свидетельство', + image: img1, + }, + { + id: 2, + name: 'Свидетельство', + image: img2, + }, + { + id: 3, + name: 'Свидетельство', + image: img3, + }, + { + id: 4, + name: 'Свидетельство', + image: img4, + }, + { + id: 5, + name: 'Свидетельство', + image: img5, + }, + { + id: 6, + name: 'Свидетельство', + image: img6, + }, + { + id: 7, + name: 'Свидетельство', + image: img7, + }, + { + id: 8, + name: 'Свидетельство', + image: img8, + }, + { + id: 9, + name: 'Свидетельство', + image: img9, + }, + { + id: 10, + name: 'Свидетельство', + image: img10, + }, + { + id: 11, + name: 'Свидетельство', + image: img11, + }, + { + id: 12, + name: 'Свидетельство', + image: img12, + }, +]; diff --git a/src/views/experts/mityaev/ui.tsx b/src/views/experts/mityaev/ui.tsx index 69f2280..c79b5ec 100644 --- a/src/views/experts/mityaev/ui.tsx +++ b/src/views/experts/mityaev/ui.tsx @@ -4,6 +4,8 @@ import { Breadcrumbs } from '@/widgets'; import { Partners } from '@/feature/article'; import { breadcrumbData } from './model/breadcrums'; import photo from '@public/images/photo/mityaev-alexey.jpg'; +import { slidesData } from './model/slider'; +import { ExpertSlider } from '@widgets/expert-slider'; function ExpertMityaev() { return ( @@ -63,6 +65,7 @@ function ExpertMityaev() { /> + ); diff --git a/src/views/experts/polinov/model/slider.ts b/src/views/experts/polinov/model/slider.ts new file mode 100644 index 0000000..a588476 --- /dev/null +++ b/src/views/experts/polinov/model/slider.ts @@ -0,0 +1,34 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/polinov/image01.jpg'; +import img1 from '@public/images/docs/polinov/image02.jpg'; +import img2 from '@public/images/docs/polinov/image03.jpg'; +import img3 from '@public/images/docs/polinov/image04.jpg'; +import img4 from '@public/images/docs/polinov/image05.jpg'; + +export const slidesData: TSlide[] = [ + { + id: 0, + name: 'Свидетельство', + image: img0, + }, + { + id: 1, + name: 'Свидетельство', + image: img1, + }, + { + id: 2, + name: 'Свидетельство', + image: img2, + }, + { + id: 3, + name: 'Свидетельство', + image: img3, + }, + { + id: 4, + name: 'Свидетельство', + image: img4, + }, +]; diff --git a/src/views/experts/polinov/ui.tsx b/src/views/experts/polinov/ui.tsx index 1803c76..c3266ed 100644 --- a/src/views/experts/polinov/ui.tsx +++ b/src/views/experts/polinov/ui.tsx @@ -4,6 +4,8 @@ import { Breadcrumbs } from '@/widgets'; import { Partners } from '@/feature/article'; import { breadcrumbData } from './model/breadcrums'; import photo from '@public/images/photo/polinov-andrey.jpg'; +import { slidesData } from './model/slider'; +import { ExpertSlider } from '@widgets/expert-slider'; function ExpertPolinov() { return ( @@ -58,6 +60,7 @@ function ExpertPolinov() { /> + ); diff --git a/src/views/experts/volkova-goncharova/model/slider.ts b/src/views/experts/volkova-goncharova/model/slider.ts new file mode 100644 index 0000000..bd61830 --- /dev/null +++ b/src/views/experts/volkova-goncharova/model/slider.ts @@ -0,0 +1,10 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/volkova-goncharova/image01.jpg'; + +export const slidesData: TSlide[] = [ + { + id: 0, + name: 'Свидетельство', + image: img0, + }, +]; diff --git a/src/views/experts/volkova-goncharova/ui.tsx b/src/views/experts/volkova-goncharova/ui.tsx index 5da3e3d..ef1a9c1 100644 --- a/src/views/experts/volkova-goncharova/ui.tsx +++ b/src/views/experts/volkova-goncharova/ui.tsx @@ -4,6 +4,8 @@ import { Breadcrumbs } from '@/widgets'; import { Partners } from '@/feature/article'; import { breadcrumbData } from './model/breadcrums'; import photo from '@public/images/photo/empty-photo.jpg'; +import { slidesData } from './model/slider'; +import { ExpertSlider } from '@widgets/expert-slider'; function ExpertVolkovaGoncharova() { return ( @@ -83,6 +85,7 @@ function ExpertVolkovaGoncharova() { /> + ); diff --git a/src/views/experts/yancen/model/slider.ts b/src/views/experts/yancen/model/slider.ts new file mode 100644 index 0000000..292ad37 --- /dev/null +++ b/src/views/experts/yancen/model/slider.ts @@ -0,0 +1,40 @@ +import { TSlide } from '@widgets/expert-slider'; +import img0 from '@public/images/docs/yancen/image01.jpg'; +import img1 from '@public/images/docs/yancen/image02.jpg'; +import img2 from '@public/images/docs/yancen/image03.jpg'; +import img3 from '@public/images/docs/yancen/image04.jpg'; +import img4 from '@public/images/docs/yancen/image05.jpg'; +import img5 from '@public/images/docs/yancen/image06.jpg'; + +export const slidesData: TSlide[] = [ + { + id: 0, + name: 'Свидетельство', + image: img0, + }, + { + id: 1, + name: 'Свидетельство', + image: img1, + }, + { + id: 2, + name: 'Свидетельство', + image: img2, + }, + { + id: 3, + name: 'Свидетельство', + image: img3, + }, + { + id: 4, + name: 'Свидетельство', + image: img4, + }, + { + id: 5, + name: 'Свидетельство', + image: img5, + }, +]; diff --git a/src/views/experts/yancen/styles.module.scss b/src/views/experts/yancen/styles.module.scss index 1b8e524..226f55a 100644 --- a/src/views/experts/yancen/styles.module.scss +++ b/src/views/experts/yancen/styles.module.scss @@ -27,6 +27,10 @@ display: flex; flex-direction: column; gap: rem(20px); + order: 1; + @include iftablet { + order: 0; + } h3 { font-family: $font-roboto; @@ -44,7 +48,7 @@ line-height: 110%; color: $color-text; - @include iftablet{ + @include iftablet { font-size: rem(18px); } } @@ -65,19 +69,26 @@ color: $color-text; list-style: unset; - @include iftablet{ + @include iftablet { font-size: rem(18px); } } - .ListShift{ + .ListShift { margin-left: rem(40px); } } .Photo { + order: 0; + justify-self: center; + @include iftablet { + order: 1; + justify-self: unset; + } + .Image { width: rem(200px); height: auto; } -} \ No newline at end of file +} diff --git a/src/views/experts/yancen/ui.tsx b/src/views/experts/yancen/ui.tsx index 6904d15..23b6a82 100644 --- a/src/views/experts/yancen/ui.tsx +++ b/src/views/experts/yancen/ui.tsx @@ -4,6 +4,8 @@ import { Breadcrumbs } from '@/widgets'; import { Partners } from '@/feature/article'; import { breadcrumbData } from './model/breadcrums'; import photo from '@public/images/photo/yancen-yana.png'; +import { slidesData } from './model/slider'; +import { ExpertSlider } from '@widgets/expert-slider'; function ExpertYancen() { return ( @@ -60,6 +62,7 @@ function ExpertYancen() { {'Янцен + ); diff --git a/src/views/home/call-us/ui.tsx b/src/views/home/call-us/ui.tsx index f7d36fe..f3e5495 100644 --- a/src/views/home/call-us/ui.tsx +++ b/src/views/home/call-us/ui.tsx @@ -8,7 +8,8 @@ import { ConsultationModal } from '@/widgets'; function CallUs() { const modal = useModal(); - const openModal = () => modal.showModal(); + const openModal = () => + modal.showModal(); const handlePhoneClick = () => { window.open(`tel:${CONTACTS.PHONE}`, '_self'); diff --git a/src/widgets/expert-slider/index.ts b/src/widgets/expert-slider/index.ts new file mode 100644 index 0000000..5ecdd1f --- /dev/null +++ b/src/widgets/expert-slider/index.ts @@ -0,0 +1 @@ +export * from './ui'; diff --git a/src/widgets/expert-slider/styles.module.scss b/src/widgets/expert-slider/styles.module.scss new file mode 100644 index 0000000..e181bcc --- /dev/null +++ b/src/widgets/expert-slider/styles.module.scss @@ -0,0 +1,65 @@ +.Slider { + display: block; + padding: rem(20px) rem(20px); + width: 80%; + + @include iftablet { + flex: 1; + display: block; + padding: 0 rem(20px); + } +} + +.Slide { + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; +} + + +.PreviewModalContainer { + background: $color-white; + width: max-content; + height: auto; + border-radius: rem(16px); + padding: rem(10px) rem(10px); + margin-bottom: rem(20px); + display: flex; + flex-direction: column; + //max-width: max-content;//rem(460px); + justify-content: center; + align-self: center; + overflow: visible; + + @include iftablet{ + max-width: unset; + align-self: unset; + width: max-content; + height: auto; + } + + .Image{ + object-fit: contain; + width: 80vw; + height: auto; + max-height: 90vh; + @include iftablet{ + width: auto; + height: 90vh; + } + } + + & > svg { + z-index: 1; + top: rem(5px); + right: rem(-25px); + @include iftablet{ + right: rem(-40px); + } + path { + stroke: #FFFFFF; + stroke-opacity: 1; + } + } +} \ No newline at end of file diff --git a/src/widgets/expert-slider/ui.tsx b/src/widgets/expert-slider/ui.tsx new file mode 100644 index 0000000..ed09cd4 --- /dev/null +++ b/src/widgets/expert-slider/ui.tsx @@ -0,0 +1,94 @@ +'use client'; + +import s from './styles.module.scss'; +import Image, { StaticImageData } from 'next/image'; +import { Preview } from '@/widgets'; + +import 'swiper/css'; +import 'swiper/css/navigation'; +import 'swiper/css/grid'; +import 'swiper/css/autoplay'; +import { Swiper, SwiperSlide } from 'swiper/react'; +import { Autoplay, Grid } from 'swiper/modules'; +import { useModal } from '@core/providers/modal-provider'; +import { SwiperOptions } from 'swiper/types'; + +export type TSlide = { + id: number; + name: string; + image: StaticImageData; +}; + +export type TSwiperBreakpoints = + | { + [p: number]: SwiperOptions; + [p: string]: SwiperOptions; + } + | undefined; + +export const swiperDefault: TSwiperBreakpoints = { + 360: { + slidesPerView: 1, + spaceBetween: 10, + }, + 768: { + slidesPerView: 2, + spaceBetween: 30, + }, + 1024: { + slidesPerView: 3, + spaceBetween: 30, + }, + 1440: { + slidesPerView: 4, + spaceBetween: 30, + }, +}; + +type ExpertsSliderProps = { + slides: TSlide[]; + swiperBreakpoints?: TSwiperBreakpoints; +}; + +function ExpertSlider({ + slides, + swiperBreakpoints = swiperDefault, +}: ExpertsSliderProps) { + const modal = useModal(); + + const openPreviewModal = + ({ image, name }: { image: StaticImageData; name: string }) => + () => + modal.showModal( + + {name} + , + ); + + return ( + + {slides.map(({ id, name, image }) => ( + + {name} + + ))} + + ); +} + +export { ExpertSlider };