diff --git a/src/app/consent/page.tsx b/src/app/consent/page.tsx index c3b77e8..56fc255 100644 --- a/src/app/consent/page.tsx +++ b/src/app/consent/page.tsx @@ -1,6 +1,6 @@ -import PageContainer from "@/components/PageContainer/PageContainer"; -import PageItem from "@/components/PageBlock/PageItem"; -import Logo from "@/components/Logo/Logo"; +import PageContainer from "@/components/layout/PageContainer/PageContainer"; +import PageItem from "@/components/layout/PageBlock/PageItem"; +import Logo from "@/components/ui/Logo/Logo"; import ConsentForm from "@/app/consent/components/ConsentForm/ConsentForm"; diff --git a/src/app/create-id/page.tsx b/src/app/create-id/page.tsx index bf92600..7779a88 100644 --- a/src/app/create-id/page.tsx +++ b/src/app/create-id/page.tsx @@ -1,7 +1,7 @@ -import LoginForm from "@/components/LoginForm/LoginForm"; -import Logo from "@/components/Logo/Logo"; -import PageItem from "@/components/PageBlock/PageItem"; -import PageContainer from "@/components/PageContainer/PageContainer"; +import LoginForm from "@/components/features/LoginForm/LoginForm"; +import Logo from "@/components/ui/Logo/Logo"; +import PageItem from "@/components/layout/PageBlock/PageItem"; +import PageContainer from "@/components/layout/PageContainer/PageContainer"; export default function CreateIdPage() { return ( diff --git a/src/app/layout.tsx b/src/app/layout.tsx index a78d5ba..8d4b3c7 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -6,11 +6,11 @@ import { mantineHtmlProps, MantineProvider, } from "@mantine/core"; -import Header from "@/components/Header/Header"; +import Header from "@/components/layout/Header/Header"; import { theme } from "@/theme"; import "@/app/global.css"; import { Notifications } from "@mantine/notifications"; -import Footer from "@/components/Footer/Footer"; +import Footer from "@/components/layout/Footer/Footer"; import ReduxProvider from "@/providers/ReduxProvider"; export const metadata = { diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index 4c43769..b66cfd1 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -1,7 +1,7 @@ -import LoginForm from "@/components/LoginForm/LoginForm"; -import Logo from "@/components/Logo/Logo"; -import PageItem from "@/components/PageBlock/PageItem"; -import PageContainer from "@/components/PageContainer/PageContainer"; +import LoginForm from "@/components/features/LoginForm/LoginForm"; +import PageItem from "@/components/layout/PageBlock/PageItem"; +import PageContainer from "@/components/layout/PageContainer/PageContainer"; +import Logo from "@/components/ui/Logo/Logo"; interface LoginPageProps { searchParams: Promise<{ login_challenge?: string }>; diff --git a/src/app/services/components/ServicesList/ServicesList.tsx b/src/app/services/components/ServicesList/ServicesList.tsx index ef72e02..7661072 100644 --- a/src/app/services/components/ServicesList/ServicesList.tsx +++ b/src/app/services/components/ServicesList/ServicesList.tsx @@ -4,7 +4,7 @@ import { useMemo } from "react"; import { redirect } from "next/navigation"; import { Button, Stack, Title } from "@mantine/core"; import styles from "@/app/services/components/ServicesList/ServicesList.module.css"; -import TitleWithLines from "@/components/TitleWithLines/TitleWithLines"; +import TitleWithLines from "@/components/ui/TitleWithLines/TitleWithLines"; import SCOPES from "@/constants/scopes"; import { Scopes } from "@/enums/Scopes"; import { setTargetService } from "@/lib/store/features/targetService/targetServiceSlice"; diff --git a/src/app/services/page.tsx b/src/app/services/page.tsx index fb31ded..7c998d6 100644 --- a/src/app/services/page.tsx +++ b/src/app/services/page.tsx @@ -1,6 +1,6 @@ -import Logo from "@/components/Logo/Logo"; -import PageItem from "@/components/PageBlock/PageItem"; -import PageContainer from "@/components/PageContainer/PageContainer"; +import Logo from "@/components/ui/Logo/Logo"; +import PageItem from "@/components/layout/PageBlock/PageItem"; +import PageContainer from "@/components/layout/PageContainer/PageContainer"; import ServicesList from "@/app/services/components/ServicesList/ServicesList"; export default function ServicesPage() { diff --git a/src/app/verify-phone/page.tsx b/src/app/verify-phone/page.tsx index bb85c6f..91ca710 100644 --- a/src/app/verify-phone/page.tsx +++ b/src/app/verify-phone/page.tsx @@ -1,7 +1,7 @@ -import Logo from "@/components/Logo/Logo"; -import PageItem from "@/components/PageBlock/PageItem"; -import PageContainer from "@/components/PageContainer/PageContainer"; import VerifyPhoneForm from "@/app/verify-phone/components/VerifyPhoneForm/VerifyPhoneForm"; +import PageItem from "@/components/layout/PageBlock/PageItem"; +import PageContainer from "@/components/layout/PageContainer/PageContainer"; +import Logo from "@/components/ui/Logo/Logo"; export default function CreateIdPage() { return ( diff --git a/src/components/MotionWrapper/MotionWrapper.tsx b/src/components/MotionWrapper/MotionWrapper.tsx deleted file mode 100644 index 2b4e1d2..0000000 --- a/src/components/MotionWrapper/MotionWrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -'use client'; - -import { motion, MotionProps } from 'framer-motion'; -import { ReactNode } from 'react'; - -interface MotionWrapperProps extends MotionProps { - children: ReactNode; -} - -export function MotionWrapper({ children, ...props }: MotionWrapperProps) { - return {children}; -} \ No newline at end of file diff --git a/src/components/LoginForm/LoginForm.tsx b/src/components/features/LoginForm/LoginForm.tsx similarity index 98% rename from src/components/LoginForm/LoginForm.tsx rename to src/components/features/LoginForm/LoginForm.tsx index 343f59d..f6d66a5 100644 --- a/src/components/LoginForm/LoginForm.tsx +++ b/src/components/features/LoginForm/LoginForm.tsx @@ -5,7 +5,7 @@ import { useRouter } from "next/navigation"; import { Button, Stack } from "@mantine/core"; import { useForm } from "@mantine/form"; import { Auth } from "@/client"; -import PhoneInput from "@/components/PhoneInput/PhoneInput"; +import PhoneInput from "@/components/ui/PhoneInput/PhoneInput"; import { setLoginChallenge, setPhoneNumber, diff --git a/src/components/Footer/Footer.tsx b/src/components/layout/Footer/Footer.tsx similarity index 100% rename from src/components/Footer/Footer.tsx rename to src/components/layout/Footer/Footer.tsx diff --git a/src/components/Header/Header.tsx b/src/components/layout/Header/Header.tsx similarity index 73% rename from src/components/Header/Header.tsx rename to src/components/layout/Header/Header.tsx index aa1bc68..3386ce8 100644 --- a/src/components/Header/Header.tsx +++ b/src/components/layout/Header/Header.tsx @@ -1,5 +1,5 @@ import { Group } from "@mantine/core"; -import { ColorSchemeToggle } from "@/components/ColorSchemeToggle/ColorSchemeToggle"; +import { ColorSchemeToggle } from "@/components/ui/ColorSchemeToggle/ColorSchemeToggle"; const Header = () => { return ( diff --git a/src/components/layout/MotionWrapper/MotionWrapper.tsx b/src/components/layout/MotionWrapper/MotionWrapper.tsx new file mode 100644 index 0000000..c1da8d8 --- /dev/null +++ b/src/components/layout/MotionWrapper/MotionWrapper.tsx @@ -0,0 +1,12 @@ +"use client"; + +import { ReactNode } from "react"; +import { motion, MotionProps } from "framer-motion"; + +interface MotionWrapperProps extends MotionProps { + children: ReactNode; +} + +export function MotionWrapper({ children, ...props }: MotionWrapperProps) { + return {children}; +} diff --git a/src/components/PageBlock/PageItem.module.css b/src/components/layout/PageBlock/PageItem.module.css similarity index 100% rename from src/components/PageBlock/PageItem.module.css rename to src/components/layout/PageBlock/PageItem.module.css diff --git a/src/components/PageBlock/PageItem.tsx b/src/components/layout/PageBlock/PageItem.tsx similarity index 93% rename from src/components/PageBlock/PageItem.tsx rename to src/components/layout/PageBlock/PageItem.tsx index 6d2449a..d1ee17e 100644 --- a/src/components/PageBlock/PageItem.tsx +++ b/src/components/layout/PageBlock/PageItem.tsx @@ -1,6 +1,6 @@ import { CSSProperties, FC, ReactNode } from "react"; import classNames from "classnames"; -import { MotionWrapper } from "@/components/MotionWrapper/MotionWrapper"; +import { MotionWrapper } from "@/components/layout/MotionWrapper/MotionWrapper"; import styles from "./PageItem.module.css"; type Props = { diff --git a/src/components/PageContainer/PageContainer.module.css b/src/components/layout/PageContainer/PageContainer.module.css similarity index 100% rename from src/components/PageContainer/PageContainer.module.css rename to src/components/layout/PageContainer/PageContainer.module.css diff --git a/src/components/PageContainer/PageContainer.tsx b/src/components/layout/PageContainer/PageContainer.tsx similarity index 100% rename from src/components/PageContainer/PageContainer.tsx rename to src/components/layout/PageContainer/PageContainer.tsx diff --git a/src/components/ColorSchemeToggle/ColorSchemeToggle.module.css b/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.module.css similarity index 100% rename from src/components/ColorSchemeToggle/ColorSchemeToggle.module.css rename to src/components/ui/ColorSchemeToggle/ColorSchemeToggle.module.css diff --git a/src/components/ColorSchemeToggle/ColorSchemeToggle.tsx b/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.tsx similarity index 92% rename from src/components/ColorSchemeToggle/ColorSchemeToggle.tsx rename to src/components/ui/ColorSchemeToggle/ColorSchemeToggle.tsx index 7783b82..1b5ba66 100644 --- a/src/components/ColorSchemeToggle/ColorSchemeToggle.tsx +++ b/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.tsx @@ -7,7 +7,7 @@ import { useComputedColorScheme, useMantineColorScheme, } from "@mantine/core"; -import style from "@/components/ColorSchemeToggle/ColorSchemeToggle.module.css"; +import style from "./ColorSchemeToggle.module.css"; export function ColorSchemeToggle() { const { setColorScheme } = useMantineColorScheme(); diff --git a/src/components/Logo/Logo.tsx b/src/components/ui/Logo/Logo.tsx similarity index 100% rename from src/components/Logo/Logo.tsx rename to src/components/ui/Logo/Logo.tsx diff --git a/src/components/PhoneInput/PhoneInput.module.css b/src/components/ui/PhoneInput/PhoneInput.module.css similarity index 100% rename from src/components/PhoneInput/PhoneInput.module.css rename to src/components/ui/PhoneInput/PhoneInput.module.css diff --git a/src/components/PhoneInput/PhoneInput.tsx b/src/components/ui/PhoneInput/PhoneInput.tsx similarity index 90% rename from src/components/PhoneInput/PhoneInput.tsx rename to src/components/ui/PhoneInput/PhoneInput.tsx index affbfe8..38a6c31 100644 --- a/src/components/PhoneInput/PhoneInput.tsx +++ b/src/components/ui/PhoneInput/PhoneInput.tsx @@ -7,10 +7,10 @@ import { type InputBaseProps, type PolymorphicComponentProps, } from "@mantine/core"; -import CountrySelect from "@/components/PhoneInput/components/CountrySelect"; -import { Country } from "@/components/PhoneInput/types"; -import getInitialDataFromValue from "@/components/PhoneInput/utils/getInitialDataFromValue"; -import getPhoneMask from "@/components/PhoneInput/utils/getPhoneMask"; +import CountrySelect from "@/components/ui/PhoneInput/components/CountrySelect"; +import { Country } from "@/components/ui/PhoneInput/types"; +import getInitialDataFromValue from "@/components/ui/PhoneInput/utils/getInitialDataFromValue"; +import getPhoneMask from "@/components/ui/PhoneInput/utils/getPhoneMask"; type AdditionalProps = { onChange: (value: string | null) => void; diff --git a/src/components/PhoneInput/components/CountrySelect.tsx b/src/components/ui/PhoneInput/components/CountrySelect.tsx similarity index 94% rename from src/components/PhoneInput/components/CountrySelect.tsx rename to src/components/ui/PhoneInput/components/CountrySelect.tsx index 137a544..f4893c8 100644 --- a/src/components/PhoneInput/components/CountrySelect.tsx +++ b/src/components/ui/PhoneInput/components/CountrySelect.tsx @@ -10,9 +10,10 @@ import { Text, useCombobox, } from "@mantine/core"; -import style from "@/components/PhoneInput/PhoneInput.module.css"; -import { Country } from "@/components/PhoneInput/types"; -import countryOptionsDataMap from "@/components/PhoneInput/utils/countryOptionsDataMap"; +import style from "@/components/ui/PhoneInput/PhoneInput.module.css"; +import { Country } from "@/components/ui/PhoneInput/types"; +import countryOptionsDataMap from "@/components/ui/PhoneInput/utils/countryOptionsDataMap"; + const countryOptionsData = Object.values(countryOptionsDataMap); diff --git a/src/components/PhoneInput/types.ts b/src/components/ui/PhoneInput/types.ts similarity index 100% rename from src/components/PhoneInput/types.ts rename to src/components/ui/PhoneInput/types.ts diff --git a/src/components/PhoneInput/utils/countryOptionsDataMap.ts b/src/components/ui/PhoneInput/utils/countryOptionsDataMap.ts similarity index 88% rename from src/components/PhoneInput/utils/countryOptionsDataMap.ts rename to src/components/ui/PhoneInput/utils/countryOptionsDataMap.ts index a3630e6..313c72d 100644 --- a/src/components/PhoneInput/utils/countryOptionsDataMap.ts +++ b/src/components/ui/PhoneInput/utils/countryOptionsDataMap.ts @@ -1,9 +1,9 @@ import countries from "i18n-iso-countries"; import ru from "i18n-iso-countries/langs/ru.json"; import { type CountryCode, getCountries } from "libphonenumber-js"; -import getFlagEmoji from "@/components/PhoneInput/utils/getFlagEmoji"; +import getFlagEmoji from "@/components/ui/PhoneInput/utils/getFlagEmoji"; import { getCountryCallingCode } from "libphonenumber-js/max"; -import { Country } from "@/components/PhoneInput/types"; +import { Country } from "@/components/ui/PhoneInput/types"; countries.registerLocale(ru); diff --git a/src/components/PhoneInput/utils/getFlagEmoji.ts b/src/components/ui/PhoneInput/utils/getFlagEmoji.ts similarity index 100% rename from src/components/PhoneInput/utils/getFlagEmoji.ts rename to src/components/ui/PhoneInput/utils/getFlagEmoji.ts diff --git a/src/components/PhoneInput/utils/getInitialDataFromValue.ts b/src/components/ui/PhoneInput/utils/getInitialDataFromValue.ts similarity index 65% rename from src/components/PhoneInput/utils/getInitialDataFromValue.ts rename to src/components/ui/PhoneInput/utils/getInitialDataFromValue.ts index 13f9f3e..a285d3b 100644 --- a/src/components/PhoneInput/utils/getInitialDataFromValue.ts +++ b/src/components/ui/PhoneInput/utils/getInitialDataFromValue.ts @@ -1,7 +1,7 @@ import { CountryCode } from "libphonenumber-js"; -import { Country } from "@/components/PhoneInput/types"; -import countryOptionsDataMap from "@/components/PhoneInput/utils/countryOptionsDataMap"; -import getPhoneMask from "@/components/PhoneInput/utils/getPhoneMask"; +import { Country } from "@/components/ui/PhoneInput/types"; +import countryOptionsDataMap from "@/components/ui/PhoneInput/utils/countryOptionsDataMap"; +import getPhoneMask from "@/components/ui/PhoneInput/utils/getPhoneMask"; type InitialDataFromValue = { country: Country; diff --git a/src/components/PhoneInput/utils/getPhoneMask.ts b/src/components/ui/PhoneInput/utils/getPhoneMask.ts similarity index 100% rename from src/components/PhoneInput/utils/getPhoneMask.ts rename to src/components/ui/PhoneInput/utils/getPhoneMask.ts diff --git a/src/components/TitleWithLines/TitleWithLines.tsx b/src/components/ui/TitleWithLines/TitleWithLines.tsx similarity index 100% rename from src/components/TitleWithLines/TitleWithLines.tsx rename to src/components/ui/TitleWithLines/TitleWithLines.tsx