diff --git a/package.json b/package.json index 41e0c78..2b912d3 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "holy-loader": "2.3.14", "input-otp": "^1.5.0", "jotai": "3.0.0", - "lucide-react": "0.564.0", + "lucide-react": "1.46.0", "motion": "^13.3.0", "next": "16.3.5", "next-auth": "5.0.0-beta.32", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f4fe12..d88315d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -233,8 +233,8 @@ importers: specifier: 3.0.0 version: 3.0.0(@types/react@19.2.18)(react@19.2.4) lucide-react: - specifier: 0.564.0 - version: 0.564.0(react@19.2.4) + specifier: 1.46.0 + version: 1.46.0(react@19.2.4) motion: specifier: ^13.3.0 version: 13.3.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -6418,8 +6418,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@0.564.0: - resolution: {integrity: sha512-JJ8GVTQqFwuliifD48U6+h7DXEHdkhJ/E87kksGByII3qHxtPciVb8T8woQONHBQgHVOl7rSMrrip3SeVNy7Fg==} + lucide-react@1.46.0: + resolution: {integrity: sha512-Bv+FZXgZPrxc/NCl1e7JJVQFLdiCxYgxNVhqoV7X0p6I8ADJo8DxBnK1auH0fZz4AmqOJ3jgneL4f1i8LJQRAA==} peerDependencies: react: 19.2.4 @@ -15009,7 +15009,7 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@0.564.0(react@19.2.4): + lucide-react@1.46.0(react@19.2.4): dependencies: react: 19.2.4 @@ -17447,7 +17447,7 @@ snapshots: vite@8.1.4(@types/node@26.5.1)(esbuild@0.28.2)(jiti@1.21.7)(terser@5.50.0)(tsx@4.23.13)(yaml@2.8.2): dependencies: lightningcss: 1.33.0 - picomatch: 4.0.5 + picomatch: 4.0.7 postcss: 8.5.28 rolldown: 1.1.5 tinyglobby: 0.2.17 diff --git a/src/components/ui/share.tsx b/src/components/ui/share.tsx index bba1685..111322a 100644 --- a/src/components/ui/share.tsx +++ b/src/components/ui/share.tsx @@ -1,6 +1,7 @@ "use client"; -import { Facebook, Linkedin, Link as LinkIcon, Share2, Twitter } from "lucide-react"; +import { IconBrandFacebook, IconBrandLinkedin, IconBrandX } from "@tabler/icons-react"; +import { Link as LinkIcon, Share2 } from "lucide-react"; import { usePathname } from "next/navigation"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; @@ -108,15 +109,15 @@ export const Share = ({ {!supportsNativeShare && ( openShareWindow(twitterUrl)}> - + Share on Twitter openShareWindow(facebookUrl)}> - + Share on Facebook openShareWindow(linkedinUrl)}> - + Share on LinkedIn diff --git a/src/components/ui/social-links.tsx b/src/components/ui/social-links.tsx index a82fdd9..a01c172 100644 --- a/src/components/ui/social-links.tsx +++ b/src/components/ui/social-links.tsx @@ -1,15 +1,14 @@ import { - Dribbble, - Facebook, - Github, - Globe, - Instagram, - Linkedin, - MessageCircle, - Twitter, - Youtube, -} from "lucide-react"; -import type { ComponentType, SVGProps } from "react"; + IconBrandDribbble, + IconBrandFacebook, + IconBrandGithub, + IconBrandInstagram, + IconBrandLinkedin, + IconBrandX, + IconBrandYoutube, +} from "@tabler/icons-react"; +import { Globe, MessageCircle } from "lucide-react"; +import type { ComponentType } from "react"; import { Link } from "@/components/primitives/link"; import { siteConfig } from "@/config/site-config"; import { cn } from "@/lib/utils"; @@ -34,17 +33,18 @@ interface SocialLinksProps { labelled?: boolean; } -const platformIcon: Record>> = { - github: Github, - twitter: Twitter, - x: Twitter, - linkedin: Linkedin, - instagram: Instagram, - facebook: Facebook, - youtube: Youtube, +// lucide-react 1.0 removed its brand icons; brand marks come from @tabler/icons-react instead. +const platformIcon: Record> = { + github: IconBrandGithub, + twitter: IconBrandX, + x: IconBrandX, + linkedin: IconBrandLinkedin, + instagram: IconBrandInstagram, + facebook: IconBrandFacebook, + youtube: IconBrandYoutube, tiktok: Globe, discord: MessageCircle, - dribbble: Dribbble, + dribbble: IconBrandDribbble, threads: Globe, };