diff --git a/public/img/home-page/1.jpg b/public/img/home-page/1.jpg
deleted file mode 100644
index 06abefdf..00000000
Binary files a/public/img/home-page/1.jpg and /dev/null differ
diff --git a/public/img/home-page/2.png b/public/img/home-page/2.png
deleted file mode 100644
index 6f97eea1..00000000
Binary files a/public/img/home-page/2.png and /dev/null differ
diff --git a/public/img/home-page/3.png b/public/img/home-page/3.png
deleted file mode 100644
index 2919e5f5..00000000
Binary files a/public/img/home-page/3.png and /dev/null differ
diff --git a/public/post1/avatar.jpg b/public/img/pages/blog/post1/avatar.jpg
similarity index 100%
rename from public/post1/avatar.jpg
rename to public/img/pages/blog/post1/avatar.jpg
diff --git a/public/post1/cover.jpg b/public/img/pages/blog/post1/cover.jpg
similarity index 100%
rename from public/post1/cover.jpg
rename to public/img/pages/blog/post1/cover.jpg
diff --git a/public/post1/extra_video.jpg b/public/img/pages/blog/post1/extra_video.jpg
similarity index 100%
rename from public/post1/extra_video.jpg
rename to public/img/pages/blog/post1/extra_video.jpg
diff --git a/public/post1/main.jpg b/public/img/pages/blog/post1/main.jpg
similarity index 100%
rename from public/post1/main.jpg
rename to public/img/pages/blog/post1/main.jpg
diff --git a/public/post1/slides/1.jpg b/public/img/pages/blog/post1/slides/1.jpg
similarity index 100%
rename from public/post1/slides/1.jpg
rename to public/img/pages/blog/post1/slides/1.jpg
diff --git a/public/post1/slides/2.jpg b/public/img/pages/blog/post1/slides/2.jpg
similarity index 100%
rename from public/post1/slides/2.jpg
rename to public/img/pages/blog/post1/slides/2.jpg
diff --git a/public/post1/video.jpg b/public/img/pages/blog/post1/video.jpg
similarity index 100%
rename from public/post1/video.jpg
rename to public/img/pages/blog/post1/video.jpg
diff --git a/public/post2/cover.jpg b/public/img/pages/blog/post2/cover.jpg
similarity index 100%
rename from public/post2/cover.jpg
rename to public/img/pages/blog/post2/cover.jpg
diff --git a/public/post3/cover.jpg b/public/img/pages/blog/post3/cover.jpg
similarity index 100%
rename from public/post3/cover.jpg
rename to public/img/pages/blog/post3/cover.jpg
diff --git a/public/img/home-page/availables/1.jpg b/public/img/pages/home/availables/1.jpg
similarity index 100%
rename from public/img/home-page/availables/1.jpg
rename to public/img/pages/home/availables/1.jpg
diff --git a/public/img/home-page/availables/2.jpg b/public/img/pages/home/availables/2.jpg
similarity index 100%
rename from public/img/home-page/availables/2.jpg
rename to public/img/pages/home/availables/2.jpg
diff --git a/public/img/pages/home/availables/3.jpg b/public/img/pages/home/availables/3.jpg
new file mode 100644
index 00000000..ce68f045
Binary files /dev/null and b/public/img/pages/home/availables/3.jpg differ
diff --git a/public/img/home-page/liferezidention.png b/public/img/pages/home/integrations/liferezidention.png
similarity index 100%
rename from public/img/home-page/liferezidention.png
rename to public/img/pages/home/integrations/liferezidention.png
diff --git a/public/img/home-page/mirapolis.png b/public/img/pages/home/integrations/mirapolis.png
similarity index 100%
rename from public/img/home-page/mirapolis.png
rename to public/img/pages/home/integrations/mirapolis.png
diff --git a/public/img/home-page/upsidetowers.png b/public/img/pages/home/integrations/upsidetowers.png
similarity index 100%
rename from public/img/home-page/upsidetowers.png
rename to public/img/pages/home/integrations/upsidetowers.png
diff --git a/public/img/home-page/projects/1.jpg b/public/img/pages/home/projects/1.jpg
similarity index 100%
rename from public/img/home-page/projects/1.jpg
rename to public/img/pages/home/projects/1.jpg
diff --git a/public/img/home-page/projects/2.jpg b/public/img/pages/home/projects/2.jpg
similarity index 100%
rename from public/img/home-page/projects/2.jpg
rename to public/img/pages/home/projects/2.jpg
diff --git a/public/img/home-page/projects/3.jpg b/public/img/pages/home/projects/3.jpg
similarity index 100%
rename from public/img/home-page/projects/3.jpg
rename to public/img/pages/home/projects/3.jpg
diff --git a/public/img/home-page/projects/4.jpg b/public/img/pages/home/projects/4.jpg
similarity index 100%
rename from public/img/home-page/projects/4.jpg
rename to public/img/pages/home/projects/4.jpg
diff --git a/public/img/home-page/projects/5.jpg b/public/img/pages/home/projects/5.jpg
similarity index 100%
rename from public/img/home-page/projects/5.jpg
rename to public/img/pages/home/projects/5.jpg
diff --git a/public/img/home-page/projects/6.jpg b/public/img/pages/home/projects/6.jpg
similarity index 100%
rename from public/img/home-page/projects/6.jpg
rename to public/img/pages/home/projects/6.jpg
diff --git a/public/img/home-page/adv.png b/public/img/pages/home/stats/adv.png
similarity index 100%
rename from public/img/home-page/adv.png
rename to public/img/pages/home/stats/adv.png
diff --git a/public/img/home-page/building.png b/public/img/pages/home/stats/building.png
similarity index 100%
rename from public/img/home-page/building.png
rename to public/img/pages/home/stats/building.png
diff --git a/public/img/home-page/highlight.svg b/public/img/pages/home/stats/highlight.svg
similarity index 100%
rename from public/img/home-page/highlight.svg
rename to public/img/pages/home/stats/highlight.svg
diff --git a/public/img/home-page/increasing.svg b/public/img/pages/home/stats/increasing.svg
similarity index 100%
rename from public/img/home-page/increasing.svg
rename to public/img/pages/home/stats/increasing.svg
diff --git a/public/img/home-page/map.jpg b/public/img/pages/home/stats/map.jpg
similarity index 100%
rename from public/img/home-page/map.jpg
rename to public/img/pages/home/stats/map.jpg
diff --git a/public/post1/slides/3.jpg b/public/post1/slides/3.jpg
deleted file mode 100644
index 0611eb86..00000000
Binary files a/public/post1/slides/3.jpg and /dev/null differ
diff --git a/public/videos/showreel_1080p_4000k_h264.mp4 b/public/videos/pages/home/showreel_1080p_4000k_h264.mp4
similarity index 100%
rename from public/videos/showreel_1080p_4000k_h264.mp4
rename to public/videos/pages/home/showreel_1080p_4000k_h264.mp4
diff --git a/src/app/blog/[postId]/layout.tsx b/src/app/blog/[postId]/layout.tsx
index eb623a94..7179b430 100644
--- a/src/app/blog/[postId]/layout.tsx
+++ b/src/app/blog/[postId]/layout.tsx
@@ -3,7 +3,9 @@ import dynamic from 'next/dynamic';
export default function Layout({ children }: { children: React.ReactNode }) {
const DynamicRelevantSlider = dynamic(
() =>
- import('@/components/Blog/RelevantSlider').then(m => m.RelevantSlider),
+ import('@/components/pages/BlogPage/RelevantSlider').then(
+ m => m.RelevantSlider,
+ ),
{ ssr: false },
);
diff --git a/src/app/blog/[postId]/page.tsx b/src/app/blog/[postId]/page.tsx
index 8568a8cb..5a7f16e7 100644
--- a/src/app/blog/[postId]/page.tsx
+++ b/src/app/blog/[postId]/page.tsx
@@ -16,7 +16,10 @@ export default function PostPage({
const [date = '', month = '', year = ''] = post!.createdAt.split(' ');
const DynamicPostSlider = dynamic(
- () => import('@/components/Blog/PostSlider').then(mod => mod.PostSlider),
+ () =>
+ import('@/components/pages/BlogPage/PostSlider').then(
+ mod => mod.PostSlider,
+ ),
{
ssr: false,
},
diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx
index 873bb779..51fd436e 100644
--- a/src/app/blog/page.tsx
+++ b/src/app/blog/page.tsx
@@ -1,5 +1,5 @@
-import { PostsFilters } from '@/components/Blog/PostsFilters';
-import { PostsList } from '@/components/Blog/PostsList';
+import { PostsFilters } from '@/components/pages/BlogPage/PostsFilters';
+import { PostsList } from '@/components/pages/BlogPage/PostsList';
import { Title } from '@/ui/Title';
export default function BlogPage() {
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 729e291c..0d315b15 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -1,8 +1,8 @@
-import { AvailablesSlider } from '@/components/Main/Availables/AvailablesSlider';
-import { IntegrationsSlider } from '@/components/Main/Integrations/IntegrationsSlider';
-import { Motivation } from '@/components/Main/Motivation';
-import { Showreel } from '@/components/Main/Showreel';
-import { Statistics } from '@/components/Main/Statistics';
+import { AvailablesSlider } from '@/components/pages/MainPage/Availables/AvailablesSlider';
+import { IntegrationsSlider } from '@/components/pages/MainPage/Integrations/IntegrationsSlider';
+import { Motivation } from '@/components/pages/MainPage/Motivation';
+import { Showreel } from '@/components/pages/MainPage/Showreel';
+import { Statistics } from '@/components/pages/MainPage/Statistics';
export default function Home() {
return (
@@ -13,19 +13,19 @@ export default function Home() {
+ }
+ className="relative 2xl:w-8 2xl:h-8 w-6 h-6 animate-spin"
+ />
) : (
-
+ }
+ className="relative 2xl:w-8 2xl:h-8 w-6 h-6"
+ />
)
}
className="py-4"
@@ -200,9 +207,15 @@ export function ContactsForm({ inModal = false }: { inModal?: boolean }) {
disabled={isLoading}
icon={
isLoading ? (
-
+ }
+ className="relative 2xl:w-8 2xl:h-8 w-6 h-6 animate-spin"
+ />
) : (
-
+ }
+ className="relative 2xl:w-8 2xl:h-8 w-6 h-6"
+ />
)
}
className="py-4"
@@ -216,7 +229,10 @@ export function ContactsForm({ inModal = false }: { inModal?: boolean }) {
Заявка отправлена
-
+ }
+ className="lg:w-8 lg:h-8 w-6 h-6"
+ />
diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx
index 36a736dc..5407b4a5 100644
--- a/src/components/Layout/Feedback.tsx
+++ b/src/components/Layout/Feedback.tsx
@@ -1,3 +1,4 @@
+import { ClassNameWrapper } from '@/hocs/ClassNameWrapper';
import { AppearanceHr } from '@/ui/AppearanceHr';
import { MailIcon } from '../icons/MailIcon';
import { PhoneIcon } from '../icons/PhoneIcon';
@@ -36,14 +37,20 @@ export function Feedback() {
className="2xl:h-16 h-14 px-6 py-4 2xl:text-base text-sm border rounded-full font-medium flex justify-between items-center w-full border-[#52587A] lg:opacity-80 lg:hover:opacity-100 transition-all"
>
Написать
-
+ }
+ className="lg:w-8 lg:h-8 w-6 h-6"
+ />
Позвонить
-
+ }
+ />
@@ -60,21 +67,30 @@ export function Feedback() {
target="_blank"
className="group border border-[#3D425C] xl:p-4 p-3 rounded-full lg:hover:border-[#52587A] transition-all"
>
-
+ }
+ className="2xl:w-8 2xl:h-8 w-6 h-6"
+ />
-
+ }
+ />
-
+ }
+ />
diff --git a/src/components/Layout/Header.tsx b/src/components/Layout/Header.tsx
index 28f89278..f97c976d 100644
--- a/src/components/Layout/Header.tsx
+++ b/src/components/Layout/Header.tsx
@@ -3,6 +3,7 @@
import { LogoIcon } from '@/components/icons/LogoIcon';
import { LogoWithTextIcon } from '@/components/icons/LogoWithTextIcon';
import { ModalWithForm } from '@/components/Layout/ModalWithForm';
+import { ClassNameWrapper } from '@/hocs/ClassNameWrapper';
import { useWindowWidth } from '@/hooks/useWindowWidth';
import { useModalStore } from '@/stores/useModalStore';
import { BurgerLink } from '@/ui/BurgerLink';
@@ -33,7 +34,7 @@ export function Header() {
-
+ } />
{width >= 1280 && }
diff --git a/src/components/Main/Availables/AvailableItem.tsx b/src/components/Main/Availables/AvailableItem.tsx
deleted file mode 100644
index ee5047c4..00000000
--- a/src/components/Main/Availables/AvailableItem.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-export interface IAvailable {
- title: string;
- text: string;
- img: string;
-}
-
-export function AvailableItem({
- current,
- img,
- text,
- title,
-}: IAvailable & { current: boolean }) {
- return (
-
- {current && (
- <>
-
{title}
-
{text}
- >
- )}
-
- );
-}
diff --git a/src/components/Main/Integrations/IntegrationItem.tsx b/src/components/Main/Integrations/IntegrationItem.tsx
deleted file mode 100644
index 841735a5..00000000
--- a/src/components/Main/Integrations/IntegrationItem.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import Image from 'next/image';
-
-export interface IIntegration {
- img: string;
- title: string;
- year: string;
- company: string;
-}
-
-export function IntegrationItem({
- img,
- title,
- year,
- company,
- current,
-}: IIntegration & { current: boolean }) {
- return (
-
-
-
-
-
{title}
- {year}
-
-
{company}
-
-
- );
-}
diff --git a/src/components/icons/ActiveCubeIcon.tsx b/src/components/icons/ActiveCubeIcon.tsx
index 8eb61f40..2e4f79f7 100644
--- a/src/components/icons/ActiveCubeIcon.tsx
+++ b/src/components/icons/ActiveCubeIcon.tsx
@@ -1,4 +1,4 @@
-export function ActiveCubeIcon({ className = '' }: { className?: string }) {
+export function ActiveCubeIcon() {
return (
diff --git a/src/components/icons/ArrowLeftIcon.tsx b/src/components/icons/ArrowLeftIcon.tsx
index d348d585..d3cd2629 100644
--- a/src/components/icons/ArrowLeftIcon.tsx
+++ b/src/components/icons/ArrowLeftIcon.tsx
@@ -1,4 +1,4 @@
-export function ArrowLeftIcon({ className = '' }: { className?: string }) {
+export function ArrowLeftIcon() {
return (
diff --git a/src/components/Blog/PostSlider.tsx b/src/components/pages/BlogPage/PostSlider.tsx
similarity index 100%
rename from src/components/Blog/PostSlider.tsx
rename to src/components/pages/BlogPage/PostSlider.tsx
diff --git a/src/components/Blog/PostsFilters.tsx b/src/components/pages/BlogPage/PostsFilters.tsx
similarity index 86%
rename from src/components/Blog/PostsFilters.tsx
rename to src/components/pages/BlogPage/PostsFilters.tsx
index 05828786..1c209585 100644
--- a/src/components/Blog/PostsFilters.tsx
+++ b/src/components/pages/BlogPage/PostsFilters.tsx
@@ -1,12 +1,12 @@
'use client';
+import { TagFilterItem } from '@/components/TagFilterItem';
+import { YearFilterDropdown } from '@/components/YearFilterDropdown';
+import { YearFilterItem } from '@/components/YearFilterItem';
import { PostTags } from '@/consts/PostTags';
import { PostYears } from '@/consts/PostYears';
import { Vertical } from '@/ui/Vertical';
import { useSearchParams } from 'next/navigation';
-import { TagFilterItem } from '../TagFilterItem';
-import { YearFilterDropdown } from '../YearFilterDropdown';
-import { YearFilterItem } from '../YearFilterItem';
export function PostsFilters() {
const params = useSearchParams();
diff --git a/src/components/Blog/PostsList.tsx b/src/components/pages/BlogPage/PostsList.tsx
similarity index 100%
rename from src/components/Blog/PostsList.tsx
rename to src/components/pages/BlogPage/PostsList.tsx
diff --git a/src/components/Blog/RelevantPost.tsx b/src/components/pages/BlogPage/RelevantPost.tsx
similarity index 94%
rename from src/components/Blog/RelevantPost.tsx
rename to src/components/pages/BlogPage/RelevantPost.tsx
index d6f9b2b2..2a8ddb77 100644
--- a/src/components/Blog/RelevantPost.tsx
+++ b/src/components/pages/BlogPage/RelevantPost.tsx
@@ -1,10 +1,10 @@
'use client';
+import { ArrowMoreIcon } from '@/components/icons/ArrowMoreIcon';
import { IPost } from '@/types/IPost';
import { AppearanceHr } from '@/ui/AppearanceHr';
import Image from 'next/image';
import { useRouter } from 'next/navigation';
-import { ArrowMoreIcon } from '../icons/ArrowMoreIcon';
export function RelevantPost({ image, title, id }: IPost) {
const { push } = useRouter();
diff --git a/src/components/Blog/RelevantSlider.tsx b/src/components/pages/BlogPage/RelevantSlider.tsx
similarity index 88%
rename from src/components/Blog/RelevantSlider.tsx
rename to src/components/pages/BlogPage/RelevantSlider.tsx
index 38494122..9b85912b 100644
--- a/src/components/Blog/RelevantSlider.tsx
+++ b/src/components/pages/BlogPage/RelevantSlider.tsx
@@ -1,10 +1,11 @@
'use client';
+import { ArrowLeftIcon } from '@/components/icons/ArrowLeftIcon';
import { Posts } from '@/consts/Posts';
+import { ClassNameWrapper } from '@/hocs/ClassNameWrapper';
import { useWindowWidth } from '@/hooks/useWindowWidth';
import { InfinitySlider } from '@/ui/InfinitySlider';
import { useRef } from 'react';
-import { ArrowLeftIcon } from '../icons/ArrowLeftIcon';
import { RelevantPost } from './RelevantPost';
export function RelevantSlider() {
@@ -27,7 +28,10 @@ export function RelevantSlider() {
className="rounded-full border border-[#3D425C] sm:p-4 p-2 lg:opacity-80 lg:hover:opacity-100"
ref={right}
>
-
+ }
+ />
diff --git a/src/components/pages/MainPage/Availables/AvailableItem.tsx b/src/components/pages/MainPage/Availables/AvailableItem.tsx
new file mode 100644
index 00000000..ec80d18a
--- /dev/null
+++ b/src/components/pages/MainPage/Availables/AvailableItem.tsx
@@ -0,0 +1,49 @@
+import { motion } from 'framer-motion';
+
+export interface IAvailable {
+ title: string;
+ text: string;
+ img: string;
+}
+
+export function AvailableItem({
+ current,
+ img,
+ text,
+ title,
+}: IAvailable & { current: boolean }) {
+ return (
+
+
+ {current && (
+ <>
+ {title}
+ {text}
+ >
+ )}
+
+
+ );
+}
diff --git a/src/components/Main/Availables/AvailablesSlider.tsx b/src/components/pages/MainPage/Availables/AvailablesSlider.tsx
similarity index 97%
rename from src/components/Main/Availables/AvailablesSlider.tsx
rename to src/components/pages/MainPage/Availables/AvailablesSlider.tsx
index 5ff153a9..7ed4463f 100644
--- a/src/components/Main/Availables/AvailablesSlider.tsx
+++ b/src/components/pages/MainPage/Availables/AvailablesSlider.tsx
@@ -19,6 +19,7 @@ export function AvailablesSlider({ availables }: { availables: IAvailable[] }) {
slideElement={AvailableItem}
slides={availables}
title="Функциональные возможности"
+ alignItems="end"
/>
);
diff --git a/src/components/pages/MainPage/Integrations/IntegrationItem.tsx b/src/components/pages/MainPage/Integrations/IntegrationItem.tsx
new file mode 100644
index 00000000..d3048185
--- /dev/null
+++ b/src/components/pages/MainPage/Integrations/IntegrationItem.tsx
@@ -0,0 +1,48 @@
+import { motion } from 'framer-motion';
+import Image from 'next/image';
+
+export interface IIntegration {
+ img: string;
+ title: string;
+ year: string;
+ company: string;
+}
+
+export function IntegrationItem({
+ img,
+ title,
+ year,
+ company,
+ current,
+}: IIntegration & { current: boolean }) {
+ return (
+
+
+
+
+
+
{title}
+ {year}
+
+
{company}
+
+
+
+ );
+}
diff --git a/src/components/Main/Integrations/IntegrationsSlider.tsx b/src/components/pages/MainPage/Integrations/IntegrationsSlider.tsx
similarity index 100%
rename from src/components/Main/Integrations/IntegrationsSlider.tsx
rename to src/components/pages/MainPage/Integrations/IntegrationsSlider.tsx
diff --git a/src/components/Main/Motivation.tsx b/src/components/pages/MainPage/Motivation.tsx
similarity index 76%
rename from src/components/Main/Motivation.tsx
rename to src/components/pages/MainPage/Motivation.tsx
index e2d0ed3c..96418799 100644
--- a/src/components/Main/Motivation.tsx
+++ b/src/components/pages/MainPage/Motivation.tsx
@@ -1,6 +1,7 @@
-import { Title } from '../../ui/Title';
-import { ArrowDownIcon } from '../icons/ArrowDownIcon';
-import { SkolkovoIcon } from '../icons/SkolkovoIcon';
+import { ArrowDownIcon } from '@/components/icons/ArrowDownIcon';
+import { SkolkovoIcon } from '@/components/icons/SkolkovoIcon';
+import { ClassNameWrapper } from '@/hocs/ClassNameWrapper';
+import { Title } from '@/ui/Title';
export function Motivation() {
return (
@@ -12,7 +13,7 @@ export function Motivation() {
продаж
для застройщиков
-
+ } />
diff --git a/src/components/Main/Projects.tsx b/src/components/pages/MainPage/Projects.tsx
similarity index 91%
rename from src/components/Main/Projects.tsx
rename to src/components/pages/MainPage/Projects.tsx
index f90b92ff..036d8395 100644
--- a/src/components/Main/Projects.tsx
+++ b/src/components/pages/MainPage/Projects.tsx
@@ -6,7 +6,7 @@ export function Projects() {
-
+
Конверсия из консультации в бронирование
увеличивается на
@@ -57,7 +57,7 @@ export function Statistics() {
48%
-
+
Конверсия из консультации в бронирование
увеличивается на
@@ -86,7 +86,7 @@ export function Statistics() {
42%
-
+
Время реализации проекта
сокращается до
-
+
Время на подготовку рекламных
материалов сокращается до
(null);
+
+ useEffect(() => {
+ if (!className.split(' ').length) return;
+
+ ref.current?.children
+ .item(0)
+ ?.classList.add(...className.split(' ').filter(Boolean));
+ }, [className]);
+
+ return {element}
;
+}
diff --git a/src/ui/InfinitySlider.tsx b/src/ui/InfinitySlider.tsx
index df3dd7f2..36ab3a2f 100644
--- a/src/ui/InfinitySlider.tsx
+++ b/src/ui/InfinitySlider.tsx
@@ -1,4 +1,5 @@
import { ArrowLeftIcon } from '@/components/icons/ArrowLeftIcon';
+import { ClassNameWrapper } from '@/hocs/ClassNameWrapper';
import { useWindowWidth } from '@/hooks/useWindowWidth';
import {
ReactNode,
@@ -160,7 +161,10 @@ export function InfinitySlider({
/>
)}
diff --git a/src/ui/SliderControls.tsx b/src/ui/SliderControls.tsx
index 9a4ac1e0..557dc388 100644
--- a/src/ui/SliderControls.tsx
+++ b/src/ui/SliderControls.tsx
@@ -1,4 +1,5 @@
import { ArrowLeftIcon } from '@/components/icons/ArrowLeftIcon';
+import { ClassNameWrapper } from '@/hocs/ClassNameWrapper';
export function SliderControls({
slidesCount = 6,
@@ -63,7 +64,7 @@ export function SliderControls({
onClick={onRightClick}
className="rounded-full p-5 border border-[#3D425C]"
>
-
+
} />
);
diff --git a/src/ui/SliderWithScaling.tsx b/src/ui/SliderWithScaling.tsx
index f71fd9e4..2ba20824 100644
--- a/src/ui/SliderWithScaling.tsx
+++ b/src/ui/SliderWithScaling.tsx
@@ -2,6 +2,7 @@
import { useWindowWidth } from '@/hooks/useWindowWidth';
import {
+ Fragment,
ReactElement,
useCallback,
useEffect,
@@ -17,11 +18,13 @@ export function SliderWithScaling
({
slides,
slideElement,
className = '',
+ alignItems = 'start',
title,
}: {
slides: T[];
slideElement: (_: T & { current: boolean }) => ReactElement;
className?: string;
+ alignItems?: 'start' | 'center' | 'end';
title: string;
}) {
const width = useWindowWidth();
@@ -97,15 +100,17 @@ export function SliderWithScaling({
- {order.map((slide, index) =>
- slideElement({ current: index === 1, ...slide }),
- )}
+ {order.map((slide, index) => (
+
+ {slideElement({ current: index === 1, ...slide })}
+
+ ))}
diff --git a/tailwind.config.ts b/tailwind.config.ts
index afbe26b5..2a0550bd 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -12,23 +12,6 @@ const config: Config = {
'gradient-conic':
'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
},
- keyframes: {
- scaling: {
- '0%': {
- transition: 'all 1s ease',
- minHeight: '31.8vw',
- minWidth: '31.6vw',
- },
- '100%': {
- transition: 'all 1s ease',
- minHeight: '43.2vw',
- minWidth: '48vw',
- },
- },
- },
- animation: {
- scaling: 'scaling 1s ease-in-out both',
- },
},
},
plugins: [],
diff --git a/tsconfig.json b/tsconfig.json
index 6b5fcde6..b9e7aa81 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -21,6 +21,7 @@
"@/*": ["./src/*"],
"@/components/*": ["./src/components/*"],
"@/hooks/*": ["./src/hooks/*"],
+ "@/hocs/*": ["./src/hocs/*"],
"@/stores/*": ["./src/stores/*"],
"@/pages/*": ["./src/pages/*"],
"@/utils/*": ["./src/utils/*"]