Icon in Server Component
Unanswered
Scaly-naped Pigeon posted this in #help-forum
Scaly-naped PigeonOP
import Link from 'next/link';
import PaddingWrapper from '@/shared/components/PaddingWrapper';
import Icon from '@/shared/components/icons';
const HomeLogoSection = () => (
<PaddingWrapper className="pt-[10px] pb-[0px] bg-white">
<h1>
<Link href="/">
<Icon.Bbangle shape="horizontal-name" />
</Link>
</h1>
</PaddingWrapper>
);
export default HomeLogoSection;'use client';
import Plus from '@public/assets/icons/plus.svg';
import Close from '@public/assets/icons/btn-remove.svg';
import Heart from './HeartIcon';
import Bbangle from './BbangleIcon';
const Icon = {
Plus,
Close,
Heart,
Bbangle
};
export default Icon;'use client';
import BbangleSmileIcon from '@public/assets/icons/bbangle-smile.svg';
import BbangleCryIcon from '@public/assets/icons/bbangle-cry.svg';
import BbanglVerticalNameIcon from '@public/assets/icons/bbangle-vertical-name.svg';
import BbangleHorizontalNameIcon from '@public/assets/icons/bbangle-horizontal-name.svg';
interface Props {
shape: 'vertical-name' | 'horizontal-name' | 'smile' | 'cry';
className?: string;
}
const BbangleIcon = ({ shape, className }: Props) => {
switch (shape) {
case 'vertical-name':
return <BbanglVerticalNameIcon />;
case 'horizontal-name':
return <BbangleHorizontalNameIcon />;
case 'smile':
return <BbangleSmileIcon className={className} />;
case 'cry':
return <BbangleCryIcon />;
default:
return <BbangleSmileIcon />;
}
};
export default BbangleIcon;why next throw error when i import svg icons
I use
svgr3 Replies
Did you export Icon?
Scaly-naped PigeonOP
yes!
export default Icon
export default Icon
https://github.com/vercel/next.js/discussions/45347
Looks like there are issues when using compound components.
Looks like there are issues when using compound components.