• erio's avatar
    feat(channels): explode available channels by platform + apply platform theme · 800802b8
    erio authored
    Backend: one source channel → N output rows, one per platform that
    has user-visible groups. Each row carries a single platform, so the
    frontend can color/icon an entire row without mixing sources.
    
    - userAvailableChannel: add Platform field
    - new explodeChannelByPlatform helper; drop now-redundant
      collectGroupPlatforms
    
    Frontend: use the row platform to drive theming and stop repeating
    "ANTHROPIC" / "OPENAI" labels on every model chip.
    
    - api/channels.ts: UserAvailableChannel.platform
    - AvailableChannelsTable: name cell — PlatformBadge next to channel
      name (replaces the two-line name/description block; description
      moves to the badge's title tooltip); groups cell — each chip uses
      platformBadgeLightClass + PlatformIcon; model list passes
      show-platform=false + platform-hint to child chips
    - SupportedModelChip: chip bg/border driven by platformBadgeClass,
      leading PlatformIcon; platform-hint fallback when model.platform
      missing
    800802b8
channels.ts 1.81 KB