개발
Shadcn UI와 Icons
minazuki
2024. 7. 11. 10:29
🌻 나는 shadcn/ui를 굉장히 좋아한다. 혼자 개발한다면 무조건 shadcn/ui를 쓰고 싶다.
🌻 이번 포스팅에서는 shadcn ui에서 icon을 쓰는 방법을 보여주고자 한다.
🌻 일단 먼저, Lucide-React icons를 쓰는 경우
npm install lucide-react
메일 아이콘과 Send Mail이라는 텍스트가 적힌 버튼을 만들어보자.
import { Mail } from "lucide-react"
import { Button } from "@/components/ui/button"
export default function DemoIcon() {
return (
<Button>
<Mail className="mr-2 h-4 w-4" />
Send Mail
</Button>
)
}
🌻 heroicons(SVG) 쓰는 경우
npm install @heroicons/react
위와 같은 버튼을 아래의 코드로 만들 수 있다.
import { Button } from "@/components/ui/button"
export default function DemoIcon() {
return (
<Button>
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
strokeWidth={1.5}
stroke="currentColor"
className="mr-1 w-4 h-4"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75"
/>
</svg>
Send Mail
</Button>
)
}
svg도 어렵게 생각할 것 없이 className으로 사이즈 잘 조절하면 된다.