feat: refactor components to use named exports for better tree-shaking

This commit is contained in:
Ardeman 2025-02-23 22:10:47 +08:00
commit 2b8d0604e0
6 changed files with 8 additions and 12 deletions

View File

@ -2,7 +2,7 @@ import { Link } from 'react-router'
import { APP } from '~/data/meta' import { APP } from '~/data/meta'
export default function Banner() { export const Banner = () => {
return ( return (
<div className="min-h-[65px] sm:mx-10"> <div className="min-h-[65px] sm:mx-10">
<div className="relative"> <div className="relative">

View File

@ -5,7 +5,7 @@ interface BreadcrumbProperty {
slug: string slug: string
} }
const Breadcrumb = (property: BreadcrumbProperty) => { export const Breadcrumb = (property: BreadcrumbProperty) => {
const { slug } = property const { slug } = property
return ( return (
<div className="flex items-center gap-2"> <div className="flex items-center gap-2">
@ -20,5 +20,3 @@ const Breadcrumb = (property: BreadcrumbProperty) => {
</div> </div>
) )
} }
export default Breadcrumb

View File

@ -40,7 +40,7 @@ const dataSocialMedia = [
}, },
] ]
const IconsSocial: FC<SocialMediaProperties> = ({ className }) => { export const IconsSocial: FC<SocialMediaProperties> = ({ className }) => {
return ( return (
<div className={twMerge('flex gap-2', className)}> <div className={twMerge('flex gap-2', className)}>
{dataSocialMedia.map(({ url, icon: Icon }, index) => ( {dataSocialMedia.map(({ url, icon: Icon }, index) => (
@ -56,5 +56,3 @@ const IconsSocial: FC<SocialMediaProperties> = ({ className }) => {
</div> </div>
) )
} }
export default IconsSocial

View File

@ -2,9 +2,9 @@ import { type PropsWithChildren } from 'react'
import { PopupModal } from '~/components/popup/modal' import { PopupModal } from '~/components/popup/modal'
import { SuccessModal } from '~/components/popup/success-modal' import { SuccessModal } from '~/components/popup/success-modal'
import Banner from '~/components/ui/banner' import { Banner } from '~/components/ui/banner'
import { useNewsContext } from '~/contexts/news' import { useNewsContext } from '~/contexts/news'
import FormForgotPassword from '~/layouts/news/form-forgot-password' import { FormForgotPassword } from '~/layouts/news/form-forgot-password'
import { FormLogin } from '~/layouts/news/form-login' import { FormLogin } from '~/layouts/news/form-login'
import { FormRegister } from '~/layouts/news/form-register' import { FormRegister } from '~/layouts/news/form-register'

View File

@ -1,6 +1,6 @@
import { Button } from '~/components/ui/button' import { Button } from '~/components/ui/button'
export default function FormForgotPassword() { export const FormForgotPassword = () => {
return ( return (
<div className="flex flex-col items-center justify-center"> <div className="flex flex-col items-center justify-center">
<div className="w-full max-w-md"> <div className="w-full max-w-md">

View File

@ -1,7 +1,7 @@
import Breadcrumb from '~/components/ui/breadcrumb' import { Breadcrumb } from '~/components/ui/breadcrumb'
import { Card } from '~/components/ui/card' import { Card } from '~/components/ui/card'
import { Carousel } from '~/components/ui/carousel' import { Carousel } from '~/components/ui/carousel'
import IconsSocial from '~/components/ui/social-share' import { IconsSocial } from '~/components/ui/social-share'
import { BERITA, CONTENT } from './data' import { BERITA, CONTENT } from './data'