mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-13 14:15:56 +00:00
fix(ui): improve model quota tooltip tier sorting
Sort models by capability tier instead of just provider: - Tier 0: Claude + GPT (primary, weekly limits) - Tier 1: Gemini 3 Pro (high capability) - Tier 2: Gemini 2.5 Pro/Flash (mid tier) - Tier 3: Other Gemini models - Tier 4: Everything else (chat_, tab_, etc.)
This commit is contained in:
1 parent
ce16517144
commit
de7138166c
1 file changed
+17
-6
+17
-6
@@ -56,18 +56,29 @@ export function getProviderColor(provider: string): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort models with Claude models first, then alphabetically
|
* Sort models by tier: Primary (Claude/GPT) > Gemini 3 Pro > Gemini 2.5 > Others
|
||||||
* Prioritizes: Claude > Gemini > GPT > Other (alphabetically)
|
* Within each tier, sorts alphabetically by display name
|
||||||
*/
|
*/
|
||||||
export function sortModelsByPriority<T extends { name: string; displayName?: string }>(
|
export function sortModelsByPriority<T extends { name: string; displayName?: string }>(
|
||||||
models: T[]
|
models: T[]
|
||||||
): T[] {
|
): T[] {
|
||||||
const getPriority = (model: T): number => {
|
const getPriority = (model: T): number => {
|
||||||
const name = (model.displayName || model.name).toLowerCase();
|
const name = (model.displayName || model.name).toLowerCase();
|
||||||
if (name.includes('claude')) return 0;
|
|
||||||
if (name.includes('gemini')) return 1;
|
// Tier 0: Primary models (Claude + GPT) - weekly limits, most valuable
|
||||||
if (name.includes('gpt')) return 2;
|
if (name.includes('claude') || name.includes('gpt')) return 0;
|
||||||
return 3;
|
|
||||||
|
// Tier 1: Gemini 3 Pro models - high capability
|
||||||
|
if (name.includes('gemini 3') || name.includes('gemini-3')) return 1;
|
||||||
|
|
||||||
|
// Tier 2: Gemini 2.5 Pro/Flash models - mid tier
|
||||||
|
if (name.includes('gemini 2.5') || name.includes('gemini-2.5')) return 2;
|
||||||
|
|
||||||
|
// Tier 3: Other Gemini models
|
||||||
|
if (name.includes('gemini')) return 3;
|
||||||
|
|
||||||
|
// Tier 4: Everything else
|
||||||
|
return 4;
|
||||||
};
|
};
|
||||||
|
|
||||||
return [...models].sort((a, b) => {
|
return [...models].sort((a, b) => {
|
||||||
|
|||||||
Reference in new issue
Block a user