diff --git a/BlazorProject/Pages/LanguageSelector.razor b/BlazorProject/Pages/LanguageSelector.razor
new file mode 100644
index 0000000..6023e21
--- /dev/null
+++ b/BlazorProject/Pages/LanguageSelector.razor
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/BlazorProject/Pages/LanguageSelector.razor.cs b/BlazorProject/Pages/LanguageSelector.razor.cs
new file mode 100644
index 0000000..164f84c
--- /dev/null
+++ b/BlazorProject/Pages/LanguageSelector.razor.cs
@@ -0,0 +1,36 @@
+using System.Globalization;
+using Microsoft.AspNetCore.Components;
+using Microsoft.JSInterop;
+
+namespace BlazorProject.Pages;
+
+public partial class LanguageSelector
+{
+ private CultureInfo[] supportedLanguages = new []
+ {
+ new CultureInfo("en-US"),
+ new CultureInfo("fr-FR"),
+ new CultureInfo("ar-AE"),
+ };
+
+ [Inject]
+ private NavigationManager NavigationManager { get; set; }
+
+ [Inject]
+ private JSRuntime JsRuntime { get; set; }
+
+ private CultureInfo Culture
+ {
+ get => CultureInfo.CurrentCulture;
+ set
+ {
+ if (CultureInfo.CurrentCulture != value)
+ {
+ var js = (IJSInProcessRuntime)JsRuntime;
+ js.InvokeVoid("appCulture.set", value.Name);
+ NavigationManager.NavigateTo(NavigationManager.Uri, forceLoad: true);
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/BlazorProject/Pages/List.razor.cs b/BlazorProject/Pages/List.razor.cs
index 7f5412d..4d13e5f 100644
--- a/BlazorProject/Pages/List.razor.cs
+++ b/BlazorProject/Pages/List.razor.cs
@@ -68,15 +68,20 @@ public partial class List
}
}
- private void OnDelete(int id)
+ private async void OnDelete(int id)
{
var parameters = new ModalParameters();
parameters.Add(nameof(Item.Id), id);
var modal = Modal.Show("Delete Confirmation", parameters);
- var result = modal.Result;
+ var result = await modal.Result;
- DataService.Delete(id);
+ if (result.Cancelled)
+ {
+ return;
+ }
+
+ await DataService.Delete(id);
// Reload the page
NavigationManager.NavigateTo("list", true);
diff --git a/BlazorProject/Program.cs b/BlazorProject/Program.cs
index 1672370..407b7ca 100644
--- a/BlazorProject/Program.cs
+++ b/BlazorProject/Program.cs
@@ -1,3 +1,4 @@
+using System.Globalization;
using Blazored.LocalStorage;
using Blazored.Modal;
using Blazorise;
@@ -13,6 +14,7 @@ var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.Services.AddBlazoredLocalStorage();
builder.Services.AddBlazoredModal();
builder.Services.AddScoped();
+
builder.Services
.AddBlazorise()
.AddBootstrapProviders()
diff --git a/BlazorProject/_Imports.razor b/BlazorProject/_Imports.razor
index 1fc356d..35cfc74 100644
--- a/BlazorProject/_Imports.razor
+++ b/BlazorProject/_Imports.razor
@@ -10,4 +10,5 @@
@using BlazorProject.Layout
@using Blazorise.DataGrid
@using Blazored.Modal
-@using Blazored.Modal.Services
\ No newline at end of file
+@using Blazored.Modal.Services
+@using Microsoft.Extensions.Localization
\ No newline at end of file