feat: add footer newsletter and links components to NewsPage; enhance Button with new variant

This commit is contained in:
Ardeman 2025-02-01 15:52:08 +08:00
parent 25f4fd85a6
commit 884e47de01
4 changed files with 55 additions and 2 deletions

View File

@ -13,6 +13,7 @@ const buttonVariants = cva(
variants: {
variant: {
newsPrimary: 'bg-[#2E2F7C] text-white text-lg',
newsPrimaryOutline: 'border-[3px] border-white text-white text-lg',
newsSecondary: 'border-[3px] border-[#2E2F7C] text-[#2E2F7C] text-lg',
icon: '',
// destructive:

View File

@ -0,0 +1,3 @@
export const FooterLinks = () => {
return <div className="col-span-3">FooterLinks</div>
}

View File

@ -0,0 +1,43 @@
import { Link } from 'react-router'
import { Button } from '~/components/ui/button'
import { DUMMY } from '~/data/dummy'
export const FooterNewsletter = () => {
return (
<div className="col-span-2 grid gap-y-6">
<div className="h-[75px] bg-white p-3">
<Link
to="/news"
className="h-full py-[5px]"
>
<img
src={DUMMY.logo}
alt={DUMMY.title}
className="h-full w-auto"
/>
</Link>
</div>
<h2>Join Our Newsletter</h2>
<p>
Tidak ingin ketinggalan Berita Hukum terhangat? ingin mendapat informasi
kajian dan networking terbaru? ikuti Newsletter kami and Stay up to
Speed!
</p>
<form className="grid gap-5">
<input
placeholder="Daftarkan Email Disini"
className="h-[50px] flex-1 bg-white text-center text-lg font-light text-black placeholder:text-[#777777] focus:ring-0 focus:outline-none"
size={1}
/>
<Button
type="submit"
variant="newsPrimaryOutline"
size="block"
>
Subscribe
</Button>
</form>
</div>
)
}

View File

@ -1,16 +1,18 @@
import React, { type FC, type PropsWithChildren } from 'react'
import { FooterLinks } from './footer-links'
import { FooterNewsletter } from './footer-newsletter'
import { HeaderMenu } from './header-menu'
import { HeaderTop } from './header-top'
export const NewsPage: FC<PropsWithChildren> = ({ children }) => {
return (
<main className="min-h-dvh bg-[#ECECEC]">
<main className="relative min-h-dvh bg-[#ECECEC]">
<header>
<HeaderTop />
<HeaderMenu />
</header>
<div className="mx-auto grid w-full max-w-[1340px] gap-y-[25px] bg-[#ECECEC] px-[50px] pt-[25px]">
<div className="mx-[50px] my-[25px] grid gap-y-[25px]">
<img
src="/images/banner.png"
alt="banner"
@ -20,6 +22,10 @@ export const NewsPage: FC<PropsWithChildren> = ({ children }) => {
{children}
</div>
</div>
<footer className="absolute bottom-0 grid w-full grid-cols-5 gap-32 bg-[#2E2F7C] px-16 py-20 text-white">
<FooterNewsletter />
<FooterLinks />
</footer>
</main>
)
}