Centralized configuration module for all platform branding assets — icons, colors, display names, descriptions, and slogans — across the OpenFrame OSS library's supported platforms. ## Key Components ### Static Lookup Maps | Export | Description | |---|---| | `platformIcons` | React icon nodes (5×5) per platform | | `platformColors` | Tailwind `bg-*` class strings per platform | | `platformDisplayNames` | Human-readable names (e.g. `"OpenFrame"`) | | `platformDescriptions` | Full marketing copy per platform | | `platformSlogans` | Short taglines per platform | | `platformHexColors` | Raw hex strings for dynamic styling | | `platformIconNames` | String icon identifiers for config payloads | **Supported platforms:** `openframe`, `openmsp`, `flamingo`, `flamingo-teaser`, `marketing-hub`, `product-hub`, `revenue-hub`, `people-hub`, `company-hub`, `tmcg`, `universal` ### Utility Functions | Function | Returns | Notes | |---|---|---| | `getPlatformIcon(name)` | `React.ReactNode` | 5×5 icon, falls back to `universal` | | `getSmallPlatformIcon(name)` | `React.ReactNode` | 4×4 icon for filter buttons, white-optimized | | `getPlatformIconComponent(name, className?)` | `React.ReactNode` | 6×6 default, customizable via `className` | | `getPlatformColor(name)` | `string` | Tailwind `bg-*` class | | `getPlatformDisplayName(name)` | `string` | Falls back to raw `name` | | `getPlatformDescription(name)` | `string` | Falls back to raw `name` | | `getPlatformSlogan(name)` | `string` | Falls back to raw `name` | | `getDefaultColorForPlatform(name)` | `string` | Hex color, defaults to `universal` | | `getDefaultIconForPlatform(name)` | `string` | Icon name string, defaults to `universal` | | `transformPlatformConfigsToOptions(configs)` | `SelectableOption[]` | Maps `PlatformConfig[]` from DB to UI-ready options | ## Usage Example ```typescript import { getPlatformIcon, getPlatformDisplayName, getPlatformColor, getSmallPlatformIcon, transformPlatformConfigsToOptions, } from './config/platform-config'; // Render a platform badge const icon = getPlatformIcon('openframe'); // OpenFrame SVG node const label = getPlatformDisplayName('openframe'); // "OpenFrame" const bg = getPlatformColor('openframe'); // "bg-[#8B5CF6]" // Small icon for filter chips const smallIcon = getSmallPlatformIcon('flamingo'); // 4×4 pink flamingo // Transform DB records into dropdown options const options = transformPlatformConfigsToOptions(platformConfigs); // [{ id, name, displayName, description, icon, color }, ...] ```