|
5 | 5 |
|
6 | 6 | @if (Point.Type == PointType.Mood) |
7 | 7 | { |
8 | | - <MudMenu Dense> |
9 | | - <ActivatorContent> |
10 | | - <MudButton aria-label="Choose emoji for day's mood'"> |
11 | | - <Emoji>@(Point.Mood ?? "🤔")</Emoji> |
12 | | - </MudButton> |
13 | | - </ActivatorContent> |
14 | | - |
15 | | - <ChildContent> |
| 8 | + <MudMenu Dense> |
| 9 | + <ActivatorContent> |
| 10 | + <MudButton aria-label="Choose emoji for day's mood'"> |
| 11 | + <Emoji>@(Point.Mood ?? "🤔")</Emoji> |
| 12 | + </MudButton> |
| 13 | + </ActivatorContent> |
| 14 | + |
| 15 | + <ChildContent> |
16 | 16 | @foreach (var mood in DataPoint.Moods) |
17 | 17 | { |
18 | | - <MudMenuItem OnClick="@(() => Point.Mood = mood)"> |
19 | | - <Emoji>@mood</Emoji> |
20 | | - </MudMenuItem> |
| 18 | + <MudMenuItem OnClick="@(() => Point.Mood = mood)"> |
| 19 | + <Emoji>@mood</Emoji> |
| 20 | + </MudMenuItem> |
21 | 21 | } |
22 | | - </ChildContent> |
23 | | - </MudMenu> |
| 22 | + </ChildContent> |
| 23 | + </MudMenu> |
24 | 24 | } |
25 | 25 | else if (Point.Type == PointType.Sleep) |
26 | 26 | { |
27 | | - <div class="d-flex align-center flex-grow-1" style="gap: 0.5em"> |
28 | | - <MudText Class="sleep-hours" Typo="Typo.caption">@((Point.SleepHours ?? 0).ToString("00.0"))</MudText> |
29 | | - <MudIconButton Class="less-sleep" Icon="@Icons.Material.Rounded.Remove" aria-label="Less sleep" OnClick="DecrementSleep" Disabled="@(Point.SleepHours <= 0)" Size="Size.Small" /> |
30 | | - <MudSlider T="decimal" @bind-NullableValue="Point.SleepHours" Variant="Variant.Filled" Min="0" Max="24" Step="0.5m" /> |
31 | | - <MudIconButton Class="more-sleep" Icon="@Icons.Material.Rounded.Add" aria-label="More sleep" OnClick="IncrementSleep" Disabled="@(Point.SleepHours >= 24)" Size="Size.Small" /> |
32 | | - </div> |
| 27 | + <div class="d-flex align-center flex-grow-1" style="gap: 0.5em"> |
| 28 | + <MudText Class="sleep-hours" Typo="Typo.caption">@((Point.SleepHours ?? 0).ToString("00.0"))</MudText> |
| 29 | + <MudIconButton Class="less-sleep" Icon="@Icons.Material.Rounded.Remove" aria-label="Less sleep" OnClick="DecrementSleep" Disabled="@(Point.SleepHours <= 0)" Size="Size.Small" /> |
| 30 | + <MudSlider T="decimal" @bind-NullableValue="Point.SleepHours" Variant="Variant.Filled" Min="0" Max="24" Step="0.5m" /> |
| 31 | + <MudIconButton Class="more-sleep" Icon="@Icons.Material.Rounded.Add" aria-label="More sleep" OnClick="IncrementSleep" Disabled="@(Point.SleepHours >= 24)" Size="Size.Small" /> |
| 32 | + </div> |
33 | 33 | } |
34 | 34 | else if (Point.Type == PointType.Scale) |
35 | 35 | { |
36 | | - <MudRating @bind-SelectedValue="ScaleIndexForMudRating" FullIcon="@Icons.Material.Rounded.Circle" EmptyIcon="@Icons.Material.Rounded.Circle" Color="Color.Primary" /> |
| 36 | + <MudRating @bind-SelectedValue="ScaleIndexForMudRating" FullIcon="@Icons.Material.Rounded.Circle" EmptyIcon="@Icons.Material.Rounded.Circle" Color="Color.Primary" /> |
37 | 37 | } |
38 | 38 | else if (Point.Type == PointType.LowToHigh) |
39 | 39 | { |
40 | | - <MudToggleGroup T="int?" @bind-Value="Point.ScaleIndex" SelectionMode="SelectionMode.ToggleSelection"> |
41 | | - <MudToggleItem T="int?" Value="0">None</MudToggleItem> |
42 | | - <MudToggleItem T="int?" Value="1">Low</MudToggleItem> |
43 | | - <MudToggleItem T="int?" Value="3">Medium</MudToggleItem> |
44 | | - <MudToggleItem T="int?" Value="5">High</MudToggleItem> |
45 | | - </MudToggleGroup> |
| 40 | + <MudToggleGroup T="int?" @bind-Value="Point.ScaleIndex" SelectionMode="SelectionMode.ToggleSelection"> |
| 41 | + <MudToggleItem T="int?" Value="0">None</MudToggleItem> |
| 42 | + <MudToggleItem T="int?" Value="1">Low</MudToggleItem> |
| 43 | + <MudToggleItem T="int?" Value="3">Medium</MudToggleItem> |
| 44 | + <MudToggleItem T="int?" Value="5">High</MudToggleItem> |
| 45 | + </MudToggleGroup> |
46 | 46 | } |
47 | 47 | else if (Point.Type == PointType.MildToSevere) |
48 | 48 | { |
49 | | - <MudToggleGroup T="int?" @bind-Value="Point.ScaleIndex" SelectionMode="SelectionMode.ToggleSelection"> |
50 | | - <MudToggleItem T="int?" Value="0">None</MudToggleItem> |
51 | | - <MudToggleItem T="int?" Value="1">Mild</MudToggleItem> |
52 | | - <MudToggleItem T="int?" Value="3">Moderate</MudToggleItem> |
53 | | - <MudToggleItem T="int?" Value="5">Severe</MudToggleItem> |
54 | | - </MudToggleGroup> |
| 49 | + <MudToggleGroup T="int?" @bind-Value="Point.ScaleIndex" SelectionMode="SelectionMode.ToggleSelection"> |
| 50 | + <MudToggleItem T="int?" Value="0">None</MudToggleItem> |
| 51 | + <MudToggleItem T="int?" Value="1">Mild</MudToggleItem> |
| 52 | + <MudToggleItem T="int?" Value="3">Moderate</MudToggleItem> |
| 53 | + <MudToggleItem T="int?" Value="5">Severe</MudToggleItem> |
| 54 | + </MudToggleGroup> |
55 | 55 | } |
56 | 56 | else if (Point.Type == PointType.Bool) |
57 | 57 | { |
58 | | - <MudToggleGroup T="bool?" @bind-Value="Point.Bool" SelectionMode="SelectionMode.ToggleSelection"> |
59 | | - <MudToggleItem T="bool?" Value="false">No</MudToggleItem> |
60 | | - <MudToggleItem T="bool?" Value="true">Yes</MudToggleItem> |
61 | | - </MudToggleGroup> |
| 58 | + <MudToggleGroup T="bool?" @bind-Value="Point.Bool" SelectionMode="SelectionMode.ToggleSelection"> |
| 59 | + <MudToggleItem T="bool?" Value="false">No</MudToggleItem> |
| 60 | + <MudToggleItem T="bool?" Value="true">Yes</MudToggleItem> |
| 61 | + </MudToggleGroup> |
62 | 62 | } |
63 | 63 | else if (Point.Type == PointType.Number) |
64 | 64 | { |
65 | | - <MudNumericField @bind-Value="Point.Number" Immediate MaxLength="9" /> |
| 65 | + <MudNumericField @bind-Value="Point.Number" Immediate MaxLength="9" /> |
66 | 66 | } |
67 | 67 | else if (Point.Type == PointType.Text) |
68 | 68 | { |
69 | | - <MudTextField @bind-Value="Point.Text" Immediate /> |
| 69 | + <MudTextField @bind-Value="Point.Text" Immediate /> |
70 | 70 | } |
71 | 71 | else if (Point.Type == PointType.Note) |
72 | 72 | { |
73 | | - <div class="d-flex flex-column flex-grow-1"> |
| 73 | + <div class="d-flex flex-column flex-grow-1"> |
74 | 74 | @if (!string.IsNullOrWhiteSpace(Point.Text)) |
75 | 75 | { |
76 | | - <MudTextField @bind-Value="Point.Text" |
77 | | - Placeholder="@(Point.IsTimestampedNote ? "What's on your mind?" : null)" |
78 | | - Label="@(NoteLabel)" Typo="Typo.body2" |
79 | | - Immediate ReadOnly Underline="false" |
80 | | - AutoGrow Lines="1" MaxLines="10" /> |
| 76 | + <MudTextField @bind-Value="Point.Text" |
| 77 | + Placeholder="@(Point.IsTimestampedNote ? "What's on your mind?" : null)" |
| 78 | + Label="@(NoteLabel)" Typo="Typo.body2" |
| 79 | + Immediate ReadOnly Underline="false" |
| 80 | + AutoGrow Lines="1" MaxLines="10" /> |
81 | 81 | } |
82 | 82 |
|
83 | | - <MudLink OnClick="EditTextInDialog">Edit note</MudLink> |
84 | | - </div> |
| 83 | + <MudLink OnClick="EditTextInDialog">Edit note</MudLink> |
| 84 | + </div> |
85 | 85 | } |
86 | 86 | else if (Point.Type == PointType.Medication) |
87 | 87 | { |
88 | | - <div class="d-flex flex-grow-1 justify-space-between align-center" style="gap: 0.5em"> |
89 | | - <MudToggleGroup T="bool?" @bind-Value="Point.Bool" @bind-Value:after="OnMedicationTakenChanged" SelectionMode="SelectionMode.ToggleSelection"> |
90 | | - <MudToggleItem T="bool?" Value="false">No</MudToggleItem> |
91 | | - <MudToggleItem T="bool?" Value="true">Yes</MudToggleItem> |
92 | | - </MudToggleGroup> |
93 | | -
|
94 | | - <MudLink OnClick="EditDose" Disabled="@(string.IsNullOrWhiteSpace(Point.Category.MedicationUnit))">Edit dose</MudLink> |
95 | | - </div> |
| 88 | + <div class="d-flex flex-grow-1 justify-space-between align-center" style="gap: 0.5em"> |
| 89 | + <MudToggleGroup T="bool?" @bind-Value="Point.Bool" @bind-Value:after="OnMedicationTakenChanged" SelectionMode="SelectionMode.ToggleSelection"> |
| 90 | + <MudToggleItem T="bool?" Value="false">No</MudToggleItem> |
| 91 | + <MudToggleItem T="bool?" Value="true">Yes</MudToggleItem> |
| 92 | + </MudToggleGroup> |
| 93 | +
|
| 94 | + <MudLink OnClick="EditDose" Disabled="@(string.IsNullOrWhiteSpace(Point.Category.MedicationUnit))">Edit dose</MudLink> |
| 95 | + </div> |
96 | 96 | } |
97 | 97 |
|
98 | 98 | @code { |
@@ -176,23 +176,15 @@ else if (Point.Type == PointType.Medication) |
176 | 176 |
|
177 | 177 | if (point.Type == PointType.Medication && !string.IsNullOrWhiteSpace(category.MedicationUnit)) |
178 | 178 | { |
179 | | - var parts = new List<string>(); |
180 | | - |
181 | | - // The default dose and unit. |
182 | | - if (category.MedicationDose.HasValue) |
183 | | - { |
184 | | - parts.Add($"{category.MedicationDose:0.##}{category.MedicationUnit}"); |
185 | | - } |
186 | | - |
187 | | - // Show the dose if it's different from the category default. |
| 179 | + // Different dose from the category default. |
188 | 180 | if (point.MedicationDose.HasValue && point.MedicationDose != category.MedicationDose) |
189 | 181 | { |
190 | | - parts.Add($"{point.MedicationDose:0.##}{category.MedicationUnit}"); |
| 182 | + sb.Append(' ').Append($"{point.MedicationDose:0.##}{category.MedicationUnit}*"); |
191 | 183 | } |
192 | | - |
193 | | - if (parts.Count > 0) |
| 184 | + // The default dose and unit. |
| 185 | + else if (category.MedicationDose.HasValue) |
194 | 186 | { |
195 | | - sb.Append(' ').Append(string.Join(" - ", parts)); |
| 187 | + sb.Append(' ').Append($"{category.MedicationDose:0.##}{category.MedicationUnit}"); |
196 | 188 | } |
197 | 189 | } |
198 | 190 |
|
|
0 commit comments