Skip to content

Commit 245adb8

Browse files
author
Don Potts
committed
WIP
1 parent ba80c80 commit 245adb8

File tree

3 files changed

+84
-24
lines changed

3 files changed

+84
-24
lines changed

MyAccounts.Blazor/version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1
1+
6

MyAccounts.Shared.Blazor/Pages/Index.razor

Lines changed: 59 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,19 @@
256256
expenseChartOptions = new ApexChartOptions<ChartDataItem>
257257
{
258258
Theme = new Theme { Mode = mode },
259-
Chart = new Chart { Background = background },
259+
Chart = new Chart
260+
{
261+
Background = background,
262+
// Safari fix: ensure proper event handling
263+
Animations = new Animations { Enabled = true }
264+
},
265+
Tooltip = new Tooltip
266+
{
267+
Enabled = true,
268+
FillSeriesColor = false,
269+
// Safari fix: use followCursor for better touch/hover detection
270+
FollowCursor = true
271+
},
260272
DataLabels = new DataLabels
261273
{
262274
Style = new DataLabelsStyle
@@ -284,8 +296,19 @@
284296
incomeExpenseChartOptions = new ApexChartOptions<ChartDataItem>
285297
{
286298
Theme = new Theme { Mode = mode },
287-
Chart = new Chart { Background = background },
288-
Colors = new List<string> { "#66BB6A", "#EF5350" }, // Lighter green/red for better dark mode visibility
299+
Chart = new Chart
300+
{
301+
Background = background,
302+
Animations = new Animations { Enabled = true }
303+
},
304+
Tooltip = new Tooltip
305+
{
306+
Enabled = true,
307+
FollowCursor = true,
308+
Intersect = false,
309+
Shared = true
310+
},
311+
Colors = new List<string> { "#66BB6A", "#EF5350" },
289312
PlotOptions = new PlotOptions
290313
{
291314
Bar = new PlotOptionsBar
@@ -300,7 +323,7 @@
300323
{
301324
Style = new DataLabelsStyle
302325
{
303-
Colors = new List<string> { "#ffffff" } // White text on colored bars
326+
Colors = new List<string> { "#ffffff" }
304327
},
305328
Formatter = @"function(value) { return '$' + Math.abs(value).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }); }"
306329
},
@@ -326,9 +349,25 @@
326349
trendChartOptions = new ApexChartOptions<TrendDataItem>
327350
{
328351
Theme = new Theme { Mode = mode },
329-
Chart = new Chart { Background = background },
330-
Colors = new List<string> { "#66BB6A", "#EF5350" }, // Lighter green/red for better visibility
352+
Chart = new Chart
353+
{
354+
Background = background,
355+
Animations = new Animations { Enabled = true }
356+
},
357+
Tooltip = new Tooltip
358+
{
359+
Enabled = true,
360+
FollowCursor = true,
361+
Intersect = false,
362+
Shared = true
363+
},
364+
Colors = new List<string> { "#66BB6A", "#EF5350" },
331365
Stroke = new Stroke { Curve = Curve.Smooth, Width = 3 },
366+
Markers = new Markers
367+
{
368+
Size = 5,
369+
Hover = new MarkersHover { SizeOffset = 3 }
370+
},
332371
Legend = new Legend
333372
{
334373
Labels = new LegendLabels { Colors = foreground }
@@ -356,8 +395,19 @@
356395
accountChartOptions = new ApexChartOptions<AccountChartDataItem>
357396
{
358397
Theme = new Theme { Mode = mode },
359-
Chart = new Chart { Background = background },
360-
Colors = new List<string> { "#66BB6A", "#EF5350" }, // Green for credits, Red for debits
398+
Chart = new Chart
399+
{
400+
Background = background,
401+
Animations = new Animations { Enabled = true }
402+
},
403+
Tooltip = new Tooltip
404+
{
405+
Enabled = true,
406+
FollowCursor = true,
407+
Intersect = false,
408+
Shared = true
409+
},
410+
Colors = new List<string> { "#66BB6A", "#EF5350" },
361411
PlotOptions = new PlotOptions
362412
{
363413
Bar = new PlotOptionsBar
@@ -590,7 +640,7 @@
590640
}
591641
);
592642

593-
// Group splits by the transaction's period
643+
// Group splits with enhanced error handling
594644
var groupedSplits = transactionSplits
595645
.Where(s => !s.Category.Name.StartsWith("Transfer:["))
596646
.Select(s => new

MyAccounts.Shared.Blazor/Pages/ListTransaction.razor

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -346,25 +346,35 @@
346346

347347
private async void UpdateExpensesPieChart()
348348
{
349+
isDarkMode = ThemeService.IsDarkMode;
350+
var mode = isDarkMode ? Mode.Dark : Mode.Light;
351+
var background = isDarkMode ? "var(--mud-palette-background-dark)" : "var(--mud-palette-background)";
352+
349353
options = new ApexChartOptions<TransactionCategoryData>
350354
{
351-
Theme = new Theme()
355+
Theme = new Theme { Mode = mode },
356+
Chart = new Chart
357+
{
358+
Background = background,
359+
// Safari fix: ensure proper event handling
360+
Animations = new Animations { Enabled = true }
361+
},
362+
Tooltip = new Tooltip
363+
{
364+
Enabled = true,
365+
FillSeriesColor = false,
366+
// Safari fix: use followCursor for better touch/hover detection
367+
FollowCursor = true
368+
},
369+
DataLabels = new DataLabels
370+
{
371+
Formatter = @"function(value, { seriesIndex, w }) {
372+
return '$' + w.config.series[seriesIndex].toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
373+
}"
374+
}
352375
};
353376

354-
isDarkMode = ThemeService.IsDarkMode;
355-
if (isDarkMode)
356-
{
357-
options.Theme.Mode = Mode.Dark;
358-
options.Chart.Background = "var(--mud-palette-background-dark)";
359-
360-
}
361-
else
362-
{
363-
options.Theme.Mode = Mode.Light;
364-
options.Chart.Background = "var(--mud-palette-background)";
365-
}
366377
await ResetChart();
367-
368378
StateHasChanged();
369379
}
370380

0 commit comments

Comments
 (0)