mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-16 20:17:45 +00:00
feat(ui): update cliproxy components with kiro and ghcp providers
- add ghcp to PROVIDER_IMAGES and PROVIDER_CONFIG in provider-logo - update providers array and options in cliproxy-dialog - add kiro and ghcp to providerLabels in cliproxy-table - complete providers list in cliproxy-header - update ownerMap key from copilot to ghcp in provider-editor
This commit is contained in:
@@ -14,7 +14,7 @@ import { Label } from '@/components/ui/label';
|
||||
import { useCreateVariant, useCliproxyAuth } from '@/hooks/use-cliproxy';
|
||||
import { usePrivacy } from '@/contexts/privacy-context';
|
||||
|
||||
const providers = ['gemini', 'codex', 'agy', 'qwen', 'iflow', 'kiro', 'copilot'] as const;
|
||||
const providers = ['gemini', 'codex', 'agy', 'qwen', 'iflow', 'kiro', 'ghcp'] as const;
|
||||
|
||||
const schema = z.object({
|
||||
name: z
|
||||
@@ -40,7 +40,7 @@ const providerOptions = [
|
||||
{ value: 'qwen', label: 'Alibaba Qwen' },
|
||||
{ value: 'iflow', label: 'iFlow' },
|
||||
{ value: 'kiro', label: 'Kiro (AWS)' },
|
||||
{ value: 'copilot', label: 'GitHub Copilot' },
|
||||
{ value: 'ghcp', label: 'GitHub Copilot (OAuth)' },
|
||||
];
|
||||
|
||||
export function CliproxyDialog({ open, onClose }: CliproxyDialogProps) {
|
||||
|
||||
@@ -116,7 +116,10 @@ export function CliproxyHeader({
|
||||
{ id: 'gemini', displayName: 'Gemini' },
|
||||
{ id: 'codex', displayName: 'Codex' },
|
||||
{ id: 'agy', displayName: 'Agy' },
|
||||
{ id: 'qwen', displayName: 'Qwen' },
|
||||
{ id: 'iflow', displayName: 'iFlow' },
|
||||
{ id: 'kiro', displayName: 'Kiro' },
|
||||
{ id: 'ghcp', displayName: 'GitHub Copilot' },
|
||||
];
|
||||
|
||||
const getProviderStatus = (providerId: string) => {
|
||||
|
||||
@@ -35,6 +35,8 @@ const providerLabels: Record<string, string> = {
|
||||
agy: 'Antigravity',
|
||||
qwen: 'Alibaba Qwen',
|
||||
iflow: 'iFlow',
|
||||
kiro: 'Kiro (AWS)',
|
||||
ghcp: 'GitHub Copilot (OAuth)',
|
||||
};
|
||||
|
||||
export function CliproxyTable({ data }: CliproxyTableProps) {
|
||||
|
||||
@@ -55,7 +55,7 @@ export function ProviderEditor({
|
||||
qwen: ['alibaba', 'qwen'],
|
||||
iflow: ['iflow'],
|
||||
kiro: ['kiro', 'aws'],
|
||||
copilot: ['github', 'copilot'],
|
||||
ghcp: ['github', 'copilot'],
|
||||
};
|
||||
const owners = ownerMap[provider.toLowerCase()] || [provider.toLowerCase()];
|
||||
return modelsData.models.filter((m) =>
|
||||
|
||||
@@ -19,7 +19,7 @@ const PROVIDER_IMAGES: Record<string, string> = {
|
||||
qwen: '/assets/providers/qwen-color.svg',
|
||||
iflow: '/assets/providers/iflow.png',
|
||||
kiro: '/assets/providers/kiro.png',
|
||||
copilot: '/assets/providers/copilot.svg',
|
||||
ghcp: '/assets/providers/copilot.svg',
|
||||
};
|
||||
|
||||
/** Provider color configuration (for fallback only - no background for image logos) */
|
||||
@@ -31,7 +31,7 @@ const PROVIDER_CONFIG: Record<string, { text: string; letter: string }> = {
|
||||
qwen: { text: 'text-cyan-600', letter: 'Q' },
|
||||
iflow: { text: 'text-indigo-600', letter: 'i' },
|
||||
kiro: { text: 'text-teal-600', letter: 'K' },
|
||||
copilot: { text: 'text-green-600', letter: 'C' },
|
||||
ghcp: { text: 'text-green-600', letter: 'C' },
|
||||
};
|
||||
|
||||
/** Size configuration */
|
||||
|
||||
Reference in New Issue
Block a user