Skip to content

Commit 8e510dd

Browse files
committed
Move dialog buttons to footer
1 parent 492f6f0 commit 8e510dd

4 files changed

Lines changed: 76 additions & 58 deletions

File tree

PocketDDD.BlazorClient/PocketDDD.BlazorClient/Features/EventFeedback/Components/EventFeedback.razor

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,25 +41,27 @@
4141
</MudCardContent>
4242
</MudCard>
4343
</DialogContent>
44-
<DialogActions>
45-
<MudButton
46-
Variant="Variant.Filled"
47-
Color="Color.Secondary"
48-
FullWidth="true"
49-
OnClick="HandleCancel">
50-
Cancel
51-
</MudButton>
52-
<MudButton
53-
Variant="Variant.Filled"
54-
Color="Color.Primary"
55-
FullWidth="true"
56-
OnClick="HandleSubmit"
57-
Disabled="!isDirty">
58-
Submit
59-
</MudButton>
60-
</DialogActions>
6144
</MudDialog>
6245

46+
<MudAppBar Bottom="true" Fixed="true" Color="Color.Transparent" Elevation="1">
47+
<MudButton
48+
Variant="Variant.Filled"
49+
Color="Color.Secondary"
50+
FullWidth="true"
51+
OnClick="HandleCancel">
52+
Cancel
53+
</MudButton>
54+
<MudButton
55+
Class="ml-2"
56+
Variant="Variant.Filled"
57+
Color="Color.Primary"
58+
FullWidth="true"
59+
OnClick="HandleSubmit"
60+
Disabled="!isDirty">
61+
Submit
62+
</MudButton>
63+
</MudAppBar>
64+
6365
@code {
6466
[CascadingParameter] MudDialogInstance MudDialog { get; set; }
6567

PocketDDD.BlazorClient/PocketDDD.BlazorClient/Features/SessionFeedback/Components/SessionFeedback.razor

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<TitleContent><MudText Typo="Typo.h6" Align="Align.Center">Session Feedback</MudText></TitleContent>
1010
<DialogContent>
1111

12-
@WhenFeedbackAlreadySubmitedShowWarning()
12+
@WhenFeedbackAlreadySubmittedShowWarning()
1313

1414
<MudCard Class="mt-3">
1515
<MudCardContent>
@@ -30,27 +30,29 @@
3030
</MudCardContent>
3131
</MudCard>
3232
</DialogContent>
33-
<DialogActions>
34-
<MudButton
35-
Variant="Variant.Filled"
36-
Color="Color.Secondary"
37-
FullWidth="true"
38-
OnClick="HandleCancel">
39-
Cancel
40-
</MudButton>
41-
<MudButton
42-
Variant="Variant.Filled"
43-
Color="Color.Primary"
44-
FullWidth="true"
45-
OnClick="HandleSubmit"
46-
Disabled="!isDirty">
47-
Submit
48-
</MudButton>
49-
</DialogActions>
5033
</MudDialog>
5134

35+
<MudAppBar Bottom="true" Fixed="true" Color="Color.Transparent" Elevation="1">
36+
<MudButton
37+
Variant="Variant.Filled"
38+
Color="Color.Secondary"
39+
FullWidth="true"
40+
OnClick="HandleCancel">
41+
Cancel
42+
</MudButton>
43+
<MudButton
44+
Class="ml-2"
45+
Variant="Variant.Filled"
46+
Color="Color.Primary"
47+
FullWidth="true"
48+
OnClick="HandleSubmit"
49+
Disabled="!isDirty">
50+
Submit
51+
</MudButton>
52+
</MudAppBar>
53+
5254
@code {
53-
RenderFragment? WhenFeedbackAlreadySubmitedShowWarning() => State.Value.TimeSlotAlreadyHasFeedback
55+
RenderFragment? WhenFeedbackAlreadySubmittedShowWarning() => State.Value.TimeSlotAlreadyHasFeedback
5456
? @<MudAlert Severity="Severity.Warning">
5557
You have already submitted feedback for a session at this time!<br />
5658
You are welcome to submit this feedback, but it won't get you anymore points!

PocketDDD.BlazorClient/PocketDDD.BlazorClient/Features/SessionFeedback/Store/SessionFeedbackEffects.cs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,34 @@ public EventFeedbackEffects(IState<SessionFeedbackState> state, IDispatcher disp
2121
[EffectMethod]
2222
public async Task OnFetchExistingSessionFeedback(FetchExistingSessionFeedbackAction action, IDispatcher dispatcher)
2323
{
24-
var feebackItems = await _localStorage.SessionFeedbacks.GetOrDefaultAsync();
25-
var feedback = feebackItems.FirstOrDefault(x => x.SessionId == action.SessionId);
24+
var feedbackItems = await _localStorage.SessionFeedbacks.GetOrDefaultAsync();
25+
var feedback = feedbackItems.FirstOrDefault(x => x.SessionId == action.SessionId);
26+
int? timeSlotId = feedback?.TimeSlotId;
27+
2628
if (feedback is not null)
2729
{
2830
dispatcher.Dispatch(new SetSessionFeedbackAction(feedback));
31+
}
2932

30-
if (feebackItems.Any(x => x.SessionId != feedback.SessionId &&
31-
x.TimeSlotId == feedback.TimeSlotId))
32-
dispatcher.Dispatch(new SetTimeSlotAlreadyHasFeedbackAction());
33+
if (timeSlotId is null)
34+
{
35+
var eventData = await _localStorage.EventData.GetAsync();
36+
timeSlotId = eventData!.Sessions.Single(x => x.Id == action.SessionId).TimeSlotId;
3337
}
38+
39+
if (feedbackItems.Any(x => x.SessionId != action.SessionId &&
40+
x.TimeSlotId == timeSlotId))
41+
dispatcher.Dispatch(new SetTimeSlotAlreadyHasFeedbackAction());
3442
}
3543

3644
[EffectMethod]
3745
public async Task OnSubmitSessionFeedbackAction(SubmitSessionFeedbackAction action, IDispatcher dispatcher)
3846
{
3947
var feedback = action.Feedback;
48+
49+
var eventData = await _localStorage.EventData.GetAsync();
50+
feedback.TimeSlotId = eventData!.Sessions.Single(x => x.Id == feedback.SessionId).TimeSlotId;
51+
4052
var feedbackItems = await _localStorage.SessionFeedbacks.GetOrDefaultAsync();
4153
feedbackItems.RemoveAll(x => x.SessionId == feedback.SessionId);
4254
feedbackItems.Add(feedback);

PocketDDD.BlazorClient/PocketDDD.BlazorClient/Features/Sync/Components/SyncStatus.razor

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,27 @@
3232
@WhenSyncingShowSyncAlert()
3333

3434
</DialogContent>
35-
<DialogActions>
36-
<MudButton
37-
Variant="Variant.Filled"
38-
Color="Color.Primary"
39-
FullWidth="true"
40-
StartIcon="@Icons.Material.Filled.CloudSync"
41-
OnClick="HandleSync">
42-
Sync
43-
</MudButton>
44-
<MudButton
45-
Variant="Variant.Filled"
46-
Color="Color.Secondary"
47-
FullWidth="true"
48-
OnClick="HandleClose">
49-
Close
50-
</MudButton>
51-
</DialogActions>
5235
</MudDialog>
5336

37+
<MudAppBar Bottom="true" Fixed="true" Color="Color.Transparent" Elevation="1">
38+
<MudButton
39+
Variant="Variant.Filled"
40+
Color="Color.Secondary"
41+
FullWidth="true"
42+
OnClick="HandleClose">
43+
Close
44+
</MudButton>
45+
<MudButton
46+
Class="ml-2"
47+
Variant="Variant.Filled"
48+
Color="Color.Primary"
49+
FullWidth="true"
50+
StartIcon="@Icons.Material.Filled.CloudSync"
51+
OnClick="HandleSync">
52+
Sync
53+
</MudButton>
54+
</MudAppBar>
55+
5456
@code {
5557
RenderFragment WhenSyncingShowSyncAlert() =>
5658
State.Value.IsSyncing

0 commit comments

Comments
 (0)