Components / Platform Icon

Platform Icon

Inline brand marks for the platforms Layers touches: tiktok, instagram, meta (facebook is an alias), github, slack, appstore, googleplay, youtube, linkedin, apple, stripe, revenuecat. The badge inside AccountIdentity and AppIdentity, platform pickers, connect flows.

import { PlatformIcon } from '@layers/ui/platform-icon'

Rendered stock

House rules

  • Platform and brand icons come from PlatformIcon, never Lucide.
  • Icons fill with currentColor; tint through a text-* class on the icon or its parent.
  • Size via the size prop (default 12) or a className; identity components pass sized classes themselves.
  • facebook and meta both render the Meta infinity mark; there is no separate Facebook glyph.
  • apple is the Apple mark; appstore is the App Store "A" glyph. They are different marks for different things.
  • A BRAND mark is added only when we hold faithful path data for it, ported from a real source. Never hand-draw one from memory, and never let a Lucide glyph stand in: a provider we have no mark for renders a monogram of its own name (PlatformTile). The icon escape hatch ConnectionCard used to offer for this is gone.
  • The union also carries the marks that belong to no vendor — layers, managed, website. Those are not brands, so website legitimately renders Lucide’s app-window: there is no company on that tile to misrepresent. This is the only place a Lucide glyph is allowed inside PlatformIcon.

See also