feat(usage): add toggle to hide prediction rows on usage cards (#1420)
* feat(usage): add showPredValues setting to quota store * feat(usage): register usageShowPredValues in settings sanitizers * feat(usage): add i18n key for show predictions toggle * feat(usage): add show predictions toggle to sidebar * feat(usage): hide pred row by default, gate on showPredValues * fix(usage): gate header dropdown PaceIndicator behind showPredValues * fix(usage): gate VSCodeLayout PaceIndicator behind showPredValues * fix(usage): correct indentation drift in Header.tsx PaceIndicator blocks
This commit is contained in:
@@ -87,6 +87,7 @@ export type DesktopSettings = {
|
||||
usageAutoRefresh?: boolean;
|
||||
usageRefreshIntervalMs?: number;
|
||||
usageDisplayMode?: 'usage' | 'remaining';
|
||||
usageShowPredValues?: boolean;
|
||||
usageDropdownProviders?: string[];
|
||||
usageSelectedModels?: Record<string, string[]>; // Map of providerId -> selected model names
|
||||
usageCollapsedFamilies?: Record<string, string[]>; // Map of providerId -> collapsed family IDs (UsagePage)
|
||||
|
||||
@@ -945,6 +945,7 @@ export const settingsDict = {
|
||||
'settings.usage.sidebar.field.displayModePlaceholder': 'Display mode',
|
||||
'settings.usage.sidebar.field.displayModeUsage': 'Usage',
|
||||
'settings.usage.sidebar.field.displayModeRemaining': 'Quota remaining',
|
||||
'settings.usage.sidebar.field.showPredictions': 'Show predictions',
|
||||
'settings.usage.sidebar.status.notSet': 'Not set',
|
||||
'settings.usage.page.empty.selectProvider': 'Select a provider to view usage details.',
|
||||
'settings.usage.page.header.providerUsage': '{provider} Usage',
|
||||
|
||||
@@ -912,6 +912,7 @@ export const settingsDict = {
|
||||
"settings.usage.sidebar.field.displayModePlaceholder": "Modo de visualización",
|
||||
"settings.usage.sidebar.field.displayModeUsage": "Uso",
|
||||
"settings.usage.sidebar.field.displayModeRemaining": "Cuota restante",
|
||||
"settings.usage.sidebar.field.showPredictions": "Mostrar predicciones",
|
||||
"settings.usage.sidebar.status.notSet": "No establecido",
|
||||
"settings.usage.page.empty.selectProvider": "Selecciona un proveedor para ver detalles de uso.",
|
||||
"settings.usage.page.header.providerUsage": "Uso de {provider}",
|
||||
|
||||
@@ -912,6 +912,7 @@ export const settingsDict = {
|
||||
'settings.usage.sidebar.field.displayModePlaceholder': '표시 모드',
|
||||
'settings.usage.sidebar.field.displayModeUsage': '사용량',
|
||||
'settings.usage.sidebar.field.displayModeRemaining': '남은 할당량',
|
||||
'settings.usage.sidebar.field.showPredictions': '예측 표시',
|
||||
'settings.usage.sidebar.status.notSet': '설정 안 됨',
|
||||
'settings.usage.page.empty.selectProvider': '사용량 세부 정보를 보려면 프로바이더를 선택하세요.',
|
||||
'settings.usage.page.header.providerUsage': '{provider} 사용량',
|
||||
|
||||
@@ -1597,6 +1597,7 @@ export const settingsDict = {
|
||||
'settings.usage.sidebar.field.display': 'Wyświetlanie',
|
||||
'settings.usage.sidebar.field.displayModePlaceholder': 'Tryb wyświetlania',
|
||||
'settings.usage.sidebar.field.displayModeRemaining': 'Pozostała kwota',
|
||||
'settings.usage.sidebar.field.showPredictions': 'Pokaż prognozy',
|
||||
'settings.usage.sidebar.field.displayModeUsage': 'Użycie',
|
||||
'settings.usage.sidebar.field.intervalPlaceholder': 'Interwał',
|
||||
'settings.usage.sidebar.status.notSet': 'Nie ustawiono',
|
||||
|
||||
@@ -912,6 +912,7 @@ export const settingsDict = {
|
||||
"settings.usage.sidebar.field.displayModePlaceholder": "Modo de visualização",
|
||||
"settings.usage.sidebar.field.displayModeUsage": "Uso",
|
||||
"settings.usage.sidebar.field.displayModeRemaining": "Cota restante",
|
||||
"settings.usage.sidebar.field.showPredictions": "Mostrar previsões",
|
||||
"settings.usage.sidebar.status.notSet": "Não definido",
|
||||
"settings.usage.page.empty.selectProvider": "Selecione um provedor para ver detalhes de uso.",
|
||||
"settings.usage.page.header.providerUsage": "Uso de {provider}",
|
||||
|
||||
@@ -912,6 +912,7 @@ export const settingsDict = {
|
||||
"settings.usage.sidebar.field.displayModePlaceholder": "Режим відображення",
|
||||
"settings.usage.sidebar.field.displayModeUsage": "Використання",
|
||||
"settings.usage.sidebar.field.displayModeRemaining": "Залишок квоти",
|
||||
"settings.usage.sidebar.field.showPredictions": "Показувати прогнози",
|
||||
"settings.usage.sidebar.status.notSet": "Не встановлено",
|
||||
"settings.usage.page.empty.selectProvider": "Виберіть провайдера, щоб переглянути деталі використання.",
|
||||
"settings.usage.page.header.providerUsage": "Використання {provider}",
|
||||
|
||||
@@ -912,6 +912,7 @@ export const settingsDict = {
|
||||
'settings.usage.sidebar.field.displayModePlaceholder': '显示模式',
|
||||
'settings.usage.sidebar.field.displayModeUsage': '用量',
|
||||
'settings.usage.sidebar.field.displayModeRemaining': '剩余配额',
|
||||
'settings.usage.sidebar.field.showPredictions': '显示预测',
|
||||
'settings.usage.sidebar.status.notSet': '未设置',
|
||||
'settings.usage.page.empty.selectProvider': '选择一个提供商以查看用量详情。',
|
||||
'settings.usage.page.header.providerUsage': '{provider} 用量',
|
||||
|
||||
@@ -790,6 +790,9 @@ const sanitizeWebSettings = (payload: unknown): DesktopSettings | null => {
|
||||
if (candidate.usageDisplayMode === 'usage' || candidate.usageDisplayMode === 'remaining') {
|
||||
result.usageDisplayMode = candidate.usageDisplayMode;
|
||||
}
|
||||
if (typeof candidate.usageShowPredValues === 'boolean') {
|
||||
result.usageShowPredValues = candidate.usageShowPredValues;
|
||||
}
|
||||
if (Array.isArray(candidate.usageDropdownProviders)) {
|
||||
result.usageDropdownProviders = candidate.usageDropdownProviders.filter(
|
||||
(entry): entry is string => typeof entry === 'string' && entry.length > 0
|
||||
|
||||
Reference in New Issue
Block a user