diff --git a/Selector.MAUI/Pages/Index.razor b/Selector.MAUI/Pages/Index.razor index 633d5d5..13ad915 100644 --- a/Selector.MAUI/Pages/Index.razor +++ b/Selector.MAUI/Pages/Index.razor @@ -3,7 +3,7 @@ @inject HubManager hubManager @inject ILogger logger -

run that

+

run that

@code { diff --git a/Selector.MAUI/Pages/Login.razor b/Selector.MAUI/Pages/Login.razor index d99fe32..af8707b 100644 --- a/Selector.MAUI/Pages/Login.razor +++ b/Selector.MAUI/Pages/Login.razor @@ -3,7 +3,7 @@ @inject NavigationManager navigation
-

Login

+

Login

@toast

@@ -11,7 +11,9 @@ - +
+ +
@@ -19,12 +21,20 @@ private LoginModel loginModel = new(); private string toast = string.Empty; + private bool isLoading = false; + [Inject] private ILogger logger { get; set; } private async Task HandleSubmit() { - switch (await session.Authenticate(loginModel.Username, loginModel.Password)) + isLoading = true; + + var authResult = await session.Authenticate(loginModel.Username, loginModel.Password); + + isLoading = false; + + switch (authResult) { case SelectorNetClient.TokenResponseStatus.Malformed: toast = "Bad Request, Username or Password missing"; diff --git a/Selector.MAUI/Pages/Now.razor b/Selector.MAUI/Pages/Now.razor index f37e93b..86650a7 100644 --- a/Selector.MAUI/Pages/Now.razor +++ b/Selector.MAUI/Pages/Now.razor @@ -3,24 +3,24 @@ @using System.Linq; @implements IDisposable -

Now

+

Now

-
+
- @if (nowCache.LastPlayCount?.ArtistCountData?.Count() > 0) + @if (nowCache.LastPlayCount?.AlbumCountData?.Count() > 3) {
- + - + - + @@ -29,6 +29,7 @@ +
} @@ -36,8 +37,9 @@ @if (nowCache.LastPlayCount?.TrackCountData?.Count() > 3) {
+

Track History

- + @@ -46,6 +48,7 @@ +
} @@ -53,8 +56,9 @@ @if (nowCache.LastPlayCount?.AlbumCountData?.Count() > 3) {
+

Album History

- + @@ -63,6 +67,7 @@ +
} @@ -70,8 +75,9 @@ @if (nowCache.LastPlayCount?.ArtistCountData?.Count() > 3) {
+

Artist History

- + @@ -80,6 +86,7 @@ +
} @@ -89,13 +96,6 @@
@code { - - class DataItem - { - public DateTime Date { get; set; } - public int Plays { get; set; } - } - [Inject] private NowHubCache nowCache { get; set; } @@ -103,18 +103,12 @@ private bool showDataLabels = false; private double strokeWidth = 5; - private DataItem[] artistData { get; set; } - private DataItem[] albumData { get; set; } - private DataItem[] trackData { get; set; } - - protected async override Task OnInitializedAsync() + protected override void OnInitialized() { nowCache.NewNowPlaying += OnNewPlaying; nowCache.NewCard += OnNewCard; nowCache.NewPlayCount += OnNewPlayCount; nowCache.NewAudioFeature += OnNewAudioFeature; - - UpdateData(); } private void OnNewPlaying(object sender, EventArgs args) @@ -129,17 +123,9 @@ private void OnNewPlayCount(object sender, EventArgs args) { - UpdateData(); Update(); } - private void UpdateData() - { - artistData = nowCache.LastPlayCount?.ArtistCountData?.Select(x => new DataItem { Date = x.TimeStamp, Plays = x.Value }).ToArray(); - albumData = nowCache.LastPlayCount?.AlbumCountData?.Select(x => new DataItem { Date = x.TimeStamp, Plays = x.Value }).ToArray(); - trackData = nowCache.LastPlayCount?.TrackCountData?.Select(x => new DataItem { Date = x.TimeStamp, Plays = x.Value }).ToArray(); - } - private void OnNewAudioFeature(object sender, EventArgs args) { Update(); diff --git a/Selector.MAUI/Pages/Past.razor b/Selector.MAUI/Pages/Past.razor index bc5b920..b6640c8 100644 --- a/Selector.MAUI/Pages/Past.razor +++ b/Selector.MAUI/Pages/Past.razor @@ -1,9 +1,9 @@ @page "/past" @using Selector.SignalR; -

Past

+

Past

-
+
@@ -13,7 +13,7 @@ @code { - protected async override Task OnInitializedAsync() + protected override void OnInitialized() { } diff --git a/Selector.MAUI/Pages/Settings.razor b/Selector.MAUI/Pages/Settings.razor index 81a0fd5..93598e7 100644 --- a/Selector.MAUI/Pages/Settings.razor +++ b/Selector.MAUI/Pages/Settings.razor @@ -1,7 +1,7 @@ @page "/settings"
-

Settings

+

Settings

@@ -12,13 +12,21 @@ Change=@OnStartPageChange />
+
+ OpenAbout()) Text="About" ButtonStyle="ButtonStyle.Info" /> +
+
+ OpenPrivacy()) Text="Privacy Policy" ButtonStyle="ButtonStyle.Info" /> +
SignOut()) Text="Sign Out" ButtonStyle="ButtonStyle.Danger" />
- +
+
+ @code { [Inject] @@ -30,7 +38,7 @@ private string currentStartPage { get; set; } - protected async override Task OnInitializedAsync() + protected override void OnInitialized() { currentStartPage = startManager.GetStartPage(); } @@ -45,4 +53,14 @@ sessionManager.SignOut(); navigationManager.NavigateTo("/"); } + + private async void OpenAbout() + { + await Browser.Default.OpenAsync("https://sarsoo.xyz/selector"); + } + + private async void OpenPrivacy() + { + await Browser.Default.OpenAsync("https://selector.sarsoo.xyz/privacy"); + } } \ No newline at end of file diff --git a/Selector.MAUI/Resources/Images/dotnet_bot.svg b/Selector.MAUI/Resources/Images/dotnet_bot.svg deleted file mode 100644 index e19b012..0000000 --- a/Selector.MAUI/Resources/Images/dotnet_bot.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Selector.MAUI/Services/SessionManager.cs b/Selector.MAUI/Services/SessionManager.cs index 0026b1e..29ff8ca 100644 --- a/Selector.MAUI/Services/SessionManager.cs +++ b/Selector.MAUI/Services/SessionManager.cs @@ -49,7 +49,7 @@ public class SessionManager return await HandleTokenResponse(tokenResponse); } - private async Task HandleTokenResponse(SelectorNetClient.TokenResponse tokenResponse) + private Task HandleTokenResponse(SelectorNetClient.TokenResponse tokenResponse) { switch (tokenResponse.Status) { @@ -79,7 +79,7 @@ public class SessionManager throw new NotImplementedException(); } - return tokenResponse.Status; + return Task.FromResult(tokenResponse.Status); } public void SignOut() diff --git a/Selector.MAUI/Shared/MainLayout.razor b/Selector.MAUI/Shared/MainLayout.razor index 2ed101d..a037e5e 100644 --- a/Selector.MAUI/Shared/MainLayout.razor +++ b/Selector.MAUI/Shared/MainLayout.razor @@ -5,11 +5,11 @@
-
+ @*
About -
+
*@ -
+
@Body
diff --git a/Selector.MAUI/Shared/NowPlayingCard.razor b/Selector.MAUI/Shared/NowPlayingCard.razor index 062516d..2b8cc75 100644 --- a/Selector.MAUI/Shared/NowPlayingCard.razor +++ b/Selector.MAUI/Shared/NowPlayingCard.razor @@ -8,10 +8,9 @@ @Track.Album.Name
- @foreach(var artist in Track.Artists) - { - @artist.Name - } + + @string.Join(", ", Track.Artists.Select(x => x.Name)) +
diff --git a/Selector.MAUI/wwwroot/css/card.css b/Selector.MAUI/wwwroot/css/card.css index 440db2b..1be76a3 100644 --- a/Selector.MAUI/wwwroot/css/card.css +++ b/Selector.MAUI/wwwroot/css/card.css @@ -33,6 +33,7 @@ .chart-card { width: 500px; + padding: 20px; } } @@ -53,6 +54,7 @@ .chart-card { margin-top: 10px; margin-bottom: 10px; + padding: 20px; } .spotify-logo {