Skip to content

Commit

Permalink
[ADD] New update notification (#260)
Browse files Browse the repository at this point in the history
  • Loading branch information
ilyalehchylin committed Jun 18, 2024
2 parents 1e829d3 + e62297c commit 82d3be2
Show file tree
Hide file tree
Showing 4 changed files with 167 additions and 62 deletions.
88 changes: 49 additions & 39 deletions source/EduCATS/Helpers/Forms/Dialogs/AppDialogs.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Windows.Input;
Expand All @@ -7,82 +7,90 @@
using Xamarin.Forms;

namespace EduCATS.Helpers.Forms.Dialogs
{
{
/// <summary>
/// <see cref="IDialogs"/> implementation.
/// </summary>
public class AppDialogs : IDialogs
{
{
/// <summary>
/// Localized "OK" text.
/// </summary>
static string _baseOK => CrossLocalization.Translate("base_ok");

static string _baseOK => CrossLocalization.Translate("base_ok");

/// <summary>
/// Localized "No" text.
/// </summary>
static string _baseNo => CrossLocalization.Translate("base_no");

static string _baseNo => CrossLocalization.Translate("base_no");

/// <summary>
/// Localized "Yes" text.
/// </summary>
static string _baseYes => CrossLocalization.Translate("base_yes");

static string _baseYes => CrossLocalization.Translate("base_yes");

/// <summary>
/// Localized "Error" text.
/// </summary>
static string _baseError => CrossLocalization.Translate("base_error");

static string _baseError => CrossLocalization.Translate("base_error");

/// <summary>
/// Localized "Cancel" text.
/// </summary>
static string _baseCancel => CrossLocalization.Translate("base_cancel");

static string _baseCancel => CrossLocalization.Translate("base_cancel");

/// <summary>
/// Localized "Loading" text.
/// </summary>
static string _baseLoading => CrossLocalization.Translate("base_loading");

static string _baseLoading => CrossLocalization.Translate("base_loading");

/// <summary>
/// Property for getting <see cref="Application.Current.MainPage"/>.
/// </summary>
Page mainPage =>
Application.Current.MainPage;

Application.Current.MainPage;

/// <summary>
/// Show error dialog.
/// </summary>
/// <param name="message">Dialog description.</param>
public void ShowError(string message) =>
mainPage.DisplayAlert(_baseError, message, _baseOK);

mainPage.DisplayAlert(_baseError, message, _baseOK);

/// <summary>
/// Show message dialog.
/// </summary>
/// <param name="title">Dialog title.</param>
/// <param name="message">Dialog description.</param>
public void ShowMessage(string title, string message) =>
mainPage.DisplayAlert(title, message, _baseOK);

mainPage.DisplayAlert(title, message, _baseOK);

/// <summary>
/// Show message dialog.
/// </summary>
/// <param name="title">Dialog title.</param>
/// <param name="message">Dialog description.</param>
public Task<bool> ShowMessageUpdate(string title, string message, string linkButton, string cancelButton) =>
mainPage.DisplayAlert(title, message, linkButton, cancelButton);

/// <summary>
/// Show loading dialog.
/// </summary>
public void ShowLoading() =>
UserDialogs.Instance.ShowLoading(_baseLoading);

UserDialogs.Instance.ShowLoading(_baseLoading);

/// <summary>
/// Show loading dialog.
/// </summary>
/// <param name="message">Dialog description.</param>
public void ShowLoading(string message) =>
UserDialogs.Instance.ShowLoading(message);

UserDialogs.Instance.ShowLoading(message);

/// <summary>
/// Hide loading dialog.
/// </summary>
public void HideLoading() =>
UserDialogs.Instance.HideLoading();

UserDialogs.Instance.HideLoading();

/// <summary>
/// Show progress dialog.
/// </summary>
Expand All @@ -91,8 +99,8 @@ public class AppDialogs : IDialogs
/// <param name="onCancel">Action on cancel.</param>
/// <returns>Progress dialog.</returns>
public object ShowProgress(string message, string cancelText, Action onCancel) =>
UserDialogs.Instance.Progress(message, onCancel, cancelText);

UserDialogs.Instance.Progress(message, onCancel, cancelText);

/// <summary>
/// Update progress dialog with percent.
/// </summary>
Expand All @@ -105,13 +113,14 @@ public void UpdateProgress(object dialog, int percent)
{
var progressDialog = getProgressDialog(dialog);

if (progressDialog == null) {
if (progressDialog == null)
{
return;
}

progressDialog.PercentComplete = percent;
}

}

/// <summary>
/// Hide progress dialog.
/// </summary>
Expand All @@ -120,8 +129,8 @@ public void UpdateProgress(object dialog, int percent)
/// (retrieved from <see cref="ShowProgress(string, string, Action)"/>).
/// </param>
public void HideProgress(object dialog) =>
getProgressDialog(dialog)?.Hide();

getProgressDialog(dialog)?.Hide();

/// <summary>
/// Show alert sheet.
/// </summary>
Expand All @@ -133,14 +142,15 @@ public void ShowSheet(string title, Dictionary<int, string> buttonList, ICommand
{
var config = new ActionSheetConfig().SetTitle(title);

foreach (var button in buttonList) {
foreach (var button in buttonList)
{
config.Add(button.Value, () => command.Execute(button.Key));
}

config.SetCancel(_baseCancel, () => command.Execute(-1));
UserDialogs.Instance.ActionSheet(config);
}

}

/// <summary>
/// Show confirmation dialog.
/// </summary>
Expand All @@ -155,7 +165,6 @@ public void ShowSheet(string title, Dictionary<int, string> buttonList, ICommand
/// </summary>
/// <param name="title">Dialog title.</param>
/// <param name="message">Dialog description.</param>

public async Task ShowConfirmation(string title, string message) =>
await mainPage.DisplayAlert(title, message, _baseOK);

Expand All @@ -166,7 +175,8 @@ public void ShowSheet(string title, Dictionary<int, string> buttonList, ICommand
/// <returns>Progress dialog.</returns>
IProgressDialog getProgressDialog(object dialog)
{
if (dialog == null || !(dialog is IProgressDialog)) {
if (dialog == null || !(dialog is IProgressDialog))
{
return null;
}

Expand Down
45 changes: 26 additions & 19 deletions source/EduCATS/Helpers/Forms/Dialogs/Interfaces/IDialogs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,57 @@
using System.Windows.Input;

namespace EduCATS.Helpers.Forms.Dialogs
{
{
/// <summary>
/// App dialogs interface.
/// </summary>
public interface IDialogs
{
{
/// <summary>
/// Show message dialog.
/// </summary>
/// <param name="title">Dialog title.</param>
/// <param name="message">Dialog description.</param>
void ShowMessage(string title, string message);

void ShowMessage(string title, string message);

/// <summary>
/// Show message dialog.
/// </summary>
/// <param name="title">Dialog title.</param>
/// <param name="message">Dialog description.</param>
Task<bool> ShowMessageUpdate(string title, string message, string linkButton, string cancelButton);

/// <summary>
/// Show error dialog.
/// </summary>
/// <param name="message">Dialog description.</param>
void ShowError(string message);

void ShowError(string message);

/// <summary>
/// Show loading dialog.
/// </summary>
void ShowLoading();

void ShowLoading();

/// <summary>
/// Show loading dialog.
/// </summary>
/// <param name="message">Dialog description.</param>
void ShowLoading(string message);

void ShowLoading(string message);

/// <summary>
/// Hide loading dialog.
/// </summary>
void HideLoading();

void HideLoading();

/// <summary>
/// Show alert sheet.
/// </summary>
/// <param name="title">Dialog title.</param>
/// <param name="buttons">Dialog buttons (id and name).</param>
/// <param name="command">Command to execute on button click.</param>
/// <returns>Chosen button name.</returns>
void ShowSheet(string title, Dictionary<int, string> buttons, ICommand command);

void ShowSheet(string title, Dictionary<int, string> buttons, ICommand command);

/// <summary>
/// Show confirmation dialog.
/// </summary>
Expand All @@ -61,7 +68,7 @@ public interface IDialogs
/// </summary>
/// <param name="title">Dialog title.</param>
/// <param name="message">Dialog description.</param>
Task ShowConfirmation(string title, string message);
Task ShowConfirmation(string title, string message);

/// <summary>
/// Show progress dialog.
Expand All @@ -70,8 +77,8 @@ public interface IDialogs
/// <param name="cancelText">Cancel button text.</param>
/// <param name="onCancel">Action on cancel.</param>
/// <returns>Progress dialog.</returns>
object ShowProgress(string message, string cancelText, Action onCancel);

object ShowProgress(string message, string cancelText, Action onCancel);

/// <summary>
/// Update progress dialog with percent.
/// </summary>
Expand All @@ -80,8 +87,8 @@ public interface IDialogs
/// (retrieved from <see cref="ShowProgress(string, string, Action)"/>).
/// </param>
/// <param name="percent">Percent to apply.</param>
void UpdateProgress(object dialog, int percent);

void UpdateProgress(object dialog, int percent);

/// <summary>
/// Hide progress dialog.
/// </summary>
Expand Down
15 changes: 13 additions & 2 deletions source/EduCATS/Networking/Servers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public static class Servers
/// </summary>
//public const string EduCatsAddress = @"https://host27072020.of.by";
public const string EduCatsAddress = @"https://educats.by";

/// <summary>
/// Test server not host27072020 address.
/// </summary>
Expand All @@ -43,14 +43,25 @@ public static class Servers
/// </summary>
const string _educatsBntuString = "educats.bntu.by";

/// <summary>
/// Platform services.
/// </summary>
public const string EducatsBntuAndroidMarketString = @"https://play.google.com/store/apps/details?id=by.bntu.educats";

/// <summary>
/// Platform services.
/// </summary>
public const string EducatsBntuIOSMarketString = @"https://apps.apple.com/by/app/educats/id1505738731";

/// <summary>
/// Platform services.
/// </summary>
public static IPlatformServices PlatformServices;

static Servers()
{
if (PlatformServices == null) {
if (PlatformServices == null)
{
PlatformServices = new PlatformServices();
}
}
Expand Down
Loading

0 comments on commit 82d3be2

Please sign in to comment.