changes to how logins are handled, actually respect the "don't save my credentials" box, you can no longer double click the like or dislike button in order to do the same thing twice
This commit is contained in:
parent
cee7853860
commit
a8dcd3a150
|
@ -29,6 +29,7 @@ namespace WinPlaza {
|
|||
private delegate void dgtNoParam();
|
||||
private delegate void dgtBool(bool b);
|
||||
private delegate void dgtStr(string s);
|
||||
private delegate void dgtCtrl(System.Windows.Controls.Control c);
|
||||
#endregion
|
||||
#region CrossThreadCalls
|
||||
private void Leveller() {
|
||||
|
@ -37,6 +38,8 @@ namespace WinPlaza {
|
|||
chLeft.Width = Bass.ChannelGetLevelLeft(BuffCh) / GfxWidthStep;
|
||||
chRight.Width = Bass.ChannelGetLevelRight(BuffCh) / GfxWidthStep;
|
||||
}
|
||||
private void DgtToggleEnabled(System.Windows.Controls.Control c) =>
|
||||
c.IsEnabled = !c.IsEnabled;
|
||||
private void SetStatus(string msg) =>
|
||||
Dispatcher.BeginInvoke(new dgtStr(_Status), msg);
|
||||
private void SetTitle(string msg) =>
|
||||
|
@ -161,10 +164,12 @@ namespace WinPlaza {
|
|||
private void BtPlayPause_Click(object sender, RoutedEventArgs e) {
|
||||
if(!AudioInit)
|
||||
return;
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btPlayPause);
|
||||
if(btPlayPause.IsChecked == true)
|
||||
_ = Dispatcher.BeginInvoke(new dgtNoParam(PlazaLoad));
|
||||
else
|
||||
_ = Dispatcher.BeginInvoke(new dgtNoParam(PlazaStop));
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btPlayPause);
|
||||
}
|
||||
private void SbMute_Click(object sender, RoutedEventArgs e) {
|
||||
if(MuteVol<0) {
|
||||
|
@ -189,39 +194,62 @@ namespace WinPlaza {
|
|||
Bass.GlobalStreamVolume = (int)sbVol.Value * 100;
|
||||
}
|
||||
private async void BtLogin_Click(object sender, RoutedEventArgs e) {
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btLogin);
|
||||
CredentialResult _c=CredentialManager.PromptForCredentials(messageText:"Please log into your Nightwave Plaza account", captionText:"Log into plaza.one");
|
||||
if(_c is null)
|
||||
return;
|
||||
CredentialManager.WriteCredential("Nightwave.NET", _c.UserName, _c.Password, CredentialPersistence.Enterprise);
|
||||
Credential c=CredentialManager.ReadCredential("Nightwave.NET");
|
||||
if(c is null)
|
||||
throw new Exception("what the fuck");
|
||||
Console.WriteLine($"did login work? {await plaza.Login(c.UserName, c.Password)}");
|
||||
Console.WriteLine($"can validate? {await plaza.CheckSession()}");
|
||||
#if DEBUG
|
||||
Console.WriteLine($"token is {plaza.GetAuthorizationToken()}");
|
||||
#endif
|
||||
//#if DEBUG
|
||||
// Console.WriteLine($"did login work? {await plaza.Login(c.UserName, c.Password)}");
|
||||
// Console.WriteLine($"can validate? {await plaza.CheckSession()}");
|
||||
// Console.WriteLine($"token is {plaza.GetAuthorizationToken()}");
|
||||
//#else
|
||||
if(!await plaza.Login(_c.UserName, _c.Password)) {
|
||||
SetStatus("Login failed! Please try again.");
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btLogin);
|
||||
return;
|
||||
}
|
||||
//user may have stored credentials and not want to keep them any more, delete with reckless abandon.
|
||||
CredentialManager.DeleteCredential("Nightwave.NET");
|
||||
if(_c.CredentialSaved == CredentialSaveOption.Selected) {
|
||||
CredentialManager.WriteCredential("Nightwave.NET", _c.UserName, _c.Password, CredentialPersistence.Enterprise);
|
||||
Credential c=CredentialManager.ReadCredential("Nightwave.NET");
|
||||
if(c is null) {
|
||||
SetStatus("Problem saving to Windows Credential store. Sorry.");
|
||||
throw new Exception("what the fuck");
|
||||
}
|
||||
}
|
||||
if(!await plaza.CheckSession()) {
|
||||
SetStatus("Something went wrong during login! Sorry.");
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btLogin);
|
||||
return;
|
||||
}
|
||||
//#endif
|
||||
btLogin.IsEnabled = false;
|
||||
btLogin.Visibility = Visibility.Hidden;
|
||||
imLogin.IsEnabled = false;
|
||||
imLogin.Visibility = Visibility.Hidden;
|
||||
SetStatus($"Logged in as {await plaza.GetUser()}");
|
||||
}
|
||||
private async void BtLike_Click(object sender, RoutedEventArgs e) {
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btLike);
|
||||
Nightwave.Vote v = Nightwave.Vote.Like;
|
||||
if(LikedCTrack)
|
||||
v = Nightwave.Vote.Favourite;
|
||||
if(await plaza.CastVote(v)) {
|
||||
SetStatus($"Submitted {v}!");
|
||||
LikedCTrack = !LikedCTrack; //This should allow "un-favouriting"
|
||||
LikedCTrack = !LikedCTrack;
|
||||
} else
|
||||
SetStatus($"Something went weird while casting {v}");
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btLike);
|
||||
_ = Dispatcher.BeginInvoke(new dgtBool(DgtRefresh), true);
|
||||
}
|
||||
private async void BtDislike_Click(object sender, RoutedEventArgs e) {
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btDislike);
|
||||
if(await plaza.CastVote(Nightwave.Vote.Dislike))
|
||||
SetStatus("Song disliked!");
|
||||
else
|
||||
SetStatus("Something went weird while disliking");
|
||||
_ = Dispatcher.BeginInvoke(new dgtCtrl(DgtToggleEnabled), btDislike);
|
||||
LikedCTrack = false;
|
||||
_ = Dispatcher.BeginInvoke(new dgtBool(DgtRefresh), true);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue