@@ -3,26 +3,28 @@ import { twMerge } from 'tailwind-merge'
33import { BrandContextMenu } from './BrandContextMenu'
44import { Link , useLocation , useMatches } from '@tanstack/react-router'
55import { TbBrandX , TbBrandBluesky } from 'react-icons/tb'
6+ import { FaDiscord , FaGithub , FaInstagram } from 'react-icons/fa'
67import {
7- FaCode ,
8- FaDiscord ,
9- FaGithub ,
10- FaInstagram ,
11- FaLock ,
12- FaPaintRoller ,
13- FaTshirt ,
14- FaUser ,
15- FaUsers ,
16- } from 'react-icons/fa'
8+ LuCode ,
9+ LuUsers ,
10+ LuMusic ,
11+ LuHelpCircle ,
12+ LuBookOpen ,
13+ LuTrendingUp ,
14+ LuShirt ,
15+ LuShieldCheck ,
16+ LuPaintbrush ,
17+ LuHammer ,
18+ LuUser ,
19+ LuLock ,
20+ LuX ,
21+ LuMenu ,
22+ } from 'react-icons/lu'
1723import { ThemeToggle } from './ThemeToggle'
1824import { SearchButton } from './SearchButton'
1925import { Authenticated , Unauthenticated , useQuery } from 'convex/react'
2026import { AuthLoading } from 'convex/react'
2127import { api } from 'convex/_generated/api'
22- import { MdLibraryBooks , MdLineAxis , MdPerson , MdSupport } from 'react-icons/md'
23- import { CgClose , CgMenuLeft , CgMusicSpeaker } from 'react-icons/cg'
24- import { BiSolidCheckShield } from 'react-icons/bi'
25- import { PiHammerFill } from 'react-icons/pi'
2628import { libraries } from '~/libraries'
2729import { sortBy } from '~/utils/utils'
2830
@@ -72,7 +74,7 @@ export function Navbar({ children }: { children: React.ReactNode }) {
7274 className = "flex items-center gap-1 bg-gray-500/20 rounded-lg p-2 opacity-80
7375 hover:opacity-100 whitespace-nowrap uppercase font-black text-xs"
7476 >
75- < MdPerson className = "scale-125" />
77+ < LuUser className = "scale-125" />
7678 < div className = "" > Log In</ div >
7779 </ Link >
7880 )
@@ -87,7 +89,7 @@ export function Navbar({ children }: { children: React.ReactNode }) {
8789
8890 < Authenticated >
8991 < div className = "flex items-center gap-2 px-2 py-1 rounded-lg" >
90- < FaUser />
92+ < LuUser />
9193 < Link
9294 to = "/account"
9395 className = "flex-1 text-sm font-medium text-gray-700 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white whitespace-nowrap"
@@ -97,7 +99,7 @@ export function Navbar({ children }: { children: React.ReactNode }) {
9799 </ div >
98100 { canAdmin ? (
99101 < div className = "flex items-center gap-2 px-2 py-1 rounded-lg" >
100- < FaLock />
102+ < LuLock />
101103 < Link
102104 to = "/admin"
103105 className = "flex-1 text-sm font-medium text-gray-700 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white"
@@ -133,6 +135,13 @@ export function Navbar({ children }: { children: React.ReactNode }) {
133135 >
134136 < FaInstagram className = "text-xl" />
135137 </ a >
138+ < a
139+ href = "https://tlinz.com/discord"
140+ className = "opacity-70 hover:opacity-100"
141+ aria-label = "Join TanStack Discord"
142+ >
143+ < FaDiscord className = "text-xl" />
144+ </ a >
136145 </ div >
137146 )
138147
@@ -166,7 +175,7 @@ export function Navbar({ children }: { children: React.ReactNode }) {
166175 setShowMenu ( true )
167176 } }
168177 >
169- { showMenu ? < CgClose /> : < CgMenuLeft /> }
178+ { showMenu ? < LuX /> : < LuMenu /> }
170179 </ button >
171180 < Link
172181 to = "/"
@@ -343,7 +352,7 @@ export function Navbar({ children }: { children: React.ReactNode }) {
343352 'rounded-lg hover:bg-gray-500/10 dark:hover:bg-gray-500/30'
344353 ) }
345354 >
346- < FaUsers />
355+ < LuUsers />
347356 Contributors
348357 </ Link >
349358 </ div >
@@ -398,7 +407,7 @@ export function Navbar({ children }: { children: React.ReactNode }) {
398407 >
399408 < div className = "flex items-center gap-2" >
400409 < div className = "flex items-center gap-4 justify-between" >
401- < PiHammerFill />
410+ < LuHammer />
402411 </ div >
403412 < div > Builder</ div >
404413 </ div >
@@ -408,22 +417,27 @@ export function Navbar({ children }: { children: React.ReactNode }) {
408417 { [
409418 {
410419 label : 'Maintainers' ,
411- icon : < FaCode /> ,
420+ icon : < LuCode /> ,
412421 to : '/maintainers' ,
413422 } ,
414423 {
415424 label : 'Partners' ,
416- icon : < FaUsers /> ,
425+ icon : < LuUsers /> ,
417426 to : '/partners' ,
418427 } ,
428+ {
429+ label : 'Blog' ,
430+ icon : < LuMusic /> ,
431+ to : '/blog' ,
432+ } ,
419433 {
420434 label : 'Support' ,
421- icon : < MdSupport /> ,
435+ icon : < LuHelpCircle /> ,
422436 to : '/support' ,
423437 } ,
424438 {
425439 label : 'Learn' ,
426- icon : < MdLibraryBooks /> ,
440+ icon : < LuBookOpen /> ,
427441 to : '/learn' ,
428442 } ,
429443 {
@@ -435,7 +449,7 @@ export function Navbar({ children }: { children: React.ReactNode }) {
435449 </ span >
436450 </ span >
437451 ) ,
438- icon : < MdLineAxis /> ,
452+ icon : < LuTrendingUp /> ,
439453 to : '/stats/npm' ,
440454 } ,
441455 {
@@ -446,32 +460,27 @@ export function Navbar({ children }: { children: React.ReactNode }) {
446460 } ,
447461 {
448462 label : 'Merch' ,
449- icon : < FaTshirt /> ,
463+ icon : < LuShirt /> ,
450464 to : '/merch' ,
451465 } ,
452- {
453- label : 'Blog' ,
454- icon : < CgMusicSpeaker /> ,
455- to : '/blog' ,
456- } ,
457466 {
458467 label : 'GitHub' ,
459468 icon : < FaGithub /> ,
460469 to : 'https://github.com/tanstack' ,
461470 } ,
462471 {
463472 label : 'Ethos' ,
464- icon : < BiSolidCheckShield /> ,
473+ icon : < LuShieldCheck /> ,
465474 to : '/ethos' ,
466475 } ,
467476 {
468477 label : 'Tenets' ,
469- icon : < MdLibraryBooks /> ,
478+ icon : < LuBookOpen /> ,
470479 to : '/tenets' ,
471480 } ,
472481 {
473482 label : 'Brand Guide' ,
474- icon : < FaPaintRoller /> ,
483+ icon : < LuPaintbrush /> ,
475484 to : '/brand-guide' ,
476485 } ,
477486 ] . map ( ( item , i ) => {
0 commit comments