| 76 | }, []); |
| 77 | |
| 78 | const getModelDisplayName = (model: string) => { |
| 79 | const modelNames: Record<string, string> = { |
| 80 | 'gemini-2.5-flash-lite': 'Gemini 2.5 Flash Lite', |
| 81 | 'claude-sonnet-4-5-thinking': 'Claude Sonnet 4.5 (Thinking)', |
| 82 | 'claude-opus-4-5-thinking': 'Claude Opus 4.5 (Thinking)', |
| 83 | 'gemini-2.5-flash-image': 'Gemini 2.5 Flash Image', |
| 84 | 'gemini-2.5-flash-thinking': 'Gemini 2.5 Flash (Thinking)', |
| 85 | 'gemini-2.5-flash': 'Gemini 2.5 Flash', |
| 86 | 'gpt-oss-120b-medium': 'GPT OSS 120B (Medium)', |
| 87 | 'gemini-3-pro-image': 'Gemini 3 Pro Image', |
| 88 | 'gemini-3-pro-high': 'Gemini 3 Pro (High)', |
| 89 | 'gemini-3-pro-low': 'Gemini 3 Pro (Low)', |
| 90 | 'claude-sonnet-4-5': 'Claude Sonnet 4.5', |
| 91 | 'rev19-uic3-1p': 'Rev19 UIC3 1P', |
| 92 | 'gemini-2.5-pro': 'Gemini 2.5 Pro', |
| 93 | 'chat_20706': 'Chat 20706', |
| 94 | 'chat_23310': 'Chat 23310', |
| 95 | }; |
| 96 | return modelNames[model] || model; |
| 97 | }; |
| 98 | |
| 99 | const formatQuota = (quota: number) => { |
| 100 | return quota.toFixed(4); |