feat: restructure ads mgmt by creating a new layout for ads creation and updating related schemas

This commit is contained in:
Ardeman
2025-03-12 09:47:21 +08:00
parent 90e2042a91
commit 70cbb134d8
22 changed files with 382 additions and 71 deletions
+40
View File
@@ -0,0 +1,40 @@
import Autoplay from 'embla-carousel-autoplay'
import useEmblaCarousel from 'embla-carousel-react'
import { Link } from 'react-router'
import { BANNER } from '~/data/contents'
export const Banner = () => {
const [emblaReference] = useEmblaCarousel({ loop: true }, [Autoplay()])
return (
<div className="">
<div className="relative">
<div
className="embla overflow-hidden"
ref={emblaReference}
>
<div className="embla__container flex">
{BANNER.map(({ urlImage, alt, link }, index) => (
<div
key={index}
className="embla__slide max-h-[100px] min-h-[65px] w-full min-w-0 flex-none"
>
<Link
to={link}
className="mt-2 h-full py-2"
>
<img
src={urlImage}
alt={alt}
className="h-[70px] w-[100%] content-center sm:h-full"
/>
</Link>
</div>
))}
</div>
</div>
</div>
</div>
)
}
+1 -1
View File
@@ -2,8 +2,8 @@ import { type PropsWithChildren } from 'react'
import { PopupModal } from '~/components/popup/modal'
import { SuccessModal } from '~/components/popup/success-modal'
import { Banner } from '~/components/ui/banner'
import { useNewsContext } from '~/contexts/news'
import { Banner } from '~/layouts/news/banner'
import { FormForgotPassword } from '~/layouts/news/form-forgot-password'
import { FormLogin } from '~/layouts/news/form-login'
import { FormRegister } from '~/layouts/news/form-register'