/* * icons.tsx * Zyquo Cloud Web * * Author: Simon-Pierre Boucher * Mail: contact@spboucher.ai * * Minimal inline SVG icon set (stroke-based, currentColor) — no icon * dependency (every dependency is key-theft surface). 16×16 grid. */ import type { ReactNode } from 'react' function I({ children, size = 14 }: { children: ReactNode; size?: number }) { return ( ) } export const IconSend = ({ size = 13 }: { size?: number }) => ( ) export const IconStop = ({ size = 11 }: { size?: number }) => ( ) export const IconPlus = ({ size = 13 }: { size?: number }) => ( ) export const IconSearch = ({ size = 12 }: { size?: number }) => ( ) export const IconGear = ({ size = 14 }: { size?: number }) => ( ) export const IconTrash = ({ size = 12 }: { size?: number }) => ( ) export const IconPin = ({ size = 11 }: { size?: number }) => ( ) export const IconCopy = ({ size = 11 }: { size?: number }) => ( ) export const IconEdit = ({ size = 11 }: { size?: number }) => ( ) export const IconRefresh = ({ size = 11 }: { size?: number }) => ( ) export const IconChevronDown = ({ size = 8 }: { size?: number }) => ( ) export const IconChevronRight = ({ size = 8 }: { size?: number }) => ( ) export const IconStar = ({ size = 11, filled = false }: { size?: number; filled?: boolean }) => ( ) export const IconEye = ({ size = 10 }: { size?: number }) => ( ) export const IconBrain = ({ size = 10 }: { size?: number }) => ( ) export const IconWrench = ({ size = 10 }: { size?: number }) => ( ) export const IconPaperclip = ({ size = 14 }: { size?: number }) => ( ) export const IconX = ({ size = 11 }: { size?: number }) => ( ) export const IconMenu = ({ size = 15 }: { size?: number }) => ( ) export const IconSliders = ({ size = 13 }: { size?: number }) => ( ) export const IconQuote = ({ size = 11 }: { size?: number }) => ( ) export const IconBranch = ({ size = 11 }: { size?: number }) => ( ) export const IconCheck = ({ size = 11 }: { size?: number }) => ( ) export const IconDownload = ({ size = 12 }: { size?: number }) => ( ) export const IconColumns = ({ size = 12 }: { size?: number }) => ( ) export const IconInfo = ({ size = 12 }: { size?: number }) => ( ) export const IconArrowDown = ({ size = 10 }: { size?: number }) => ( ) export const IconLightbulb = ({ size = 14 }: { size?: number }) => ( ) export const IconCode = ({ size = 14 }: { size?: number }) => ( ) export const IconDoc = ({ size = 14 }: { size?: number }) => ( ) export const IconGlobe = ({ size = 14 }: { size?: number }) => ( ) export const IconMic = ({ size = 13 }: { size?: number }) => ( ) export const IconSpeaker = ({ size = 11 }: { size?: number }) => ( ) export const IconCommand = ({ size = 13 }: { size?: number }) => ( ) /** Provider glyphs — simple distinctive marks per provider. */ export function ProviderGlyph({ provider, size = 11 }: { provider: string; size?: number }) { switch (provider) { case 'openai': return ( ) case 'anthropic': return ( ) case 'xai': return ( ) case 'mistral': return ( ) case 'gemini': return ( ) case 'qwen': return ( ) case 'deepseek': return ( ) case 'kimi': return ( ) case 'perplexity': return ( ) case 'together': return ( ) case 'deepinfra': return ( ) case 'cerebras': return ( ) default: return ( ) } }