@@ -11,6 +11,8 @@ import { spectrum } from '../spectrum';
1111import { getChangeBySlug } from '../upgrades/data/changes' ;
1212import { getUpgradeById } from '../upgrades/data/upgrades' ;
1313
14+ import { Breadcrumb } from './ui/Breadcrumb' ;
15+ import { AnimatedArrowIcon , CloseIcon , VibenetIcon } from './ui/icons' ;
1416import { Text } from './ui/Text' ;
1517
1618function BaseLogo ( ) {
@@ -194,11 +196,7 @@ function NavGlyph({ name }: NavGlyphProps) {
194196 </ svg >
195197 ) ;
196198 case 'vibenet' :
197- return (
198- < svg { ...common } viewBox = "5 5 30 30" strokeWidth = { 2.5 } className = "nav-vibenet-icon" >
199- < path d = "M30.2895 14.8575L20.0038 20.0002M20.0038 20.0002L10.2895 14.2861M20.0038 20.0002L20.0038 30.8571M30.8608 22.8275V17.1724C30.8608 15.3861 29.9078 13.7354 28.3608 12.8423L22.4737 9.44331C20.9267 8.55015 19.0207 8.55015 17.4737 9.44331L11.5865 12.8423C10.0395 13.7354 9.08649 15.3861 9.08649 17.1724V22.8275C9.08649 24.6138 10.0395 26.2644 11.5865 27.1576L17.4737 30.5566C19.0207 31.4497 20.9267 31.4497 22.4737 30.5566L28.3608 27.1576C29.9078 26.2644 30.8608 24.6138 30.8608 22.8275Z" />
200- </ svg >
201- ) ;
199+ return < VibenetIcon size = { common . width } className = "nav-vibenet-icon" /> ;
202200 case 'tips' :
203201 return (
204202 < svg { ...common } >
@@ -345,10 +343,7 @@ function GlobalBanner() {
345343 < span className = "inline-block h-3.5 w-px bg-bds-gray-20" > </ span >
346344 < Link href = "/upgrades/changelog/account-abstraction-by-account-configuration" className = "group flex items-center gap-1 no-underline" >
347345 < Text as = "span" variant = "label.medium" className = "text-base-blue" > Test on Vibenet</ Text >
348- < svg width = "14" height = "14" viewBox = "0 0 20 20" fill = "none" className = "text-base-blue transition-[transform] duration-200 ease-out group-hover:translate-x-[3px]" aria-hidden = "true" >
349- < path d = "M7.5 4L13.5 10L7.5 16" stroke = "currentColor" strokeWidth = "2" />
350- < path d = "M13.5 10H0" stroke = "currentColor" strokeWidth = "2" strokeDasharray = "13.5" strokeDashoffset = "13.5" className = "transition-[stroke-dashoffset] duration-200 ease-out group-hover:[stroke-dashoffset:0]" />
351- </ svg >
346+ < AnimatedArrowIcon size = { 14 } strokeWidth = { 2 } className = "text-base-blue transition-transform duration-200 ease-out group-hover:translate-x-[3px]" />
352347 </ Link >
353348 </ span >
354349 < button
@@ -357,10 +352,7 @@ function GlobalBanner() {
357352 className = "absolute right-4 flex h-5 w-5 items-center justify-center text-bds-gray-40 transition-colors hover:text-black"
358353 aria-label = "Dismiss banner"
359354 >
360- < svg width = "10" height = "10" viewBox = "0 0 10 10" fill = "none" stroke = "currentColor" strokeWidth = "1.5" strokeLinecap = "round" >
361- < line x1 = "1" y1 = "1" x2 = "9" y2 = "9" />
362- < line x1 = "9" y1 = "1" x2 = "1" y2 = "9" />
363- </ svg >
355+ < CloseIcon size = { 10 } />
364356 </ button >
365357 </ div >
366358 ) ;
@@ -437,26 +429,22 @@ export function AppShell({ children }: PropsWithChildren) {
437429 if ( slugMatch ) {
438430 const change = getChangeBySlug ( slugMatch [ 1 ] ) ;
439431 return (
440- < span className = "flex items-center gap-2" >
441- < Link href = "/upgrades/changelog" className = "no-underline" >
442- < Text as = "span" variant = "headline" className = "text-bds-gray-40" > Changelog</ Text >
443- </ Link >
444- < Text as = "span" variant = "headline" className = "text-bds-gray-30" > /</ Text >
445- < Text as = "span" variant = "headline" > { change ?. title ?? slugMatch [ 1 ] } </ Text >
446- </ span >
432+ < Breadcrumb
433+ parentLabel = "Changelog"
434+ parentHref = "/upgrades/changelog"
435+ childLabel = { change ?. title ?? slugMatch [ 1 ] }
436+ />
447437 ) ;
448438 }
449439 const upgradeMatch = pathname . match ( / ^ \/ u p g r a d e s \/ u p g r a d e \/ ( .+ ) $ / ) ;
450440 if ( upgradeMatch ) {
451441 const upgrade = getUpgradeById ( upgradeMatch [ 1 ] ) ;
452442 return (
453- < span className = "flex items-center gap-2" >
454- < Link href = "/upgrades" className = "no-underline" >
455- < Text as = "span" variant = "headline" className = "text-bds-gray-40" > Upgrades</ Text >
456- </ Link >
457- < Text as = "span" variant = "headline" className = "text-bds-gray-30" > /</ Text >
458- < Text as = "span" variant = "headline" > { upgrade ?. name ?? upgradeMatch [ 1 ] } </ Text >
459- </ span >
443+ < Breadcrumb
444+ parentLabel = "Upgrades"
445+ parentHref = "/upgrades"
446+ childLabel = { upgrade ?. name ?? upgradeMatch [ 1 ] }
447+ />
460448 ) ;
461449 }
462450 return < Text as = "span" variant = "headline" > { title } </ Text > ;
0 commit comments