@@ -376,16 +376,13 @@ extension UsageMenuCardView.Model {
376376 }
377377
378378 static func providerCostSection(
379- provider: UsageProvider ,
380379 cost: ProviderCostSnapshot ? ,
380+ style: ProviderCostMenuCardStyle ,
381381 isClaudeAdminAPI: Bool = false ,
382382 preferredCurrencyCode: String = " auto " ) -> ProviderCostSection ?
383383 {
384- if provider == . manus {
385- return nil
386- }
384+ guard style != . hidden else { return nil }
387385 guard let cost else { return nil }
388- guard provider != . synthetic else { return nil }
389386
390387 /// Formats a cost value using the user's currency preference.
391388 func formatCost( _ value: Double , providerCurrency: String ? = nil ) -> String {
@@ -395,7 +392,7 @@ extension UsageMenuCardView.Model {
395392 providerCurrency: providerCurrency ?? cost. currencyCode)
396393 }
397394
398- if provider == . factory || provider == . devin , cost . period == " Extra usage balance " {
395+ if style == . extraUsageBalance {
399396 let balance = formatCost ( cost. used)
400397 return ProviderCostSection (
401398 title: L ( " Extra usage " ) ,
@@ -404,7 +401,7 @@ extension UsageMenuCardView.Model {
404401 percentLine: nil )
405402 }
406403
407- if provider == . opencodego , cost . period == " Zen balance " {
404+ if style == . zenBalance {
408405 let balance = formatCost ( cost. used)
409406 return ProviderCostSection (
410407 title: L ( " Zen balance " ) ,
@@ -413,7 +410,7 @@ extension UsageMenuCardView.Model {
413410 percentLine: nil )
414411 }
415412
416- if provider == . minimax , cost . period == " MiniMax points balance " {
413+ if style == . pointsBalance {
417414 let balance = String ( format: " %.0f " , cost. used)
418415 return ProviderCostSection (
419416 title: L ( " Credits " ) ,
@@ -422,7 +419,7 @@ extension UsageMenuCardView.Model {
422419 percentLine: nil )
423420 }
424421
425- if provider == . xai , cost . period == " Prepaid credits " {
422+ if style == . prepaidCredits {
426423 let balance = UsageFormatter . currencyString ( cost. used, currencyCode: cost. currencyCode)
427424 return ProviderCostSection (
428425 title: L ( " Credits " ) ,
@@ -431,7 +428,7 @@ extension UsageMenuCardView.Model {
431428 percentLine: nil )
432429 }
433430
434- if provider == . zenmux || provider == . neuralwatt {
431+ if style == . payAsYouGoBalance {
435432 let balance = formatCost ( cost. used)
436433 return ProviderCostSection (
437434 title: L ( " metric_mistral_payg " ) ,
@@ -440,7 +437,7 @@ extension UsageMenuCardView.Model {
440437 percentLine: nil )
441438 }
442439
443- if provider == . claude {
440+ if style == . claude {
444441 if isClaudeAdminAPI {
445442 let spend = formatCost ( cost. used)
446443 let periodLabel = Self . localizedPeriodLabel ( cost. period ?? " Last 30 days " )
@@ -479,9 +476,7 @@ extension UsageMenuCardView.Model {
479476 showsInProviderDetails: false )
480477 }
481478
482- if provider == . openai || provider == . litellm || provider == . aiand,
483- cost. limit <= 0
484- {
479+ if style == . apiSpend {
485480 let spend = formatCost ( cost. used)
486481 let periodLabel = Self . localizedPeriodLabel ( cost. period ?? " Last 30 days " )
487482 return ProviderCostSection (
@@ -491,11 +486,7 @@ extension UsageMenuCardView.Model {
491486 percentLine: nil )
492487 }
493488
494- if provider == . litellm {
495- return nil
496- }
497-
498- if provider == . clawrouter, cost. limit <= 0 {
489+ if style == . clawRouter, cost. limit <= 0 {
499490 let spend = formatCost ( cost. used)
500491 return ProviderCostSection (
501492 title: " ClawRouter spend " ,
@@ -510,7 +501,7 @@ extension UsageMenuCardView.Model {
510501 let limit : String
511502 let title : String
512503
513- if provider == . clawrouter {
504+ if style == . clawRouter {
514505 title = " Monthly budget "
515506 used = formatCost ( cost. used)
516507 limit = formatCost ( cost. limit)
0 commit comments