From b3b95a9706d3c679849ee4517dc6acef673a2cb1 Mon Sep 17 00:00:00 2001 From: Ando <65276708+andostronaut@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:43:28 +0300 Subject: [PATCH] feat: install sharp and use keyof icons from lucide for icon --- app/page.tsx | 1 - bun.lockb | Bin 211192 -> 221616 bytes components/project-card.tsx | 13 +++++++++++-- components/ui/icon.tsx | 17 +++++++++++++++++ data/resume.tsx | 8 ++++---- package.json | 1 + 6 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 components/ui/icon.tsx diff --git a/app/page.tsx b/app/page.tsx index bcd514e..9cf5bb9 100755 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,7 +4,6 @@ import Markdown from 'react-markdown' import BlurFade from '@/components/magicui/blur-fade' import BlurFadeText from '@/components/magicui/blur-fade-text' import { ProjectCard } from '@/components/project-card' -import { Badge } from '@/components/ui/badge' import { DATA } from '@/data/resume' diff --git a/bun.lockb b/bun.lockb index 46d3ca365c7d9dda41d6bad1a805fc99b4d07f2a..97b5213374b0e0ea8cef85154e1666b0a770a4fc 100755 GIT binary patch delta 41711 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 Kl*`sS|NjFlR3<0@ delta 35182 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 {links?.map((link, idx) => ( - - {link.icon} + + {link.type} diff --git a/components/ui/icon.tsx b/components/ui/icon.tsx new file mode 100644 index 0000000..a73daf9 --- /dev/null +++ b/components/ui/icon.tsx @@ -0,0 +1,17 @@ +import { icons } from 'lucide-react' + +export const Icon = ({ + name, + color, + size, + className, +}: { + name: keyof typeof icons + color: string + size: number + className?: string +}) => { + const LucideIcon = icons[name as keyof typeof icons] + + return +} diff --git a/data/resume.tsx b/data/resume.tsx index 82ad9ef..a2695f3 100755 --- a/data/resume.tsx +++ b/data/resume.tsx @@ -71,7 +71,7 @@ export const DATA = { { type: 'Source', href: 'https://github.com/kinotio/gelda', - icon: , + icon: 'Github', }, ], image: '/gelda.png', @@ -96,7 +96,7 @@ export const DATA = { { type: 'Source', href: 'https://github.com/kinotio/drowser-studio', - icon: , + icon: 'Github', }, ], image: '/drowser-studio.png', @@ -114,7 +114,7 @@ export const DATA = { { type: 'Source', href: 'https://github.com/andostronaut/drowser', - icon: , + icon: 'Github', }, ], image: '/drowser.png', @@ -132,7 +132,7 @@ export const DATA = { { type: 'Source', href: 'https://github.com/andostronaut/cocli', - icon: , + icon: 'Github', }, ], image: '/cocli.gif', diff --git a/package.json b/package.json index dd317d6..94ddf0f 100755 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "rehype-stringify": "^10.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.0", + "sharp": "^0.33.4", "shiki": "^1.7.0", "tailwind-merge": "^2.3.0", "tailwindcss-animate": "^1.0.7",