From ea8a15271198db6d846e0165d3389390cf92f467 Mon Sep 17 00:00:00 2001 From: RedrockJS Date: Tue, 8 Jul 2025 09:52:34 +0300 Subject: [PATCH] feat: add modal --- src/app/layout.tsx | 5 +- src/core/providers/modal-provider.tsx | 41 +++++ src/core/styles/variables.scss | 1 + .../article/consultation-modal/index.ts | 1 + .../consultation-modal/styles.module.scss | 46 ++++++ src/feature/article/consultation-modal/ui.tsx | 145 ++++++++++++++++++ src/feature/article/index.ts | 1 + .../article/sidebar/styles.module.scss | 12 +- src/feature/article/sidebar/ui.tsx | 18 ++- src/shared/lib/clickOutside/index.ts | 1 + .../lib/clickOutside/useClickOutside.tsx | 28 ++++ src/shared/lib/detectIOS/detectIOS.ts | 15 ++ src/shared/lib/detectIOS/index.ts | 1 + src/shared/lib/index.ts | 2 + src/shared/ui/index.ts | 2 + src/shared/ui/modal/close-icon.tsx | 23 +++ src/shared/ui/modal/index.ts | 2 + src/shared/ui/modal/modal-content.module.scss | 79 ++++++++++ src/shared/ui/modal/modal-content.tsx | 49 ++++++ src/shared/ui/modal/modal.module.scss | 54 +++++++ src/shared/ui/modal/modal.tsx | 44 ++++++ src/shared/ui/text-area/index.ts | 1 + src/shared/ui/text-area/styles.module.scss | 139 +++++++++++++++++ src/shared/ui/text-area/ui.tsx | 58 +++++++ 24 files changed, 763 insertions(+), 5 deletions(-) create mode 100644 src/core/providers/modal-provider.tsx create mode 100644 src/feature/article/consultation-modal/index.ts create mode 100644 src/feature/article/consultation-modal/styles.module.scss create mode 100644 src/feature/article/consultation-modal/ui.tsx create mode 100644 src/shared/lib/clickOutside/index.ts create mode 100644 src/shared/lib/clickOutside/useClickOutside.tsx create mode 100644 src/shared/lib/detectIOS/detectIOS.ts create mode 100644 src/shared/lib/detectIOS/index.ts create mode 100644 src/shared/lib/index.ts create mode 100644 src/shared/ui/modal/close-icon.tsx create mode 100644 src/shared/ui/modal/index.ts create mode 100644 src/shared/ui/modal/modal-content.module.scss create mode 100644 src/shared/ui/modal/modal-content.tsx create mode 100644 src/shared/ui/modal/modal.module.scss create mode 100644 src/shared/ui/modal/modal.tsx create mode 100644 src/shared/ui/text-area/index.ts create mode 100644 src/shared/ui/text-area/styles.module.scss create mode 100644 src/shared/ui/text-area/ui.tsx diff --git a/src/app/layout.tsx b/src/app/layout.tsx index b7d4052..0781bff 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -4,6 +4,7 @@ import { Montserrat, Roboto } from 'next/font/google'; import '@core/styles/globals.scss'; import '@core/styles/reset.scss'; import { Footer, Header } from '@/widgets'; +import { ModalProvider } from '@core/providers/modal-provider'; const roboto = Roboto({ subsets: ['cyrillic'], @@ -30,7 +31,9 @@ export default function RootLayout({
-
{children}
+ +
{children}
+