Compare commits

...
3 changed files with 17 additions and 6 deletions
+4 -2
View File
@@ -34,8 +34,10 @@ public class WindowData
public class ExtraUsage
{
[JsonPropertyName("is_enabled")] public bool IsEnabled { get; set; }
[JsonPropertyName("currency")] public string? Currency { get; set; }
[JsonPropertyName("is_enabled")] public bool IsEnabled { get; set; }
[JsonPropertyName("currency")] public string? Currency { get; set; }
[JsonPropertyName("used_credits")] public double? UsedCredits { get; set; }
[JsonPropertyName("monthly_limit")] public double? MonthlyLimit { get; set; }
}
public class BootstrapResponse
+4 -3
View File
@@ -247,9 +247,10 @@ public partial class PopupWindow : Window
var prepaid = VM.Prepaid;
var currency = VM.ExtraUsage?.Currency ?? overage?.Currency ?? "$";
var spent = overage?.UsedCredits ?? 0;
var limit = overage?.MonthlyCreditLimit ?? 0;
var balance = prepaid?.Amount ?? 0;
// Fall back to extra_usage fields when the overage/prepaid endpoints return nothing
var spent = overage?.UsedCredits ?? VM.ExtraUsage?.UsedCredits ?? 0;
var limit = overage?.MonthlyCreditLimit ?? VM.ExtraUsage?.MonthlyLimit ?? 0;
var balance = prepaid?.Amount ?? 0;
UIElement MakeRow(string label, string value)
{
+9 -1
View File
@@ -147,7 +147,15 @@ public class UsageViewModel : INotifyPropertyChanged
await Application.Current.Dispatcher.InvokeAsync(() =>
{
if (limits.Count > 0) { Limits = limits; Overage = overage; Prepaid = prepaid; ExtraUsage = extraUsage; }
if (limits.Count > 0)
{
Limits = limits;
Overage = overage;
Prepaid = prepaid;
// Only clear ExtraUsage if the API explicitly disables it; keep cached value
// if the HTTP endpoint omits the field (it often does for non-browser clients)
if (extraUsage != null) ExtraUsage = extraUsage;
}
if (!string.IsNullOrEmpty(planLabel)) PlanLabel = planLabel;
if (!string.IsNullOrEmpty(email)) UserEmail = email;
IsSignedIn = true;