+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/MainLayout.razor.css b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/MainLayout.razor.css
similarity index 56%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/MainLayout.razor.css
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/MainLayout.razor.css
index 699f17cd..038baf17 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/MainLayout.razor.css
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/MainLayout.razor.css
@@ -1,70 +1,96 @@
-.page {
- position: relative;
- display: flex;
- flex-direction: column;
-}
-
-main {
- flex: 1;
-}
-
-.sidebar {
- background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
-}
-
-.top-row {
- background-color: #f7f7f7;
- border-bottom: 1px solid #d6d5d5;
- justify-content: flex-end;
- height: 3.5rem;
- display: flex;
- align-items: center;
-}
-
- .top-row ::deep a, .top-row .btn-link {
- white-space: nowrap;
- margin-left: 1.5rem;
- }
-
- .top-row a:first-child {
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
-@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- .top-row.auth {
- justify-content: space-between;
- }
-
- .top-row a, .top-row .btn-link {
- margin-left: 0;
- }
-}
-
-@media (min-width: 641px) {
- .page {
- flex-direction: row;
- }
-
- .sidebar {
- width: 250px;
- height: 100vh;
- position: sticky;
- top: 0;
- }
-
- .top-row {
- position: sticky;
- top: 0;
- z-index: 1;
- }
-
- .top-row, article {
- padding-left: 2rem !important;
- padding-right: 1.5rem !important;
- }
-}
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+main {
+ flex: 1;
+}
+
+.sidebar {
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
+}
+
+.top-row {
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+ text-decoration: none;
+ }
+
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+ }
+
+ .top-row ::deep a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+@media (max-width: 640.98px) {
+ .top-row {
+ justify-content: space-between;
+ }
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 641px) {
+ .page {
+ flex-direction: row;
+ }
+
+ .sidebar {
+ width: 250px;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+
+ .top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+ }
+
+ .top-row, article {
+ padding-left: 2rem !important;
+ padding-right: 1.5rem !important;
+ }
+}
+
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+ #blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+ }
diff --git a/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/NavMenu.razor b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/NavMenu.razor
new file mode 100644
index 00000000..d965b537
--- /dev/null
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/NavMenu.razor
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/NavMenu.razor.css b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/NavMenu.razor.css
new file mode 100644
index 00000000..4e15395e
--- /dev/null
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Layout/NavMenu.razor.css
@@ -0,0 +1,105 @@
+.navbar-toggler {
+ appearance: none;
+ cursor: pointer;
+ width: 3.5rem;
+ height: 2.5rem;
+ color: white;
+ position: absolute;
+ top: 0.5rem;
+ right: 1rem;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
+}
+
+.navbar-toggler:checked {
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.bi {
+ display: inline-block;
+ position: relative;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-right: 0.75rem;
+ top: -1px;
+ background-size: cover;
+}
+
+.bi-house-door-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
+}
+
+.bi-plus-square-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
+}
+
+.bi-list-nested-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep .nav-link {
+ color: #d7d7d7;
+ background: none;
+ border: none;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ width: 100%;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.37);
+ color: white;
+}
+
+.nav-item ::deep .nav-link:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+.nav-scrollable {
+ display: none;
+}
+
+.navbar-toggler:checked ~ .nav-scrollable {
+ display: block;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .nav-scrollable {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+
+ /* Allow sidebar to scroll for tall menus */
+ height: calc(100vh - 3.5rem);
+ overflow-y: auto;
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Counter.razor b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Counter.razor
similarity index 91%
rename from Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Counter.razor
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Counter.razor
index b21f0521..1a4f8e75 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Counter.razor
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Counter.razor
@@ -1,18 +1,19 @@
-@page "/counter"
-
-
Counter
-
-
Counter
-
-
Current count: @currentCount
-
-
Click me
-
-@code {
- private int currentCount = 0;
-
- private void IncrementCount()
- {
- currentCount++;
- }
-}
+@page "/counter"
+@rendermode InteractiveServer
+
+
Counter
+
+
Counter
+
+
Current count: @currentCount
+
+
Click me
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Error.razor b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Error.razor
new file mode 100644
index 00000000..576cc2d2
--- /dev/null
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"
+@using System.Diagnostics
+
+
Error
+
+
Error.
+
An error occurred while processing your request.
+
+@if (ShowRequestId)
+{
+
+ Request ID: @RequestId
+
+}
+
+
Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+@code{
+ [CascadingParameter]
+ private HttpContext? HttpContext { get; set; }
+
+ private string? RequestId { get; set; }
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ protected override void OnInitialized() =>
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
+}
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Pages/Index.razor b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Home.razor
similarity index 100%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Pages/Index.razor
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Home.razor
diff --git a/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Weather.razor b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Weather.razor
new file mode 100644
index 00000000..43a1ecbe
--- /dev/null
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Pages/Weather.razor
@@ -0,0 +1,64 @@
+@page "/weather"
+@attribute [StreamRendering]
+
+
Weather
+
+
Weather
+
+
This component demonstrates showing data.
+
+@if (forecasts == null)
+{
+
Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Simulate asynchronous loading to demonstrate streaming rendering
+ await Task.Delay(500);
+
+ var startDate = DateOnly.FromDateTime(DateTime.Now);
+ var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
+ forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = summaries[Random.Shared.Next(summaries.Length)]
+ }).ToArray();
+ }
+
+ private class WeatherForecast
+ {
+ public DateOnly Date { get; set; }
+ public int TemperatureC { get; set; }
+ public string? Summary { get; set; }
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+ }
+}
diff --git a/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Routes.razor b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Routes.razor
new file mode 100644
index 00000000..f756e19d
--- /dev/null
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/Routes.razor
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/_Imports.razor b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/_Imports.razor
similarity index 59%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/_Imports.razor
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/_Imports.razor
index df3bb018..93530e02 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/_Imports.razor
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Components/_Imports.razor
@@ -1,10 +1,12 @@
@using System.Net.Http
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components.Authorization
+@using System.Net.Http.Json
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
+@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using PDF_Viewer_in_a_Dialog
-@using PDF_Viewer_in_a_Dialog.Shared
+@using PDF_Viewer_in_a_Dialog.Components
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.SfPdfViewer
\ No newline at end of file
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog.csproj b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/PDF_Viewer_in_a_Dialog.csproj
similarity index 88%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog.csproj
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/PDF_Viewer_in_a_Dialog.csproj
index 124ad253..fdfb1afd 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog.csproj
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/PDF_Viewer_in_a_Dialog.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
enable
enable
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog.sln b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/PDF_Viewer_in_a_Dialog.sln
similarity index 55%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog.sln
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/PDF_Viewer_in_a_Dialog.sln
index ca1b6045..7c40d8ac 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog.sln
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/PDF_Viewer_in_a_Dialog.sln
@@ -1,9 +1,8 @@
-
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.2.32630.192
+VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PDF_Viewer_in_a_Dialog", "PDF_Viewer_in_a_Dialog.csproj", "{319A68DB-B0FE-4557-97D1-9563E6A127C1}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PDF_Viewer_in_a_Dialog", "PDF_Viewer_in_a_Dialog.csproj", "{5E0B2C37-E14B-726F-6FF0-E47E89D17930}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,15 +10,15 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {319A68DB-B0FE-4557-97D1-9563E6A127C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {319A68DB-B0FE-4557-97D1-9563E6A127C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {319A68DB-B0FE-4557-97D1-9563E6A127C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {319A68DB-B0FE-4557-97D1-9563E6A127C1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5E0B2C37-E14B-726F-6FF0-E47E89D17930}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5E0B2C37-E14B-726F-6FF0-E47E89D17930}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5E0B2C37-E14B-726F-6FF0-E47E89D17930}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5E0B2C37-E14B-726F-6FF0-E47E89D17930}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {C81EA252-E6E1-4588-98F7-B135E18440A7}
+ SolutionGuid = {C385EF50-DE22-4099-9902-52E4AE5EB5B0}
EndGlobalSection
EndGlobal
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Program.cs b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Program.cs
similarity index 51%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Program.cs
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Program.cs
index cd86e0f3..ab084bcd 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Program.cs
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Program.cs
@@ -1,12 +1,12 @@
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Web;
+using PDF_Viewer_in_a_Dialog.Components;
using Syncfusion.Blazor;
-
var builder = WebApplication.CreateBuilder(args);
-
// Add services to the container.
-builder.Services.AddRazorPages();
-builder.Services.AddServerSideBlazor();
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
+builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
@@ -14,7 +14,7 @@
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
@@ -22,10 +22,9 @@
app.UseHttpsRedirection();
app.UseStaticFiles();
+app.UseAntiforgery();
-app.UseRouting();
-
-app.MapBlazorHub();
-app.MapFallbackToPage("/_Host");
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
app.Run();
diff --git a/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Properties/launchSettings.json b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Properties/launchSettings.json
new file mode 100644
index 00000000..4a704a52
--- /dev/null
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/Properties/launchSettings.json
@@ -0,0 +1,38 @@
+{
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:24008",
+ "sslPort": 44395
+ }
+ },
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5177",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7040;http://localhost:5177",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+ }
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/appsettings.Development.json b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/appsettings.Development.json
similarity index 82%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/appsettings.Development.json
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/appsettings.Development.json
index 770d3e93..0c208ae9 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/appsettings.Development.json
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/appsettings.Development.json
@@ -1,5 +1,4 @@
{
- "DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/appsettings.json b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/appsettings.json
similarity index 100%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/appsettings.json
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/appsettings.json
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/css/site.css b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/app.css
similarity index 81%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/css/site.css
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/app.css
index 1f4b8cf3..2bd9b789 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/css/site.css
+++ b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/app.css
@@ -1,15 +1,9 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
-
html, body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
-h1:focus {
- outline: none;
-}
-
a, .btn-link {
- color: #0071c1;
+ color: #006bb7;
}
.btn-primary {
@@ -18,41 +12,30 @@ a, .btn-link {
border-color: #1861ac;
}
+.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
+}
+
.content {
padding-top: 1.1rem;
}
+h1:focus {
+ outline: none;
+}
+
.valid.modified:not([type=checkbox]) {
outline: 1px solid #26b050;
}
.invalid {
- outline: 1px solid red;
+ outline: 1px solid #e50000;
}
.validation-message {
- color: red;
-}
-
-#blazor-error-ui {
- background: lightyellow;
- bottom: 0;
- box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
- display: none;
- left: 0;
- padding: 0.6rem 1.25rem 0.7rem 1.25rem;
- position: fixed;
- width: 100%;
- z-index: 1000;
+ color: #e50000;
}
- #blazor-error-ui .dismiss {
- cursor: pointer;
- position: absolute;
- right: 0.75rem;
- top: 0.5rem;
- }
-
.blazor-error-boundary {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
padding: 1rem 1rem 1rem 3.7rem;
@@ -62,3 +45,7 @@ a, .btn-link {
.blazor-error-boundary::after {
content: "An error has occurred."
}
+
+.darker-border-checkbox.form-check-input {
+ border-color: #929292;
+}
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/css/bootstrap/bootstrap.min.css b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/bootstrap/bootstrap.min.css
similarity index 100%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/css/bootstrap/bootstrap.min.css
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/bootstrap/bootstrap.min.css
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/css/bootstrap/bootstrap.min.css.map b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/bootstrap/bootstrap.min.css.map
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/data/HTTP Succinctly.pdf b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/data/HTTP Succinctly.pdf
similarity index 100%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/wwwroot/data/HTTP Succinctly.pdf
rename to Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/data/HTTP Succinctly.pdf
diff --git a/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/favicon.png b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/favicon.png
new file mode 100644
index 00000000..8422b596
Binary files /dev/null and b/Print/PDF Viewer in a Dialog/PDF_Viewer_in_a_Dialog/wwwroot/favicon.png differ
diff --git a/Print/Print Large page document/Print Large page document.csproj b/Print/Print Large page document/Print Large page document.csproj
index 339b72d8..b3aef764 100644
--- a/Print/Print Large page document/Print Large page document.csproj
+++ b/Print/Print Large page document/Print Large page document.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/App.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/App.razor
deleted file mode 100644
index 6fd3ed1b..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/App.razor
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Not found
-
- Sorry, there's nothing at this address.
-
-
-
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/App.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/App.razor
new file mode 100644
index 00000000..7834ffb3
--- /dev/null
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/App.razor
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/MainLayout.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/MainLayout.razor
similarity index 53%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/MainLayout.razor
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/MainLayout.razor
index 5ebd06bf..5a24bb13 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/MainLayout.razor
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/MainLayout.razor
@@ -1,19 +1,23 @@
-@inherits LayoutComponentBase
-
-
Show_Thumbnail_Panel
-
-
-
-
-
-
-
-
- @Body
-
-
-
+@inherits LayoutComponentBase
+
+
+
+
+
+
+
+
+ @Body
+
+
+
+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Shared/MainLayout.razor.css b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/MainLayout.razor.css
similarity index 56%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Shared/MainLayout.razor.css
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/MainLayout.razor.css
index 551e4b27..038baf17 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Shared/MainLayout.razor.css
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/MainLayout.razor.css
@@ -21,26 +21,27 @@ main {
align-items: center;
}
- .top-row ::deep a, .top-row .btn-link {
+ .top-row ::deep a, .top-row ::deep .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
+ text-decoration: none;
}
- .top-row a:first-child {
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+ }
+
+ .top-row ::deep a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- .top-row.auth {
+ .top-row {
justify-content: space-between;
}
- .top-row a, .top-row .btn-link {
+ .top-row ::deep a, .top-row ::deep .btn-link {
margin-left: 0;
}
}
@@ -63,8 +64,33 @@ main {
z-index: 1;
}
+ .top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+ }
+
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
+
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+ #blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+ }
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/NavMenu.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/NavMenu.razor
new file mode 100644
index 00000000..b23feb12
--- /dev/null
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/NavMenu.razor
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/NavMenu.razor.css b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/NavMenu.razor.css
new file mode 100644
index 00000000..4e15395e
--- /dev/null
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Layout/NavMenu.razor.css
@@ -0,0 +1,105 @@
+.navbar-toggler {
+ appearance: none;
+ cursor: pointer;
+ width: 3.5rem;
+ height: 2.5rem;
+ color: white;
+ position: absolute;
+ top: 0.5rem;
+ right: 1rem;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
+}
+
+.navbar-toggler:checked {
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.bi {
+ display: inline-block;
+ position: relative;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-right: 0.75rem;
+ top: -1px;
+ background-size: cover;
+}
+
+.bi-house-door-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
+}
+
+.bi-plus-square-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
+}
+
+.bi-list-nested-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep .nav-link {
+ color: #d7d7d7;
+ background: none;
+ border: none;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ width: 100%;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.37);
+ color: white;
+}
+
+.nav-item ::deep .nav-link:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+.nav-scrollable {
+ display: none;
+}
+
+.navbar-toggler:checked ~ .nav-scrollable {
+ display: block;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .nav-scrollable {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+
+ /* Allow sidebar to scroll for tall menus */
+ height: calc(100vh - 3.5rem);
+ overflow-y: auto;
+ }
+}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Counter.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Counter.razor
similarity index 91%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Counter.razor
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Counter.razor
index ef23cb31..1a4f8e75 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Counter.razor
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Counter.razor
@@ -1,4 +1,5 @@
@page "/counter"
+@rendermode InteractiveServer
Counter
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Error.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Error.razor
new file mode 100644
index 00000000..576cc2d2
--- /dev/null
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"
+@using System.Diagnostics
+
+
Error
+
+
Error.
+
An error occurred while processing your request.
+
+@if (ShowRequestId)
+{
+
+ Request ID: @RequestId
+
+}
+
+
Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+@code{
+ [CascadingParameter]
+ private HttpContext? HttpContext { get; set; }
+
+ private string? RequestId { get; set; }
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ protected override void OnInitialized() =>
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
+}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Index.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Home.razor
similarity index 100%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Index.razor
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Home.razor
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Weather.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Weather.razor
new file mode 100644
index 00000000..43a1ecbe
--- /dev/null
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Pages/Weather.razor
@@ -0,0 +1,64 @@
+@page "/weather"
+@attribute [StreamRendering]
+
+
Weather
+
+
Weather
+
+
This component demonstrates showing data.
+
+@if (forecasts == null)
+{
+
Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Simulate asynchronous loading to demonstrate streaming rendering
+ await Task.Delay(500);
+
+ var startDate = DateOnly.FromDateTime(DateTime.Now);
+ var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
+ forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = summaries[Random.Shared.Next(summaries.Length)]
+ }).ToArray();
+ }
+
+ private class WeatherForecast
+ {
+ public DateOnly Date { get; set; }
+ public int TemperatureC { get; set; }
+ public string? Summary { get; set; }
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+ }
+}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Routes.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Routes.razor
new file mode 100644
index 00000000..f756e19d
--- /dev/null
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/Routes.razor
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/_Imports.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/_Imports.razor
similarity index 58%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/_Imports.razor
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/_Imports.razor
index 9824a9c4..90c57c62 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/_Imports.razor
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Components/_Imports.razor
@@ -1,12 +1,12 @@
@using System.Net.Http
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components.Authorization
+@using System.Net.Http.Json
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
+@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using SfPdfViewerApp
-@using SfPdfViewerApp.Shared
-@using Syncfusion.Blazor;
-@using Syncfusion.Blazor.SfPdfViewer;
+@using SfPdfViewerApp.Components
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.SfPdfViewer
\ No newline at end of file
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Data/WeatherForecast.cs b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Data/WeatherForecast.cs
deleted file mode 100644
index 08cf178e..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Data/WeatherForecast.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace SfPdfViewerApp.Data
-{
- public class WeatherForecast
- {
- public DateTime Date { get; set; }
-
- public int TemperatureC { get; set; }
-
- public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
-
- public string? Summary { get; set; }
- }
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Data/WeatherForecastService.cs b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Data/WeatherForecastService.cs
deleted file mode 100644
index 1b3ff582..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Data/WeatherForecastService.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace SfPdfViewerApp.Data
-{
- public class WeatherForecastService
- {
- private static readonly string[] Summaries = new[]
- {
- "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
- };
-
- public Task
GetForecastAsync(DateTime startDate)
- {
- return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
- {
- Date = startDate.AddDays(index),
- TemperatureC = Random.Shared.Next(-20, 55),
- Summary = Summaries[Random.Shared.Next(Summaries.Length)]
- }).ToArray());
- }
- }
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Error.cshtml b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Error.cshtml
deleted file mode 100644
index feb69046..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Error.cshtml
+++ /dev/null
@@ -1,42 +0,0 @@
-@page
-@model SfPdfViewerApp.Pages.ErrorModel
-
-
-
-
-
-
-
- Error
-
-
-
-
-
-
-
-
Error.
-
An error occurred while processing your request.
-
- @if (Model.ShowRequestId)
- {
-
- Request ID: @Model.RequestId
-
- }
-
-
Development Mode
-
- Swapping to the Development environment displays detailed information about the error that occurred.
-
-
- The Development environment shouldn't be enabled for deployed applications.
- It can result in displaying sensitive information from exceptions to end users.
- For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
- and restarting the app.
-
-
-
-
-
-
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Error.cshtml.cs b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Error.cshtml.cs
deleted file mode 100644
index 3e89ef25..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using System.Diagnostics;
-
-namespace SfPdfViewerApp.Pages
-{
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- [IgnoreAntiforgeryToken]
- public class ErrorModel : PageModel
- {
- public string? RequestId { get; set; }
-
- public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- private readonly ILogger _logger;
-
- public ErrorModel(ILogger logger)
- {
- _logger = logger;
- }
-
- public void OnGet()
- {
- RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- }
- }
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/FetchData.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/FetchData.razor
deleted file mode 100644
index 2b420a38..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/FetchData.razor
+++ /dev/null
@@ -1,48 +0,0 @@
-@page "/fetchdata"
-
-Weather forecast
-
-@using SfPdfViewerApp.Data
-@inject WeatherForecastService ForecastService
-
-Weather forecast
-
-This component demonstrates fetching data from a service.
-
-@if (forecasts == null)
-{
- Loading...
-}
-else
-{
-
-
-
- Date
- Temp. (C)
- Temp. (F)
- Summary
-
-
-
- @foreach (var forecast in forecasts)
- {
-
- @forecast.Date.ToShortDateString()
- @forecast.TemperatureC
- @forecast.TemperatureF
- @forecast.Summary
-
- }
-
-
-}
-
-@code {
- private WeatherForecast[]? forecasts;
-
- protected override async Task OnInitializedAsync()
- {
- forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
- }
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/_Host.cshtml b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/_Host.cshtml
deleted file mode 100644
index a48de198..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/_Host.cshtml
+++ /dev/null
@@ -1,8 +0,0 @@
-@page "/"
-@namespace SfPdfViewerApp.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-@{
- Layout = "_Layout";
-}
-
-
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/_Layout.cshtml b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/_Layout.cshtml
deleted file mode 100644
index 118e7957..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Pages/_Layout.cshtml
+++ /dev/null
@@ -1,36 +0,0 @@
-@using Microsoft.AspNetCore.Components.Web
-@namespace SfPdfViewerApp.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @RenderBody()
-
-
-
- An error has occurred. This application may no longer respond until reloaded.
-
-
- An unhandled exception has occurred. See browser dev tools for details.
-
-
Reload
-
🗙
-
-
-
-
-
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Program.cs b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Program.cs
index 642e6c8f..4e55eec3 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Program.cs
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Program.cs
@@ -1,25 +1,20 @@
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Web;
-using SfPdfViewerApp.Data;
+using SfPdfViewerApp.Components;
using Syncfusion.Blazor;
-
var builder = WebApplication.CreateBuilder(args);
-
// Add services to the container.
-builder.Services.AddRazorPages();
-builder.Services.AddServerSideBlazor();
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
-
-// Add Syncfusion Blazor service to the container.
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
builder.Services.AddSyncfusionBlazor();
-builder.Services.AddSingleton();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
@@ -27,10 +22,9 @@
app.UseHttpsRedirection();
app.UseStaticFiles();
+app.UseAntiforgery();
-app.UseRouting();
-
-app.MapBlazorHub();
-app.MapFallbackToPage("/_Host");
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
app.Run();
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Properties/launchSettings.json b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Properties/launchSettings.json
index 29602226..7b40d666 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Properties/launchSettings.json
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Properties/launchSettings.json
@@ -1,28 +1,38 @@
{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:42481",
- "sslPort": 44322
- }
- },
- "profiles": {
- "SfPdfViewerApp": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "https://localhost:7170;http://localhost:5004",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:43438",
+ "sslPort": 44364
}
},
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5279",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7034;http://localhost:5279",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
}
}
}
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/SfPdfViewerApp.csproj b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/SfPdfViewerApp.csproj
index 124ad253..fdfb1afd 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/SfPdfViewerApp.csproj
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/SfPdfViewerApp.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
enable
enable
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp.sln b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/SfPdfViewerApp.sln
similarity index 60%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp.sln
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/SfPdfViewerApp.sln
index 2840b8be..0087ef2a 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp.sln
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/SfPdfViewerApp.sln
@@ -1,9 +1,8 @@
-
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.8.34330.188
+VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SfPdfViewerApp", "SfPdfViewerApp\SfPdfViewerApp.csproj", "{1070AFF6-B24E-4B23-8F1B-ED8E106DD797}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SfPdfViewerApp", "SfPdfViewerApp.csproj", "{EF79CBCC-C1F3-896D-A19B-E19911DE888E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,15 +10,15 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1070AFF6-B24E-4B23-8F1B-ED8E106DD797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1070AFF6-B24E-4B23-8F1B-ED8E106DD797}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1070AFF6-B24E-4B23-8F1B-ED8E106DD797}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1070AFF6-B24E-4B23-8F1B-ED8E106DD797}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EF79CBCC-C1F3-896D-A19B-E19911DE888E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF79CBCC-C1F3-896D-A19B-E19911DE888E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF79CBCC-C1F3-896D-A19B-E19911DE888E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EF79CBCC-C1F3-896D-A19B-E19911DE888E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {5D60B341-96BE-4663-8D60-6A689222124D}
+ SolutionGuid = {01C7A84B-A5FF-423F-B7CA-4CCB290FCB90}
EndGlobalSection
EndGlobal
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/NavMenu.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/NavMenu.razor
deleted file mode 100644
index f02d6553..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/NavMenu.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-@code {
- private bool collapseNavMenu = true;
-
- private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
-
- private void ToggleNavMenu()
- {
- collapseNavMenu = !collapseNavMenu;
- }
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/NavMenu.razor.css b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/NavMenu.razor.css
deleted file mode 100644
index acc5f9f8..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/NavMenu.razor.css
+++ /dev/null
@@ -1,62 +0,0 @@
-.navbar-toggler {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.top-row {
- height: 3.5rem;
- background-color: rgba(0,0,0,0.4);
-}
-
-.navbar-brand {
- font-size: 1.1rem;
-}
-
-.oi {
- width: 2rem;
- font-size: 1.1rem;
- vertical-align: text-top;
- top: -2px;
-}
-
-.nav-item {
- font-size: 0.9rem;
- padding-bottom: 0.5rem;
-}
-
- .nav-item:first-of-type {
- padding-top: 1rem;
- }
-
- .nav-item:last-of-type {
- padding-bottom: 1rem;
- }
-
- .nav-item ::deep a {
- color: #d7d7d7;
- border-radius: 4px;
- height: 3rem;
- display: flex;
- align-items: center;
- line-height: 3rem;
- }
-
-.nav-item ::deep a.active {
- background-color: rgba(255,255,255,0.25);
- color: white;
-}
-
-.nav-item ::deep a:hover {
- background-color: rgba(255,255,255,0.1);
- color: white;
-}
-
-@media (min-width: 641px) {
- .navbar-toggler {
- display: none;
- }
-
- .collapse {
- /* Never collapse the sidebar for wide screens */
- display: block;
- }
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/SurveyPrompt.razor b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/SurveyPrompt.razor
deleted file mode 100644
index e3e6429c..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/SurveyPrompt.razor
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
@Title
-
-
- Please take our
- brief survey
-
- and tell us what you think.
-
-
-@code {
- // Demonstrates how a parent component can supply parameters
- [Parameter]
- public string? Title { get; set; }
-}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/appsettings.Development.json b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/appsettings.Development.json
index 770d3e93..0c208ae9 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/appsettings.Development.json
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/appsettings.Development.json
@@ -1,5 +1,4 @@
{
- "DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/site.css b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/app.css
similarity index 81%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/site.css
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/app.css
index 1f4b8cf3..2bd9b789 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/site.css
+++ b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/app.css
@@ -1,15 +1,9 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
-
html, body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
-h1:focus {
- outline: none;
-}
-
a, .btn-link {
- color: #0071c1;
+ color: #006bb7;
}
.btn-primary {
@@ -18,41 +12,30 @@ a, .btn-link {
border-color: #1861ac;
}
+.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
+}
+
.content {
padding-top: 1.1rem;
}
+h1:focus {
+ outline: none;
+}
+
.valid.modified:not([type=checkbox]) {
outline: 1px solid #26b050;
}
.invalid {
- outline: 1px solid red;
+ outline: 1px solid #e50000;
}
.validation-message {
- color: red;
-}
-
-#blazor-error-ui {
- background: lightyellow;
- bottom: 0;
- box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
- display: none;
- left: 0;
- padding: 0.6rem 1.25rem 0.7rem 1.25rem;
- position: fixed;
- width: 100%;
- z-index: 1000;
+ color: #e50000;
}
- #blazor-error-ui .dismiss {
- cursor: pointer;
- position: absolute;
- right: 0.75rem;
- top: 0.5rem;
- }
-
.blazor-error-boundary {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
padding: 1rem 1rem 1rem 3.7rem;
@@ -62,3 +45,7 @@ a, .btn-link {
.blazor-error-boundary::after {
content: "An error has occurred."
}
+
+.darker-border-checkbox.form-check-input {
+ border-color: #929292;
+}
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/bootstrap/bootstrap.min.css b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/bootstrap/bootstrap.min.css
similarity index 100%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/bootstrap/bootstrap.min.css
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/bootstrap/bootstrap.min.css
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/bootstrap/bootstrap.min.css.map b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/bootstrap/bootstrap.min.css.map
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/FONT-LICENSE b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/FONT-LICENSE
deleted file mode 100644
index a1dc03f3..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/FONT-LICENSE
+++ /dev/null
@@ -1,86 +0,0 @@
-SIL OPEN FONT LICENSE Version 1.1
-
-Copyright (c) 2014 Waybury
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/ICON-LICENSE b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/ICON-LICENSE
deleted file mode 100644
index 2199f4a6..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/ICON-LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Waybury
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/README.md b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/README.md
deleted file mode 100644
index 5ac0c170..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)
-===========
-
-### Open Iconic is the open source sibling of [Iconic](https://github.com/iconic/open-iconic). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](https://github.com/iconic/open-iconic)
-
-
-
-## What's in Open Iconic?
-
-* 223 icons designed to be legible down to 8 pixels
-* Super-light SVG files - 61.8 for the entire set
-* SVG sprite—the modern replacement for icon fonts
-* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
-* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
-* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
-
-
-## Getting Started
-
-#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](https://github.com/iconic/open-iconic) and [Reference](https://github.com/iconic/open-iconic) sections.
-
-### General Usage
-
-#### Using Open Iconic's SVGs
-
-We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
-
-```
-
-```
-
-#### Using Open Iconic's SVG Sprite
-
-Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
-
-Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.*
-
-```
-
-
-
-```
-
-Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions.
-
-```
-.icon {
- width: 16px;
- height: 16px;
-}
-```
-
-Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag.
-
-```
-.icon-account-login {
- fill: #f00;
-}
-```
-
-To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/).
-
-#### Using Open Iconic's Icon Font...
-
-
-##### …with Bootstrap
-
-You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}`
-
-
-```
-
-```
-
-
-```
-
-```
-
-##### …with Foundation
-
-You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}`
-
-```
-
-```
-
-
-```
-
-```
-
-##### …on its own
-
-You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}`
-
-```
-
-```
-
-```
-
-```
-
-
-## License
-
-### Icons
-
-All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT).
-
-### Fonts
-
-All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web).
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
deleted file mode 100644
index 4664f2e8..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'}
\ No newline at end of file
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
deleted file mode 100644
index f98177db..00000000
Binary files a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot and /dev/null differ
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
deleted file mode 100644
index f6bd6846..00000000
Binary files a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf and /dev/null differ
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
deleted file mode 100644
index 32b2c4e9..00000000
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
+++ /dev/null
@@ -1,543 +0,0 @@
-
-
-
-
-
-Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014
- By P.J. Onori
-Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
deleted file mode 100644
index fab60486..00000000
Binary files a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf and /dev/null differ
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
deleted file mode 100644
index f9309988..00000000
Binary files a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff and /dev/null differ
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/favicon.ico b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/favicon.ico
deleted file mode 100644
index 63e859b4..00000000
Binary files a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/favicon.ico and /dev/null differ
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/favicon.png b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/favicon.png
new file mode 100644
index 00000000..8422b596
Binary files /dev/null and b/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/wwwroot/favicon.png differ
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/App.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/App.razor
deleted file mode 100644
index 623580d0..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/App.razor
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Not found
-
- Sorry, there's nothing at this address.
-
-
-
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/App.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/App.razor
new file mode 100644
index 00000000..c3e26098
--- /dev/null
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/App.razor
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Shared/MainLayout.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/MainLayout.razor
similarity index 53%
rename from Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Shared/MainLayout.razor
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/MainLayout.razor
index c04db5e9..5a24bb13 100644
--- a/Print/PDF Viewer in a Dialog/PDF Viewer in a Dialog/Shared/MainLayout.razor
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/MainLayout.razor
@@ -1,7 +1,5 @@
@inherits LayoutComponentBase
-PDF_Viewer_in_a_Dialog
-
+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
diff --git a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/MainLayout.razor.css b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/MainLayout.razor.css
similarity index 56%
rename from Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/MainLayout.razor.css
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/MainLayout.razor.css
index 551e4b27..038baf17 100644
--- a/Server Deployment/AWS/AWS_Elastic_Beanstalk/SfPdfViewerApp/SfPdfViewerApp/Shared/MainLayout.razor.css
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/MainLayout.razor.css
@@ -21,26 +21,27 @@ main {
align-items: center;
}
- .top-row ::deep a, .top-row .btn-link {
+ .top-row ::deep a, .top-row ::deep .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
+ text-decoration: none;
}
- .top-row a:first-child {
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+ }
+
+ .top-row ::deep a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- .top-row.auth {
+ .top-row {
justify-content: space-between;
}
- .top-row a, .top-row .btn-link {
+ .top-row ::deep a, .top-row ::deep .btn-link {
margin-left: 0;
}
}
@@ -63,8 +64,33 @@ main {
z-index: 1;
}
+ .top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+ }
+
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
+
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+ #blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+ }
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/NavMenu.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/NavMenu.razor
new file mode 100644
index 00000000..2d38f331
--- /dev/null
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/NavMenu.razor
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/NavMenu.razor.css b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/NavMenu.razor.css
new file mode 100644
index 00000000..4e15395e
--- /dev/null
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Layout/NavMenu.razor.css
@@ -0,0 +1,105 @@
+.navbar-toggler {
+ appearance: none;
+ cursor: pointer;
+ width: 3.5rem;
+ height: 2.5rem;
+ color: white;
+ position: absolute;
+ top: 0.5rem;
+ right: 1rem;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
+}
+
+.navbar-toggler:checked {
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.bi {
+ display: inline-block;
+ position: relative;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-right: 0.75rem;
+ top: -1px;
+ background-size: cover;
+}
+
+.bi-house-door-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
+}
+
+.bi-plus-square-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
+}
+
+.bi-list-nested-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep .nav-link {
+ color: #d7d7d7;
+ background: none;
+ border: none;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ width: 100%;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.37);
+ color: white;
+}
+
+.nav-item ::deep .nav-link:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+.nav-scrollable {
+ display: none;
+}
+
+.navbar-toggler:checked ~ .nav-scrollable {
+ display: block;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .nav-scrollable {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+
+ /* Allow sidebar to scroll for tall menus */
+ height: calc(100vh - 3.5rem);
+ overflow-y: auto;
+ }
+}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Counter.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Counter.razor
similarity index 91%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Counter.razor
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Counter.razor
index b21f0521..1a4f8e75 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Counter.razor
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Counter.razor
@@ -1,18 +1,19 @@
-@page "/counter"
-
-
Counter
-
-
Counter
-
-
Current count: @currentCount
-
-
Click me
-
-@code {
- private int currentCount = 0;
-
- private void IncrementCount()
- {
- currentCount++;
- }
-}
+@page "/counter"
+@rendermode InteractiveServer
+
+
Counter
+
+
Counter
+
+
Current count: @currentCount
+
+
Click me
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Error.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Error.razor
new file mode 100644
index 00000000..576cc2d2
--- /dev/null
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"
+@using System.Diagnostics
+
+
Error
+
+
Error.
+
An error occurred while processing your request.
+
+@if (ShowRequestId)
+{
+
+ Request ID: @RequestId
+
+}
+
+
Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+@code{
+ [CascadingParameter]
+ private HttpContext? HttpContext { get; set; }
+
+ private string? RequestId { get; set; }
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ protected override void OnInitialized() =>
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
+}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Index.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Home.razor
similarity index 78%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Index.razor
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Home.razor
index d7d5bee1..2e8ae972 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Index.razor
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Home.razor
@@ -1,14 +1,14 @@
-@page "/"
-
-@using Syncfusion.Blazor.SfPdfViewer
-
-
-
-
-@code {
-
- public SfPdfViewer2 SfPdfViewer { get; set; }
-
- //Sets the PDF document path for initial loading.
- private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
-}
+@page "/"
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+
+
+
+@code {
+
+ public SfPdfViewer2 SfPdfViewer { get; set; }
+
+ //Sets the PDF document path for initial loading.
+ private string DocumentPath { get; set; } = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Weather.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Weather.razor
new file mode 100644
index 00000000..43a1ecbe
--- /dev/null
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Pages/Weather.razor
@@ -0,0 +1,64 @@
+@page "/weather"
+@attribute [StreamRendering]
+
+
Weather
+
+
Weather
+
+
This component demonstrates showing data.
+
+@if (forecasts == null)
+{
+
Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Simulate asynchronous loading to demonstrate streaming rendering
+ await Task.Delay(500);
+
+ var startDate = DateOnly.FromDateTime(DateTime.Now);
+ var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
+ forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = summaries[Random.Shared.Next(summaries.Length)]
+ }).ToArray();
+ }
+
+ private class WeatherForecast
+ {
+ public DateOnly Date { get; set; }
+ public int TemperatureC { get; set; }
+ public string? Summary { get; set; }
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+ }
+}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Routes.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Routes.razor
new file mode 100644
index 00000000..f756e19d
--- /dev/null
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/Routes.razor
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/_Imports.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/_Imports.razor
similarity index 59%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/_Imports.razor
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/_Imports.razor
index 134b9633..c318631f 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/_Imports.razor
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Components/_Imports.razor
@@ -1,10 +1,12 @@
-@using System.Net.Http
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components.Authorization
-@using Microsoft.AspNetCore.Components.Forms
-@using Microsoft.AspNetCore.Components.Routing
-@using Microsoft.AspNetCore.Components.Web
-@using Microsoft.AspNetCore.Components.Web.Virtualization
-@using Microsoft.JSInterop
-@using Show_Thumbnail_Panel
-@using Show_Thumbnail_Panel.Shared
+@using System.Net.Http
+@using System.Net.Http.Json
+@using Microsoft.AspNetCore.Components.Forms
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using static Microsoft.AspNetCore.Components.Web.RenderMode
+@using Microsoft.AspNetCore.Components.Web.Virtualization
+@using Microsoft.JSInterop
+@using Show_Thumbnail_Panel
+@using Show_Thumbnail_Panel.Components
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.SfPdfViewer
\ No newline at end of file
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Data/WeatherForecast.cs b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Data/WeatherForecast.cs
deleted file mode 100644
index 5137b54f..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Data/WeatherForecast.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace Show_Thumbnail_Panel.Data
-{
- public class WeatherForecast
- {
- public DateOnly Date { get; set; }
-
- public int TemperatureC { get; set; }
-
- public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
-
- public string? Summary { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Data/WeatherForecastService.cs b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Data/WeatherForecastService.cs
deleted file mode 100644
index 7d3f8e70..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Data/WeatherForecastService.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Show_Thumbnail_Panel.Data
-{
- public class WeatherForecastService
- {
- private static readonly string[] Summaries = new[]
- {
- "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
- };
-
- public Task
GetForecastAsync(DateOnly startDate)
- {
- return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
- {
- Date = startDate.AddDays(index),
- TemperatureC = Random.Shared.Next(-20, 55),
- Summary = Summaries[Random.Shared.Next(Summaries.Length)]
- }).ToArray());
- }
- }
-}
\ No newline at end of file
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Error.cshtml b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Error.cshtml
deleted file mode 100644
index 4ca5cca5..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Error.cshtml
+++ /dev/null
@@ -1,42 +0,0 @@
-@page
-@model Show_Thumbnail_Panel.Pages.ErrorModel
-
-
-
-
-
-
-
- Error
-
-
-
-
-
-
-
-
Error.
-
An error occurred while processing your request.
-
- @if (Model.ShowRequestId)
- {
-
- Request ID: @Model.RequestId
-
- }
-
-
Development Mode
-
- Swapping to the Development environment displays detailed information about the error that occurred.
-
-
- The Development environment shouldn't be enabled for deployed applications.
- It can result in displaying sensitive information from exceptions to end users.
- For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
- and restarting the app.
-
-
-
-
-
-
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Error.cshtml.cs b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Error.cshtml.cs
deleted file mode 100644
index f9fc7513..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using System.Diagnostics;
-
-namespace Show_Thumbnail_Panel.Pages
-{
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- [IgnoreAntiforgeryToken]
- public class ErrorModel : PageModel
- {
- public string? RequestId { get; set; }
-
- public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- private readonly ILogger _logger;
-
- public ErrorModel(ILogger logger)
- {
- _logger = logger;
- }
-
- public void OnGet()
- {
- RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- }
- }
-}
\ No newline at end of file
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/FetchData.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/FetchData.razor
deleted file mode 100644
index 123c5f54..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/FetchData.razor
+++ /dev/null
@@ -1,47 +0,0 @@
-@page "/fetchdata"
-@using Show_Thumbnail_Panel.Data
-@inject WeatherForecastService ForecastService
-
-Weather forecast
-
-Weather forecast
-
-This component demonstrates fetching data from a service.
-
-@if (forecasts == null)
-{
- Loading...
-}
-else
-{
-
-
-
- Date
- Temp. (C)
- Temp. (F)
- Summary
-
-
-
- @foreach (var forecast in forecasts)
- {
-
- @forecast.Date.ToShortDateString()
- @forecast.TemperatureC
- @forecast.TemperatureF
- @forecast.Summary
-
- }
-
-
-}
-
-@code {
- private WeatherForecast[]? forecasts;
-
- protected override async Task OnInitializedAsync()
- {
- forecasts = await ForecastService.GetForecastAsync(DateOnly.FromDateTime(DateTime.Now));
- }
-}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/_Host.cshtml b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/_Host.cshtml
deleted file mode 100644
index 4b26581b..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/_Host.cshtml
+++ /dev/null
@@ -1,36 +0,0 @@
-@page "/"
-@using Microsoft.AspNetCore.Components.Web
-@namespace Show_Thumbnail_Panel.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- An error has occurred. This application may no longer respond until reloaded.
-
-
- An unhandled exception has occurred. See browser dev tools for details.
-
-
Reload
-
🗙
-
-
-
-
-
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Program.cs b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Program.cs
index d6901567..a594346f 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Program.cs
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Program.cs
@@ -1,16 +1,12 @@
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Web;
-using Show_Thumbnail_Panel.Data;
+using Show_Thumbnail_Panel.Components;
using Syncfusion.Blazor;
-
var builder = WebApplication.CreateBuilder(args);
-
// Add services to the container.
-builder.Services.AddRazorPages();
-builder.Services.AddServerSideBlazor();
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
-builder.Services.AddSingleton();
-
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
@@ -18,7 +14,7 @@
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
@@ -26,10 +22,9 @@
app.UseHttpsRedirection();
app.UseStaticFiles();
+app.UseAntiforgery();
-app.UseRouting();
-
-app.MapBlazorHub();
-app.MapFallbackToPage("/_Host");
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
app.Run();
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Properties/launchSettings.json b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Properties/launchSettings.json
index e8d6d112..4d04c89b 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Properties/launchSettings.json
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Properties/launchSettings.json
@@ -1,37 +1,38 @@
{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:28606",
- "sslPort": 44317
- }
- },
- "profiles": {
- "http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "http://localhost:5030",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "https": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "https://localhost:7105;http://localhost:5030",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:56131",
+ "sslPort": 44318
}
},
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5077",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7249;http://localhost:5077",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
}
}
}
-}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/NavMenu.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/NavMenu.razor
deleted file mode 100644
index 70c3716e..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/NavMenu.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-@code {
- private bool collapseNavMenu = true;
-
- private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
-
- private void ToggleNavMenu()
- {
- collapseNavMenu = !collapseNavMenu;
- }
-}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/NavMenu.razor.css b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/NavMenu.razor.css
deleted file mode 100644
index 77a85002..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/NavMenu.razor.css
+++ /dev/null
@@ -1,68 +0,0 @@
-.navbar-toggler {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.top-row {
- height: 3.5rem;
- background-color: rgba(0,0,0,0.4);
-}
-
-.navbar-brand {
- font-size: 1.1rem;
-}
-
-.oi {
- width: 2rem;
- font-size: 1.1rem;
- vertical-align: text-top;
- top: -2px;
-}
-
-.nav-item {
- font-size: 0.9rem;
- padding-bottom: 0.5rem;
-}
-
- .nav-item:first-of-type {
- padding-top: 1rem;
- }
-
- .nav-item:last-of-type {
- padding-bottom: 1rem;
- }
-
- .nav-item ::deep a {
- color: #d7d7d7;
- border-radius: 4px;
- height: 3rem;
- display: flex;
- align-items: center;
- line-height: 3rem;
- }
-
-.nav-item ::deep a.active {
- background-color: rgba(255,255,255,0.25);
- color: white;
-}
-
-.nav-item ::deep a:hover {
- background-color: rgba(255,255,255,0.1);
- color: white;
-}
-
-@media (min-width: 641px) {
- .navbar-toggler {
- display: none;
- }
-
- .collapse {
- /* Never collapse the sidebar for wide screens */
- display: block;
- }
-
- .nav-scrollable {
- /* Allow sidebar to scroll for tall menus */
- height: calc(100vh - 3.5rem);
- overflow-y: auto;
- }
-}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/SurveyPrompt.razor b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/SurveyPrompt.razor
deleted file mode 100644
index b31a4a61..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Shared/SurveyPrompt.razor
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
@Title
-
-
- Please take our
- brief survey
-
- and tell us what you think.
-
-
-@code {
- // Demonstrates how a parent component can supply parameters
- [Parameter]
- public string? Title { get; set; }
-}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Show_Thumbnail_Panel.csproj b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Show_Thumbnail_Panel.csproj
index 6c49dc5c..c8b796dc 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Show_Thumbnail_Panel.csproj
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Show_Thumbnail_Panel.csproj
@@ -1,12 +1,14 @@
- net7.0
+ net8.0
enable
enable
-
-
-
-
+
+
+
+
+
+
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel.sln b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Show_Thumbnail_Panel.sln
similarity index 58%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel.sln
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Show_Thumbnail_Panel.sln
index 026c6cf1..53968446 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel.sln
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Show_Thumbnail_Panel.sln
@@ -1,25 +1,24 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.6.33723.286
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Show_Thumbnail_Panel", "Show_Thumbnail_Panel\Show_Thumbnail_Panel.csproj", "{3E0ADF38-A0B3-4453-8539-E3F7BD4C40AA}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {3E0ADF38-A0B3-4453-8539-E3F7BD4C40AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3E0ADF38-A0B3-4453-8539-E3F7BD4C40AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3E0ADF38-A0B3-4453-8539-E3F7BD4C40AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3E0ADF38-A0B3-4453-8539-E3F7BD4C40AA}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {E0620684-70D4-4452-B342-16C73467ACD6}
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.2.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Show_Thumbnail_Panel", "Show_Thumbnail_Panel.csproj", "{C92B89CB-9133-2FBC-7FB6-1CA2F37E4123}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C92B89CB-9133-2FBC-7FB6-1CA2F37E4123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C92B89CB-9133-2FBC-7FB6-1CA2F37E4123}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C92B89CB-9133-2FBC-7FB6-1CA2F37E4123}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C92B89CB-9133-2FBC-7FB6-1CA2F37E4123}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {F6B6D357-5E50-4EFF-99C5-E9150079DC33}
+ EndGlobalSection
+EndGlobal
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/appsettings.Development.json b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/appsettings.Development.json
index f042c671..ff66ba6b 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/appsettings.Development.json
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/appsettings.Development.json
@@ -1,5 +1,4 @@
{
- "DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/Data/PDF_Succinctly.pdf b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/Data/PDF_Succinctly.pdf
deleted file mode 100644
index ad91de2c..00000000
Binary files a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/Data/PDF_Succinctly.pdf and /dev/null differ
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/site.css b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/app.css
similarity index 80%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/site.css
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/app.css
index ed2dca83..2bd9b789 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/site.css
+++ b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/app.css
@@ -1,68 +1,51 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
-
-html, body {
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
-}
-
-h1:focus {
- outline: none;
-}
-
-a, .btn-link {
- color: #0071c1;
-}
-
-.btn-primary {
- color: #fff;
- background-color: #1b6ec2;
- border-color: #1861ac;
-}
-
-.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
- box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
-}
-
-.content {
- padding-top: 1.1rem;
-}
-
-.valid.modified:not([type=checkbox]) {
- outline: 1px solid #26b050;
-}
-
-.invalid {
- outline: 1px solid red;
-}
-
-.validation-message {
- color: red;
-}
-
-#blazor-error-ui {
- background: lightyellow;
- bottom: 0;
- box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
- display: none;
- left: 0;
- padding: 0.6rem 1.25rem 0.7rem 1.25rem;
- position: fixed;
- width: 100%;
- z-index: 1000;
-}
-
- #blazor-error-ui .dismiss {
- cursor: pointer;
- position: absolute;
- right: 0.75rem;
- top: 0.5rem;
- }
-
-.blazor-error-boundary {
- background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
- padding: 1rem 1rem 1rem 3.7rem;
- color: white;
-}
-
- .blazor-error-boundary::after {
- content: "An error has occurred."
- }
+html, body {
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+a, .btn-link {
+ color: #006bb7;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #1b6ec2;
+ border-color: #1861ac;
+}
+
+.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
+}
+
+.content {
+ padding-top: 1.1rem;
+}
+
+h1:focus {
+ outline: none;
+}
+
+.valid.modified:not([type=checkbox]) {
+ outline: 1px solid #26b050;
+}
+
+.invalid {
+ outline: 1px solid #e50000;
+}
+
+.validation-message {
+ color: #e50000;
+}
+
+.blazor-error-boundary {
+ background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
+ padding: 1rem 1rem 1rem 3.7rem;
+ color: white;
+}
+
+ .blazor-error-boundary::after {
+ content: "An error has occurred."
+ }
+
+.darker-border-checkbox.form-check-input {
+ border-color: #929292;
+}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/bootstrap/bootstrap.min.css b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/bootstrap/bootstrap.min.css
similarity index 100%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/bootstrap/bootstrap.min.css
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/bootstrap/bootstrap.min.css
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/bootstrap/bootstrap.min.css.map b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/bootstrap/bootstrap.min.css.map
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/FONT-LICENSE b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/FONT-LICENSE
deleted file mode 100644
index 8ae8650d..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/FONT-LICENSE
+++ /dev/null
@@ -1,86 +0,0 @@
-SIL OPEN FONT LICENSE Version 1.1
-
-Copyright (c) 2014 Waybury
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/ICON-LICENSE b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/ICON-LICENSE
deleted file mode 100644
index af73356f..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/ICON-LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Waybury
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/README.md b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/README.md
deleted file mode 100644
index 64f55be4..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)
-===========
-
-### Open Iconic is the open source sibling of [Iconic](https://github.com/iconic/open-iconic). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](https://github.com/iconic/open-iconic)
-
-
-
-## What's in Open Iconic?
-
-* 223 icons designed to be legible down to 8 pixels
-* Super-light SVG files - 61.8 for the entire set
-* SVG sprite—the modern replacement for icon fonts
-* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
-* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
-* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
-
-
-## Getting Started
-
-#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](https://github.com/iconic/open-iconic) and [Reference](https://github.com/iconic/open-iconic) sections.
-
-### General Usage
-
-#### Using Open Iconic's SVGs
-
-We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
-
-```
-
-```
-
-#### Using Open Iconic's SVG Sprite
-
-Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
-
-Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.*
-
-```
-
-
-
-```
-
-Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions.
-
-```
-.icon {
- width: 16px;
- height: 16px;
-}
-```
-
-Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag.
-
-```
-.icon-account-login {
- fill: #f00;
-}
-```
-
-To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/).
-
-#### Using Open Iconic's Icon Font...
-
-
-##### …with Bootstrap
-
-You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}`
-
-
-```
-
-```
-
-
-```
-
-```
-
-##### …with Foundation
-
-You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}`
-
-```
-
-```
-
-
-```
-
-```
-
-##### …on its own
-
-You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}`
-
-```
-
-```
-
-```
-
-```
-
-
-## License
-
-### Icons
-
-All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT).
-
-### Fonts
-
-All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web).
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
deleted file mode 100644
index 4664f2e8..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'}
\ No newline at end of file
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
deleted file mode 100644
index f98177db..00000000
Binary files a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.eot and /dev/null differ
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
deleted file mode 100644
index f6bd6846..00000000
Binary files a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.otf and /dev/null differ
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
deleted file mode 100644
index cf429428..00000000
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
+++ /dev/null
@@ -1,543 +0,0 @@
-
-
-
-
-
-Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014
- By P.J. Onori
-Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
deleted file mode 100644
index fab60486..00000000
Binary files a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf and /dev/null differ
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
deleted file mode 100644
index f9309988..00000000
Binary files a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/open-iconic/font/fonts/open-iconic.woff and /dev/null differ
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/App.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/App.razor
deleted file mode 100644
index 623580d0..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/App.razor
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Not found
-
- Sorry, there's nothing at this address.
-
-
-
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/App.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/App.razor
new file mode 100644
index 00000000..632d63c0
--- /dev/null
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/App.razor
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/MainLayout.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/MainLayout.razor
similarity index 53%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/MainLayout.razor
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/MainLayout.razor
index 13a9e851..5a24bb13 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/MainLayout.razor
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/MainLayout.razor
@@ -1,19 +1,23 @@
-@inherits LayoutComponentBase
-
-Show_or_hide_on_loading
-
-
-
-
-
-
-
-
- @Body
-
-
-
+@inherits LayoutComponentBase
+
+
+
+
+
+
+
+
+ @Body
+
+
+
+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/MainLayout.razor.css b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/MainLayout.razor.css
similarity index 56%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/MainLayout.razor.css
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/MainLayout.razor.css
index 699f17cd..038baf17 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/MainLayout.razor.css
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/MainLayout.razor.css
@@ -1,70 +1,96 @@
-.page {
- position: relative;
- display: flex;
- flex-direction: column;
-}
-
-main {
- flex: 1;
-}
-
-.sidebar {
- background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
-}
-
-.top-row {
- background-color: #f7f7f7;
- border-bottom: 1px solid #d6d5d5;
- justify-content: flex-end;
- height: 3.5rem;
- display: flex;
- align-items: center;
-}
-
- .top-row ::deep a, .top-row .btn-link {
- white-space: nowrap;
- margin-left: 1.5rem;
- }
-
- .top-row a:first-child {
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
-@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- .top-row.auth {
- justify-content: space-between;
- }
-
- .top-row a, .top-row .btn-link {
- margin-left: 0;
- }
-}
-
-@media (min-width: 641px) {
- .page {
- flex-direction: row;
- }
-
- .sidebar {
- width: 250px;
- height: 100vh;
- position: sticky;
- top: 0;
- }
-
- .top-row {
- position: sticky;
- top: 0;
- z-index: 1;
- }
-
- .top-row, article {
- padding-left: 2rem !important;
- padding-right: 1.5rem !important;
- }
-}
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+main {
+ flex: 1;
+}
+
+.sidebar {
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
+}
+
+.top-row {
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+ text-decoration: none;
+ }
+
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+ }
+
+ .top-row ::deep a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+@media (max-width: 640.98px) {
+ .top-row {
+ justify-content: space-between;
+ }
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 641px) {
+ .page {
+ flex-direction: row;
+ }
+
+ .sidebar {
+ width: 250px;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+
+ .top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+ }
+
+ .top-row, article {
+ padding-left: 2rem !important;
+ padding-right: 1.5rem !important;
+ }
+}
+
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+ #blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+ }
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/NavMenu.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/NavMenu.razor
new file mode 100644
index 00000000..0fe0f38c
--- /dev/null
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/NavMenu.razor
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/NavMenu.razor.css b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/NavMenu.razor.css
new file mode 100644
index 00000000..4e15395e
--- /dev/null
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Layout/NavMenu.razor.css
@@ -0,0 +1,105 @@
+.navbar-toggler {
+ appearance: none;
+ cursor: pointer;
+ width: 3.5rem;
+ height: 2.5rem;
+ color: white;
+ position: absolute;
+ top: 0.5rem;
+ right: 1rem;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
+}
+
+.navbar-toggler:checked {
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.bi {
+ display: inline-block;
+ position: relative;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-right: 0.75rem;
+ top: -1px;
+ background-size: cover;
+}
+
+.bi-house-door-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
+}
+
+.bi-plus-square-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
+}
+
+.bi-list-nested-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep .nav-link {
+ color: #d7d7d7;
+ background: none;
+ border: none;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ width: 100%;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.37);
+ color: white;
+}
+
+.nav-item ::deep .nav-link:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+.nav-scrollable {
+ display: none;
+}
+
+.navbar-toggler:checked ~ .nav-scrollable {
+ display: block;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .nav-scrollable {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+
+ /* Allow sidebar to scroll for tall menus */
+ height: calc(100vh - 3.5rem);
+ overflow-y: auto;
+ }
+}
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Counter.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Counter.razor
similarity index 91%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Counter.razor
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Counter.razor
index b21f0521..1a4f8e75 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/Pages/Counter.razor
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Counter.razor
@@ -1,18 +1,19 @@
-@page "/counter"
-
-Counter
-
-Counter
-
-Current count: @currentCount
-
-Click me
-
-@code {
- private int currentCount = 0;
-
- private void IncrementCount()
- {
- currentCount++;
- }
-}
+@page "/counter"
+@rendermode InteractiveServer
+
+Counter
+
+Counter
+
+Current count: @currentCount
+
+Click me
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Error.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Error.razor
new file mode 100644
index 00000000..576cc2d2
--- /dev/null
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"
+@using System.Diagnostics
+
+Error
+
+Error.
+An error occurred while processing your request.
+
+@if (ShowRequestId)
+{
+
+ Request ID: @RequestId
+
+}
+
+Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+@code{
+ [CascadingParameter]
+ private HttpContext? HttpContext { get; set; }
+
+ private string? RequestId { get; set; }
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ protected override void OnInitialized() =>
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
+}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Index.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Home.razor
similarity index 84%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Index.razor
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Home.razor
index 71fcab84..6227c62f 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Index.razor
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Home.razor
@@ -1,23 +1,23 @@
-@page "/"
-
-@using Syncfusion.Blazor.SfPdfViewer
-
-
-
-
-
-@code {
-
- private string documentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
-
- SfPdfViewer2 viewer;
-
- //Invokes while loading document in the PDFViewer.
- public void DocumentLoad(LoadEventArgs args)
- {
- //Shows the annotation toolbar on initial loading.
- viewer.ShowAnnotationToolbar(true);
- //Code to hide the annoatation toolbar.
- //viewer.ShowAnnotationToolbar(false);
- }
+@page "/"
+
+@using Syncfusion.Blazor.SfPdfViewer
+
+
+
+
+
+@code {
+
+ private string documentPath { get; set; } = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+
+ SfPdfViewer2 viewer;
+
+ //Invokes while loading document in the PDFViewer.
+ public void DocumentLoad(LoadEventArgs args)
+ {
+ //Shows the annotation toolbar on initial loading.
+ viewer.ShowAnnotationToolbar(true);
+ //Code to hide the annoatation toolbar.
+ //viewer.ShowAnnotationToolbar(false);
+ }
}
\ No newline at end of file
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Weather.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Weather.razor
new file mode 100644
index 00000000..43a1ecbe
--- /dev/null
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Pages/Weather.razor
@@ -0,0 +1,64 @@
+@page "/weather"
+@attribute [StreamRendering]
+
+Weather
+
+Weather
+
+This component demonstrates showing data.
+
+@if (forecasts == null)
+{
+ Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Simulate asynchronous loading to demonstrate streaming rendering
+ await Task.Delay(500);
+
+ var startDate = DateOnly.FromDateTime(DateTime.Now);
+ var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
+ forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = summaries[Random.Shared.Next(summaries.Length)]
+ }).ToArray();
+ }
+
+ private class WeatherForecast
+ {
+ public DateOnly Date { get; set; }
+ public int TemperatureC { get; set; }
+ public string? Summary { get; set; }
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+ }
+}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Routes.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Routes.razor
new file mode 100644
index 00000000..f756e19d
--- /dev/null
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/Routes.razor
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/_Imports.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/_Imports.razor
similarity index 59%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/_Imports.razor
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/_Imports.razor
index 6e7c00d0..9c5011d4 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/_Imports.razor
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Components/_Imports.razor
@@ -1,10 +1,12 @@
-@using System.Net.Http
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components.Authorization
-@using Microsoft.AspNetCore.Components.Forms
-@using Microsoft.AspNetCore.Components.Routing
-@using Microsoft.AspNetCore.Components.Web
-@using Microsoft.AspNetCore.Components.Web.Virtualization
-@using Microsoft.JSInterop
-@using Show_or_hide_on_loading
-@using Show_or_hide_on_loading.Shared
+@using System.Net.Http
+@using System.Net.Http.Json
+@using Microsoft.AspNetCore.Components.Forms
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using static Microsoft.AspNetCore.Components.Web.RenderMode
+@using Microsoft.AspNetCore.Components.Web.Virtualization
+@using Microsoft.JSInterop
+@using Show_or_hide_on_loading
+@using Show_or_hide_on_loading.Components
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.SfPdfViewer
\ No newline at end of file
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Data/WeatherForecast.cs b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Data/WeatherForecast.cs
deleted file mode 100644
index f353a971..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Data/WeatherForecast.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace Show_or_hide_on_loading.Data
-{
- public class WeatherForecast
- {
- public DateOnly Date { get; set; }
-
- public int TemperatureC { get; set; }
-
- public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
-
- public string? Summary { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Data/WeatherForecastService.cs b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Data/WeatherForecastService.cs
deleted file mode 100644
index 2686a29b..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Data/WeatherForecastService.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Show_or_hide_on_loading.Data
-{
- public class WeatherForecastService
- {
- private static readonly string[] Summaries = new[]
- {
- "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
- };
-
- public Task GetForecastAsync(DateOnly startDate)
- {
- return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
- {
- Date = startDate.AddDays(index),
- TemperatureC = Random.Shared.Next(-20, 55),
- Summary = Summaries[Random.Shared.Next(Summaries.Length)]
- }).ToArray());
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Error.cshtml b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Error.cshtml
deleted file mode 100644
index 655224e6..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Error.cshtml
+++ /dev/null
@@ -1,42 +0,0 @@
-@page
-@model Show_or_hide_on_loading.Pages.ErrorModel
-
-
-
-
-
-
-
- Error
-
-
-
-
-
-
-
-
Error.
-
An error occurred while processing your request.
-
- @if (Model.ShowRequestId)
- {
-
- Request ID: @Model.RequestId
-
- }
-
-
Development Mode
-
- Swapping to the Development environment displays detailed information about the error that occurred.
-
-
- The Development environment shouldn't be enabled for deployed applications.
- It can result in displaying sensitive information from exceptions to end users.
- For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
- and restarting the app.
-
-
-
-
-
-
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Error.cshtml.cs b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Error.cshtml.cs
deleted file mode 100644
index b2db82ae..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using System.Diagnostics;
-
-namespace Show_or_hide_on_loading.Pages
-{
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- [IgnoreAntiforgeryToken]
- public class ErrorModel : PageModel
- {
- public string? RequestId { get; set; }
-
- public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- private readonly ILogger _logger;
-
- public ErrorModel(ILogger logger)
- {
- _logger = logger;
- }
-
- public void OnGet()
- {
- RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/FetchData.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/FetchData.razor
deleted file mode 100644
index 99385b08..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/FetchData.razor
+++ /dev/null
@@ -1,47 +0,0 @@
-@page "/fetchdata"
-@using Show_or_hide_on_loading.Data
-@inject WeatherForecastService ForecastService
-
-Weather forecast
-
-Weather forecast
-
-This component demonstrates fetching data from a service.
-
-@if (forecasts == null)
-{
- Loading...
-}
-else
-{
-
-
-
- Date
- Temp. (C)
- Temp. (F)
- Summary
-
-
-
- @foreach (var forecast in forecasts)
- {
-
- @forecast.Date.ToShortDateString()
- @forecast.TemperatureC
- @forecast.TemperatureF
- @forecast.Summary
-
- }
-
-
-}
-
-@code {
- private WeatherForecast[]? forecasts;
-
- protected override async Task OnInitializedAsync()
- {
- forecasts = await ForecastService.GetForecastAsync(DateOnly.FromDateTime(DateTime.Now));
- }
-}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/_Host.cshtml b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/_Host.cshtml
deleted file mode 100644
index d7d60159..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Pages/_Host.cshtml
+++ /dev/null
@@ -1,36 +0,0 @@
-@page "/"
-@using Microsoft.AspNetCore.Components.Web
-@namespace Show_or_hide_on_loading.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- An error has occurred. This application may no longer respond until reloaded.
-
-
- An unhandled exception has occurred. See browser dev tools for details.
-
-
Reload
-
🗙
-
-
-
-
-
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Program.cs b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Program.cs
index 6c3815ef..1f3a908e 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Program.cs
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Program.cs
@@ -1,24 +1,19 @@
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Web;
-using Show_or_hide_on_loading.Data;
+using Show_or_hide_on_loading.Components;
using Syncfusion.Blazor;
-
var builder = WebApplication.CreateBuilder(args);
-
// Add services to the container.
-builder.Services.AddRazorPages();
-builder.Services.AddServerSideBlazor();
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
-builder.Services.AddSingleton();
-
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
builder.Services.AddSyncfusionBlazor();
-
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
@@ -26,10 +21,9 @@
app.UseHttpsRedirection();
app.UseStaticFiles();
+app.UseAntiforgery();
-app.UseRouting();
-
-app.MapBlazorHub();
-app.MapFallbackToPage("/_Host");
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
app.Run();
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Properties/launchSettings.json b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Properties/launchSettings.json
index e73840fb..81288261 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Properties/launchSettings.json
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Properties/launchSettings.json
@@ -1,37 +1,38 @@
{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:5483",
- "sslPort": 44303
- }
- },
- "profiles": {
- "http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "http://localhost:5053",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "https": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "https://localhost:7281;http://localhost:5053",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:18390",
+ "sslPort": 44380
}
},
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5167",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7261;http://localhost:5167",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
}
}
}
-}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/NavMenu.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/NavMenu.razor
deleted file mode 100644
index 693c2309..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/NavMenu.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-@code {
- private bool collapseNavMenu = true;
-
- private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
-
- private void ToggleNavMenu()
- {
- collapseNavMenu = !collapseNavMenu;
- }
-}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/NavMenu.razor.css b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/NavMenu.razor.css
deleted file mode 100644
index 77a85002..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/NavMenu.razor.css
+++ /dev/null
@@ -1,68 +0,0 @@
-.navbar-toggler {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.top-row {
- height: 3.5rem;
- background-color: rgba(0,0,0,0.4);
-}
-
-.navbar-brand {
- font-size: 1.1rem;
-}
-
-.oi {
- width: 2rem;
- font-size: 1.1rem;
- vertical-align: text-top;
- top: -2px;
-}
-
-.nav-item {
- font-size: 0.9rem;
- padding-bottom: 0.5rem;
-}
-
- .nav-item:first-of-type {
- padding-top: 1rem;
- }
-
- .nav-item:last-of-type {
- padding-bottom: 1rem;
- }
-
- .nav-item ::deep a {
- color: #d7d7d7;
- border-radius: 4px;
- height: 3rem;
- display: flex;
- align-items: center;
- line-height: 3rem;
- }
-
-.nav-item ::deep a.active {
- background-color: rgba(255,255,255,0.25);
- color: white;
-}
-
-.nav-item ::deep a:hover {
- background-color: rgba(255,255,255,0.1);
- color: white;
-}
-
-@media (min-width: 641px) {
- .navbar-toggler {
- display: none;
- }
-
- .collapse {
- /* Never collapse the sidebar for wide screens */
- display: block;
- }
-
- .nav-scrollable {
- /* Allow sidebar to scroll for tall menus */
- height: calc(100vh - 3.5rem);
- overflow-y: auto;
- }
-}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/SurveyPrompt.razor b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/SurveyPrompt.razor
deleted file mode 100644
index b31a4a61..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Shared/SurveyPrompt.razor
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
@Title
-
-
- Please take our
- brief survey
-
- and tell us what you think.
-
-
-@code {
- // Demonstrates how a parent component can supply parameters
- [Parameter]
- public string? Title { get; set; }
-}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Show_or_hide_on_loading.csproj b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Show_or_hide_on_loading.csproj
index ecd940db..c8b796dc 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Show_or_hide_on_loading.csproj
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Show_or_hide_on_loading.csproj
@@ -1,13 +1,14 @@
- net7.0
+ net8.0
enable
enable
-
-
-
-
+
+
+
+
+
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading.sln b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Show_or_hide_on_loading.sln
similarity index 58%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading.sln
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Show_or_hide_on_loading.sln
index 011243e9..59ad04a0 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading.sln
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/Show_or_hide_on_loading.sln
@@ -1,25 +1,24 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.6.33723.286
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Show_or_hide_on_loading", "Show_or_hide_on_loading\Show_or_hide_on_loading.csproj", "{EE717C8F-1AEA-4B2E-ABE8-3793394A5593}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EE717C8F-1AEA-4B2E-ABE8-3793394A5593}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EE717C8F-1AEA-4B2E-ABE8-3793394A5593}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EE717C8F-1AEA-4B2E-ABE8-3793394A5593}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EE717C8F-1AEA-4B2E-ABE8-3793394A5593}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {4D7982DE-0DA0-476A-B6C4-45B884A949D3}
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.2.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Show_or_hide_on_loading", "Show_or_hide_on_loading.csproj", "{AE9BA598-E458-B57C-1D7E-6EA71A7F98F9}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {AE9BA598-E458-B57C-1D7E-6EA71A7F98F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AE9BA598-E458-B57C-1D7E-6EA71A7F98F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AE9BA598-E458-B57C-1D7E-6EA71A7F98F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AE9BA598-E458-B57C-1D7E-6EA71A7F98F9}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A621EFB9-B85D-48FA-ACBA-E4F54F9FB14E}
+ EndGlobalSection
+EndGlobal
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/appsettings.Development.json b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/appsettings.Development.json
index f042c671..ff66ba6b 100644
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/appsettings.Development.json
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/appsettings.Development.json
@@ -1,5 +1,4 @@
{
- "DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/Data/PDF_Succinctly.pdf b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/Data/PDF_Succinctly.pdf
deleted file mode 100644
index ad91de2c..00000000
Binary files a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/Data/PDF_Succinctly.pdf and /dev/null differ
diff --git a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/site.css b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/app.css
similarity index 80%
rename from Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/site.css
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/app.css
index ed2dca83..2bd9b789 100644
--- a/Thumbnail/Show thumbnail panel/Show_Thumbnail_Panel/wwwroot/css/site.css
+++ b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/app.css
@@ -1,68 +1,51 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
-
-html, body {
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
-}
-
-h1:focus {
- outline: none;
-}
-
-a, .btn-link {
- color: #0071c1;
-}
-
-.btn-primary {
- color: #fff;
- background-color: #1b6ec2;
- border-color: #1861ac;
-}
-
-.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
- box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
-}
-
-.content {
- padding-top: 1.1rem;
-}
-
-.valid.modified:not([type=checkbox]) {
- outline: 1px solid #26b050;
-}
-
-.invalid {
- outline: 1px solid red;
-}
-
-.validation-message {
- color: red;
-}
-
-#blazor-error-ui {
- background: lightyellow;
- bottom: 0;
- box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
- display: none;
- left: 0;
- padding: 0.6rem 1.25rem 0.7rem 1.25rem;
- position: fixed;
- width: 100%;
- z-index: 1000;
-}
-
- #blazor-error-ui .dismiss {
- cursor: pointer;
- position: absolute;
- right: 0.75rem;
- top: 0.5rem;
- }
-
-.blazor-error-boundary {
- background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
- padding: 1rem 1rem 1rem 3.7rem;
- color: white;
-}
-
- .blazor-error-boundary::after {
- content: "An error has occurred."
- }
+html, body {
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+a, .btn-link {
+ color: #006bb7;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #1b6ec2;
+ border-color: #1861ac;
+}
+
+.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
+}
+
+.content {
+ padding-top: 1.1rem;
+}
+
+h1:focus {
+ outline: none;
+}
+
+.valid.modified:not([type=checkbox]) {
+ outline: 1px solid #26b050;
+}
+
+.invalid {
+ outline: 1px solid #e50000;
+}
+
+.validation-message {
+ color: #e50000;
+}
+
+.blazor-error-boundary {
+ background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
+ padding: 1rem 1rem 1rem 3.7rem;
+ color: white;
+}
+
+ .blazor-error-boundary::after {
+ content: "An error has occurred."
+ }
+
+.darker-border-checkbox.form-check-input {
+ border-color: #929292;
+}
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/bootstrap/bootstrap.min.css b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/bootstrap/bootstrap.min.css
similarity index 100%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/bootstrap/bootstrap.min.css
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/bootstrap/bootstrap.min.css
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/bootstrap/bootstrap.min.css.map b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/bootstrap/bootstrap.min.css.map
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/FONT-LICENSE b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/FONT-LICENSE
deleted file mode 100644
index 8ae8650d..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/FONT-LICENSE
+++ /dev/null
@@ -1,86 +0,0 @@
-SIL OPEN FONT LICENSE Version 1.1
-
-Copyright (c) 2014 Waybury
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/ICON-LICENSE b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/ICON-LICENSE
deleted file mode 100644
index af73356f..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/ICON-LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Waybury
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/README.md b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/README.md
deleted file mode 100644
index 64f55be4..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)
-===========
-
-### Open Iconic is the open source sibling of [Iconic](https://github.com/iconic/open-iconic). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](https://github.com/iconic/open-iconic)
-
-
-
-## What's in Open Iconic?
-
-* 223 icons designed to be legible down to 8 pixels
-* Super-light SVG files - 61.8 for the entire set
-* SVG sprite—the modern replacement for icon fonts
-* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
-* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
-* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
-
-
-## Getting Started
-
-#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](https://github.com/iconic/open-iconic) and [Reference](https://github.com/iconic/open-iconic) sections.
-
-### General Usage
-
-#### Using Open Iconic's SVGs
-
-We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
-
-```
-
-```
-
-#### Using Open Iconic's SVG Sprite
-
-Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
-
-Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.*
-
-```
-
-
-
-```
-
-Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions.
-
-```
-.icon {
- width: 16px;
- height: 16px;
-}
-```
-
-Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag.
-
-```
-.icon-account-login {
- fill: #f00;
-}
-```
-
-To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/).
-
-#### Using Open Iconic's Icon Font...
-
-
-##### …with Bootstrap
-
-You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}`
-
-
-```
-
-```
-
-
-```
-
-```
-
-##### …with Foundation
-
-You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}`
-
-```
-
-```
-
-
-```
-
-```
-
-##### …on its own
-
-You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}`
-
-```
-
-```
-
-```
-
-```
-
-
-## License
-
-### Icons
-
-All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT).
-
-### Fonts
-
-All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web).
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
deleted file mode 100644
index 4664f2e8..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'}
\ No newline at end of file
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
deleted file mode 100644
index f98177db..00000000
Binary files a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.eot and /dev/null differ
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
deleted file mode 100644
index f6bd6846..00000000
Binary files a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.otf and /dev/null differ
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
deleted file mode 100644
index cf429428..00000000
--- a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
+++ /dev/null
@@ -1,543 +0,0 @@
-
-
-
-
-
-Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014
- By P.J. Onori
-Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
deleted file mode 100644
index fab60486..00000000
Binary files a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf and /dev/null differ
diff --git a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
deleted file mode 100644
index f9309988..00000000
Binary files a/Toolbar/Annotation Toolbar/Show or hide on loading/Show_or_hide_on_loading/wwwroot/css/open-iconic/font/fonts/open-iconic.woff and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/App.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/App.razor
deleted file mode 100644
index 623580d0..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/App.razor
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Not found
-
- Sorry, there's nothing at this address.
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/App.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/App.razor
new file mode 100644
index 00000000..560cf62f
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/App.razor
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/MainLayout.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/MainLayout.razor
new file mode 100644
index 00000000..5a24bb13
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/MainLayout.razor
@@ -0,0 +1,23 @@
+@inherits LayoutComponentBase
+
+
+
+
+
+
+
+
+ @Body
+
+
+
+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/MainLayout.razor.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/MainLayout.razor.css
new file mode 100644
index 00000000..038baf17
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/MainLayout.razor.css
@@ -0,0 +1,96 @@
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+main {
+ flex: 1;
+}
+
+.sidebar {
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
+}
+
+.top-row {
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+ text-decoration: none;
+ }
+
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+ }
+
+ .top-row ::deep a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+@media (max-width: 640.98px) {
+ .top-row {
+ justify-content: space-between;
+ }
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 641px) {
+ .page {
+ flex-direction: row;
+ }
+
+ .sidebar {
+ width: 250px;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+
+ .top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+ }
+
+ .top-row, article {
+ padding-left: 2rem !important;
+ padding-right: 1.5rem !important;
+ }
+}
+
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+ #blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+ }
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/NavMenu.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/NavMenu.razor
new file mode 100644
index 00000000..ce6ec804
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/NavMenu.razor
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/NavMenu.razor.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/NavMenu.razor.css
new file mode 100644
index 00000000..4e15395e
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Layout/NavMenu.razor.css
@@ -0,0 +1,105 @@
+.navbar-toggler {
+ appearance: none;
+ cursor: pointer;
+ width: 3.5rem;
+ height: 2.5rem;
+ color: white;
+ position: absolute;
+ top: 0.5rem;
+ right: 1rem;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
+}
+
+.navbar-toggler:checked {
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.bi {
+ display: inline-block;
+ position: relative;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-right: 0.75rem;
+ top: -1px;
+ background-size: cover;
+}
+
+.bi-house-door-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
+}
+
+.bi-plus-square-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
+}
+
+.bi-list-nested-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep .nav-link {
+ color: #d7d7d7;
+ background: none;
+ border: none;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ width: 100%;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.37);
+ color: white;
+}
+
+.nav-item ::deep .nav-link:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+.nav-scrollable {
+ display: none;
+}
+
+.navbar-toggler:checked ~ .nav-scrollable {
+ display: block;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .nav-scrollable {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+
+ /* Allow sidebar to scroll for tall menus */
+ height: calc(100vh - 3.5rem);
+ overflow-y: auto;
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Counter.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Counter.razor
new file mode 100644
index 00000000..1a4f8e75
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Counter.razor
@@ -0,0 +1,19 @@
+@page "/counter"
+@rendermode InteractiveServer
+
+Counter
+
+Counter
+
+Current count: @currentCount
+
+Click me
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Error.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Error.razor
new file mode 100644
index 00000000..576cc2d2
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"
+@using System.Diagnostics
+
+Error
+
+Error.
+An error occurred while processing your request.
+
+@if (ShowRequestId)
+{
+
+ Request ID: @RequestId
+
+}
+
+Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+@code{
+ [CascadingParameter]
+ private HttpContext? HttpContext { get; set; }
+
+ private string? RequestId { get; set; }
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ protected override void OnInitialized() =>
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
+}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Index.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Home.razor
similarity index 78%
rename from Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Index.razor
rename to Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Home.razor
index ea139897..9f79a1c0 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Index.razor
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Home.razor
@@ -1,21 +1,21 @@
-@page "/"
-
-@using Syncfusion.Blazor.Buttons
-@using Syncfusion.Blazor.SfPdfViewer
-
-Hide Toolbar
-
-
-
-
-@code {
-
- SfPdfViewer2 pdfViewer;
-
- public string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
-
- public void OnClick(MouseEventArgs args)
- {
- pdfViewer.ShowToolbarAsync(false);
- }
+@page "/"
+
+@using Syncfusion.Blazor.Buttons
+@using Syncfusion.Blazor.SfPdfViewer
+
+Hide Toolbar
+
+
+
+
+@code {
+
+ SfPdfViewer2 pdfViewer;
+
+ public string DocumentPath { get; set; } = "https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf";
+
+ public void OnClick(MouseEventArgs args)
+ {
+ pdfViewer.ShowToolbarAsync(false);
+ }
}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Weather.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Weather.razor
new file mode 100644
index 00000000..43a1ecbe
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Pages/Weather.razor
@@ -0,0 +1,64 @@
+@page "/weather"
+@attribute [StreamRendering]
+
+Weather
+
+Weather
+
+This component demonstrates showing data.
+
+@if (forecasts == null)
+{
+ Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Simulate asynchronous loading to demonstrate streaming rendering
+ await Task.Delay(500);
+
+ var startDate = DateOnly.FromDateTime(DateTime.Now);
+ var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
+ forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = summaries[Random.Shared.Next(summaries.Length)]
+ }).ToArray();
+ }
+
+ private class WeatherForecast
+ {
+ public DateOnly Date { get; set; }
+ public int TemperatureC { get; set; }
+ public string? Summary { get; set; }
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Routes.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Routes.razor
new file mode 100644
index 00000000..f756e19d
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/Routes.razor
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/_Imports.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/_Imports.razor
similarity index 59%
rename from Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/_Imports.razor
rename to Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/_Imports.razor
index 13e32de2..7bc48143 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/_Imports.razor
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Components/_Imports.razor
@@ -1,10 +1,12 @@
-@using System.Net.Http
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components.Authorization
-@using Microsoft.AspNetCore.Components.Forms
-@using Microsoft.AspNetCore.Components.Routing
-@using Microsoft.AspNetCore.Components.Web
-@using Microsoft.AspNetCore.Components.Web.Virtualization
-@using Microsoft.JSInterop
-@using Custom_toolbar
-@using Custom_toolbar.Shared
+@using System.Net.Http
+@using System.Net.Http.Json
+@using Microsoft.AspNetCore.Components.Forms
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using static Microsoft.AspNetCore.Components.Web.RenderMode
+@using Microsoft.AspNetCore.Components.Web.Virtualization
+@using Microsoft.JSInterop
+@using Custom_toolbar
+@using Custom_toolbar.Components
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.SfPdfViewer
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Custom_toolbar.csproj b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Custom_toolbar.csproj
index 6c49dc5c..c8b796dc 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Custom_toolbar.csproj
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Custom_toolbar.csproj
@@ -1,12 +1,14 @@
- net7.0
+ net8.0
enable
enable
-
-
-
-
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar.sln b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Custom_toolbar.sln
similarity index 59%
rename from Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar.sln
rename to Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Custom_toolbar.sln
index b44766d7..4d43d286 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar.sln
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Custom_toolbar.sln
@@ -1,25 +1,24 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.6.33723.286
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Custom_toolbar", "Custom_toolbar\Custom_toolbar.csproj", "{78DC7667-A81E-40B3-9A6C-399B045014E6}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {78DC7667-A81E-40B3-9A6C-399B045014E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {78DC7667-A81E-40B3-9A6C-399B045014E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {78DC7667-A81E-40B3-9A6C-399B045014E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {78DC7667-A81E-40B3-9A6C-399B045014E6}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {13493F4D-F5A1-4814-A71A-D91AA516603F}
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.2.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Custom_toolbar", "Custom_toolbar.csproj", "{C91F16C3-48BC-D8E5-9C98-E8E2BB1B337B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C91F16C3-48BC-D8E5-9C98-E8E2BB1B337B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C91F16C3-48BC-D8E5-9C98-E8E2BB1B337B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C91F16C3-48BC-D8E5-9C98-E8E2BB1B337B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C91F16C3-48BC-D8E5-9C98-E8E2BB1B337B}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {EA982B91-930B-4AF9-95E2-E242E22DAAA1}
+ EndGlobalSection
+EndGlobal
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Data/WeatherForecast.cs b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Data/WeatherForecast.cs
deleted file mode 100644
index f75ab29c..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Data/WeatherForecast.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace Custom_toolbar.Data
-{
- public class WeatherForecast
- {
- public DateOnly Date { get; set; }
-
- public int TemperatureC { get; set; }
-
- public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
-
- public string? Summary { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Data/WeatherForecastService.cs b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Data/WeatherForecastService.cs
deleted file mode 100644
index e0087bfa..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Data/WeatherForecastService.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Custom_toolbar.Data
-{
- public class WeatherForecastService
- {
- private static readonly string[] Summaries = new[]
- {
- "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
- };
-
- public Task GetForecastAsync(DateOnly startDate)
- {
- return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
- {
- Date = startDate.AddDays(index),
- TemperatureC = Random.Shared.Next(-20, 55),
- Summary = Summaries[Random.Shared.Next(Summaries.Length)]
- }).ToArray());
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Error.cshtml b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Error.cshtml
deleted file mode 100644
index 587446e8..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Error.cshtml
+++ /dev/null
@@ -1,42 +0,0 @@
-@page
-@model Custom_toolbar.Pages.ErrorModel
-
-
-
-
-
-
-
- Error
-
-
-
-
-
-
-
-
Error.
-
An error occurred while processing your request.
-
- @if (Model.ShowRequestId)
- {
-
- Request ID: @Model.RequestId
-
- }
-
-
Development Mode
-
- Swapping to the Development environment displays detailed information about the error that occurred.
-
-
- The Development environment shouldn't be enabled for deployed applications.
- It can result in displaying sensitive information from exceptions to end users.
- For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
- and restarting the app.
-
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Error.cshtml.cs b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Error.cshtml.cs
deleted file mode 100644
index b545c2fd..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using System.Diagnostics;
-
-namespace Custom_toolbar.Pages
-{
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- [IgnoreAntiforgeryToken]
- public class ErrorModel : PageModel
- {
- public string? RequestId { get; set; }
-
- public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- private readonly ILogger _logger;
-
- public ErrorModel(ILogger logger)
- {
- _logger = logger;
- }
-
- public void OnGet()
- {
- RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/FetchData.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/FetchData.razor
deleted file mode 100644
index caaa3bf2..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/FetchData.razor
+++ /dev/null
@@ -1,47 +0,0 @@
-@page "/fetchdata"
-@using Custom_toolbar.Data
-@inject WeatherForecastService ForecastService
-
-Weather forecast
-
-Weather forecast
-
-This component demonstrates fetching data from a service.
-
-@if (forecasts == null)
-{
- Loading...
-}
-else
-{
-
-
-
- Date
- Temp. (C)
- Temp. (F)
- Summary
-
-
-
- @foreach (var forecast in forecasts)
- {
-
- @forecast.Date.ToShortDateString()
- @forecast.TemperatureC
- @forecast.TemperatureF
- @forecast.Summary
-
- }
-
-
-}
-
-@code {
- private WeatherForecast[]? forecasts;
-
- protected override async Task OnInitializedAsync()
- {
- forecasts = await ForecastService.GetForecastAsync(DateOnly.FromDateTime(DateTime.Now));
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/_Host.cshtml b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/_Host.cshtml
deleted file mode 100644
index 268569c0..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Pages/_Host.cshtml
+++ /dev/null
@@ -1,36 +0,0 @@
-@page "/"
-@using Microsoft.AspNetCore.Components.Web
-@namespace Custom_toolbar.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- An error has occurred. This application may no longer respond until reloaded.
-
-
- An unhandled exception has occurred. See browser dev tools for details.
-
-
Reload
-
🗙
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Program.cs b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Program.cs
index 78924e7c..5dffd8f7 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Program.cs
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Program.cs
@@ -1,16 +1,12 @@
-using Custom_toolbar.Data;
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Web;
+using Custom_toolbar.Components;
using Syncfusion.Blazor;
-
var builder = WebApplication.CreateBuilder(args);
-
// Add services to the container.
-builder.Services.AddRazorPages();
-builder.Services.AddServerSideBlazor();
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
-builder.Services.AddSingleton();
-
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
@@ -18,7 +14,7 @@
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
@@ -26,10 +22,9 @@
app.UseHttpsRedirection();
app.UseStaticFiles();
+app.UseAntiforgery();
-app.UseRouting();
-
-app.MapBlazorHub();
-app.MapFallbackToPage("/_Host");
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
app.Run();
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Properties/launchSettings.json b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Properties/launchSettings.json
index c3a18fa7..735c9fb0 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Properties/launchSettings.json
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Properties/launchSettings.json
@@ -1,37 +1,38 @@
{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:54203",
- "sslPort": 44359
- }
- },
- "profiles": {
- "http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "http://localhost:5014",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "https": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "https://localhost:7065;http://localhost:5014",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:19772",
+ "sslPort": 44381
}
},
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5235",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7227;http://localhost:5235",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
}
}
}
-}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/MainLayout.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/MainLayout.razor
deleted file mode 100644
index 270ff998..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/MainLayout.razor
+++ /dev/null
@@ -1,19 +0,0 @@
-@inherits LayoutComponentBase
-
-Custom_toolbar
-
-
-
-
-
-
-
-
- @Body
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/MainLayout.razor.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/MainLayout.razor.css
deleted file mode 100644
index 699f17cd..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/MainLayout.razor.css
+++ /dev/null
@@ -1,70 +0,0 @@
-.page {
- position: relative;
- display: flex;
- flex-direction: column;
-}
-
-main {
- flex: 1;
-}
-
-.sidebar {
- background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
-}
-
-.top-row {
- background-color: #f7f7f7;
- border-bottom: 1px solid #d6d5d5;
- justify-content: flex-end;
- height: 3.5rem;
- display: flex;
- align-items: center;
-}
-
- .top-row ::deep a, .top-row .btn-link {
- white-space: nowrap;
- margin-left: 1.5rem;
- }
-
- .top-row a:first-child {
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
-@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- .top-row.auth {
- justify-content: space-between;
- }
-
- .top-row a, .top-row .btn-link {
- margin-left: 0;
- }
-}
-
-@media (min-width: 641px) {
- .page {
- flex-direction: row;
- }
-
- .sidebar {
- width: 250px;
- height: 100vh;
- position: sticky;
- top: 0;
- }
-
- .top-row {
- position: sticky;
- top: 0;
- z-index: 1;
- }
-
- .top-row, article {
- padding-left: 2rem !important;
- padding-right: 1.5rem !important;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/NavMenu.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/NavMenu.razor
deleted file mode 100644
index 677e67dc..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/NavMenu.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-@code {
- private bool collapseNavMenu = true;
-
- private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
-
- private void ToggleNavMenu()
- {
- collapseNavMenu = !collapseNavMenu;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/NavMenu.razor.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/NavMenu.razor.css
deleted file mode 100644
index 77a85002..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/NavMenu.razor.css
+++ /dev/null
@@ -1,68 +0,0 @@
-.navbar-toggler {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.top-row {
- height: 3.5rem;
- background-color: rgba(0,0,0,0.4);
-}
-
-.navbar-brand {
- font-size: 1.1rem;
-}
-
-.oi {
- width: 2rem;
- font-size: 1.1rem;
- vertical-align: text-top;
- top: -2px;
-}
-
-.nav-item {
- font-size: 0.9rem;
- padding-bottom: 0.5rem;
-}
-
- .nav-item:first-of-type {
- padding-top: 1rem;
- }
-
- .nav-item:last-of-type {
- padding-bottom: 1rem;
- }
-
- .nav-item ::deep a {
- color: #d7d7d7;
- border-radius: 4px;
- height: 3rem;
- display: flex;
- align-items: center;
- line-height: 3rem;
- }
-
-.nav-item ::deep a.active {
- background-color: rgba(255,255,255,0.25);
- color: white;
-}
-
-.nav-item ::deep a:hover {
- background-color: rgba(255,255,255,0.1);
- color: white;
-}
-
-@media (min-width: 641px) {
- .navbar-toggler {
- display: none;
- }
-
- .collapse {
- /* Never collapse the sidebar for wide screens */
- display: block;
- }
-
- .nav-scrollable {
- /* Allow sidebar to scroll for tall menus */
- height: calc(100vh - 3.5rem);
- overflow-y: auto;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/SurveyPrompt.razor b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/SurveyPrompt.razor
deleted file mode 100644
index b31a4a61..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/Shared/SurveyPrompt.razor
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
@Title
-
-
- Please take our
- brief survey
-
- and tell us what you think.
-
-
-@code {
- // Demonstrates how a parent component can supply parameters
- [Parameter]
- public string? Title { get; set; }
-}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/appsettings.Development.json b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/appsettings.Development.json
index f042c671..ff66ba6b 100644
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/appsettings.Development.json
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/appsettings.Development.json
@@ -1,5 +1,4 @@
{
- "DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/Data/PDF_Succinctly.pdf b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/Data/PDF_Succinctly.pdf
deleted file mode 100644
index ad91de2c..00000000
Binary files a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/Data/PDF_Succinctly.pdf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/app.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/app.css
new file mode 100644
index 00000000..2bd9b789
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/app.css
@@ -0,0 +1,51 @@
+html, body {
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+a, .btn-link {
+ color: #006bb7;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #1b6ec2;
+ border-color: #1861ac;
+}
+
+.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
+}
+
+.content {
+ padding-top: 1.1rem;
+}
+
+h1:focus {
+ outline: none;
+}
+
+.valid.modified:not([type=checkbox]) {
+ outline: 1px solid #26b050;
+}
+
+.invalid {
+ outline: 1px solid #e50000;
+}
+
+.validation-message {
+ color: #e50000;
+}
+
+.blazor-error-boundary {
+ background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
+ padding: 1rem 1rem 1rem 3.7rem;
+ color: white;
+}
+
+ .blazor-error-boundary::after {
+ content: "An error has occurred."
+ }
+
+.darker-border-checkbox.form-check-input {
+ border-color: #929292;
+}
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/bootstrap/bootstrap.min.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/bootstrap/bootstrap.min.css
similarity index 100%
rename from Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/bootstrap/bootstrap.min.css
rename to Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/bootstrap/bootstrap.min.css
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/bootstrap/bootstrap.min.css.map b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/bootstrap/bootstrap.min.css.map
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/FONT-LICENSE b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/FONT-LICENSE
deleted file mode 100644
index 8ae8650d..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/FONT-LICENSE
+++ /dev/null
@@ -1,86 +0,0 @@
-SIL OPEN FONT LICENSE Version 1.1
-
-Copyright (c) 2014 Waybury
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/ICON-LICENSE b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/ICON-LICENSE
deleted file mode 100644
index af73356f..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/ICON-LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Waybury
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/README.md b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/README.md
deleted file mode 100644
index 64f55be4..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)
-===========
-
-### Open Iconic is the open source sibling of [Iconic](https://github.com/iconic/open-iconic). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](https://github.com/iconic/open-iconic)
-
-
-
-## What's in Open Iconic?
-
-* 223 icons designed to be legible down to 8 pixels
-* Super-light SVG files - 61.8 for the entire set
-* SVG sprite—the modern replacement for icon fonts
-* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
-* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
-* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
-
-
-## Getting Started
-
-#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](https://github.com/iconic/open-iconic) and [Reference](https://github.com/iconic/open-iconic) sections.
-
-### General Usage
-
-#### Using Open Iconic's SVGs
-
-We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
-
-```
-
-```
-
-#### Using Open Iconic's SVG Sprite
-
-Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
-
-Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.*
-
-```
-
-
-
-```
-
-Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions.
-
-```
-.icon {
- width: 16px;
- height: 16px;
-}
-```
-
-Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag.
-
-```
-.icon-account-login {
- fill: #f00;
-}
-```
-
-To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/).
-
-#### Using Open Iconic's Icon Font...
-
-
-##### …with Bootstrap
-
-You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}`
-
-
-```
-
-```
-
-
-```
-
-```
-
-##### …with Foundation
-
-You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}`
-
-```
-
-```
-
-
-```
-
-```
-
-##### …on its own
-
-You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}`
-
-```
-
-```
-
-```
-
-```
-
-
-## License
-
-### Icons
-
-All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT).
-
-### Fonts
-
-All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web).
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
deleted file mode 100644
index 4664f2e8..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
deleted file mode 100644
index f98177db..00000000
Binary files a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.eot and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
deleted file mode 100644
index f6bd6846..00000000
Binary files a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.otf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
deleted file mode 100644
index cf429428..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
+++ /dev/null
@@ -1,543 +0,0 @@
-
-
-
-
-
-Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014
- By P.J. Onori
-Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
deleted file mode 100644
index fab60486..00000000
Binary files a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
deleted file mode 100644
index f9309988..00000000
Binary files a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/open-iconic/font/fonts/open-iconic.woff and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/site.css b/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/site.css
deleted file mode 100644
index ed2dca83..00000000
--- a/Toolbar/Custom Toolbar/Custom Toolbar/Custom_toolbar/wwwroot/css/site.css
+++ /dev/null
@@ -1,68 +0,0 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
-
-html, body {
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
-}
-
-h1:focus {
- outline: none;
-}
-
-a, .btn-link {
- color: #0071c1;
-}
-
-.btn-primary {
- color: #fff;
- background-color: #1b6ec2;
- border-color: #1861ac;
-}
-
-.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
- box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
-}
-
-.content {
- padding-top: 1.1rem;
-}
-
-.valid.modified:not([type=checkbox]) {
- outline: 1px solid #26b050;
-}
-
-.invalid {
- outline: 1px solid red;
-}
-
-.validation-message {
- color: red;
-}
-
-#blazor-error-ui {
- background: lightyellow;
- bottom: 0;
- box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
- display: none;
- left: 0;
- padding: 0.6rem 1.25rem 0.7rem 1.25rem;
- position: fixed;
- width: 100%;
- z-index: 1000;
-}
-
- #blazor-error-ui .dismiss {
- cursor: pointer;
- position: absolute;
- right: 0.75rem;
- top: 0.5rem;
- }
-
-.blazor-error-boundary {
- background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
- padding: 1rem 1rem 1rem 3.7rem;
- color: white;
-}
-
- .blazor-error-boundary::after {
- content: "An error has occurred."
- }
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/App.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/App.razor
deleted file mode 100644
index 623580d0..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/App.razor
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Not found
-
- Sorry, there's nothing at this address.
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/App.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/App.razor
new file mode 100644
index 00000000..d798a1fd
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/App.razor
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/MainLayout.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/MainLayout.razor
new file mode 100644
index 00000000..5a24bb13
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/MainLayout.razor
@@ -0,0 +1,23 @@
+@inherits LayoutComponentBase
+
+
+
+
+
+
+
+
+ @Body
+
+
+
+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/MainLayout.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/MainLayout.razor.css
new file mode 100644
index 00000000..038baf17
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/MainLayout.razor.css
@@ -0,0 +1,96 @@
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+main {
+ flex: 1;
+}
+
+.sidebar {
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
+}
+
+.top-row {
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+ text-decoration: none;
+ }
+
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+ }
+
+ .top-row ::deep a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+@media (max-width: 640.98px) {
+ .top-row {
+ justify-content: space-between;
+ }
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 641px) {
+ .page {
+ flex-direction: row;
+ }
+
+ .sidebar {
+ width: 250px;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+
+ .top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+ }
+
+ .top-row, article {
+ padding-left: 2rem !important;
+ padding-right: 1.5rem !important;
+ }
+}
+
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+ #blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+ }
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/NavMenu.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/NavMenu.razor
new file mode 100644
index 00000000..76a582bf
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/NavMenu.razor
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/NavMenu.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/NavMenu.razor.css
new file mode 100644
index 00000000..4e15395e
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Layout/NavMenu.razor.css
@@ -0,0 +1,105 @@
+.navbar-toggler {
+ appearance: none;
+ cursor: pointer;
+ width: 3.5rem;
+ height: 2.5rem;
+ color: white;
+ position: absolute;
+ top: 0.5rem;
+ right: 1rem;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
+}
+
+.navbar-toggler:checked {
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.bi {
+ display: inline-block;
+ position: relative;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-right: 0.75rem;
+ top: -1px;
+ background-size: cover;
+}
+
+.bi-house-door-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
+}
+
+.bi-plus-square-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
+}
+
+.bi-list-nested-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep .nav-link {
+ color: #d7d7d7;
+ background: none;
+ border: none;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ width: 100%;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.37);
+ color: white;
+}
+
+.nav-item ::deep .nav-link:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+.nav-scrollable {
+ display: none;
+}
+
+.navbar-toggler:checked ~ .nav-scrollable {
+ display: block;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .nav-scrollable {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+
+ /* Allow sidebar to scroll for tall menus */
+ height: calc(100vh - 3.5rem);
+ overflow-y: auto;
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Counter.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Counter.razor
new file mode 100644
index 00000000..1a4f8e75
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Counter.razor
@@ -0,0 +1,19 @@
+@page "/counter"
+@rendermode InteractiveServer
+
+Counter
+
+Counter
+
+Current count: @currentCount
+
+Click me
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Error.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Error.razor
new file mode 100644
index 00000000..576cc2d2
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"
+@using System.Diagnostics
+
+Error
+
+Error.
+An error occurred while processing your request.
+
+@if (ShowRequestId)
+{
+
+ Request ID: @RequestId
+
+}
+
+Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+@code{
+ [CascadingParameter]
+ private HttpContext? HttpContext { get; set; }
+
+ private string? RequestId { get; set; }
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ protected override void OnInitialized() =>
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Index.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Home.razor
similarity index 94%
rename from Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Index.razor
rename to Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Home.razor
index 1ce24abf..6be65654 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Index.razor
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Home.razor
@@ -1,125 +1,125 @@
-@page "/"
-
-@using Syncfusion.Blazor.Navigations
-@using Syncfusion.Blazor.SfPdfViewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@code
-{
- SfPdfViewer2 PDFViewer;
-
- private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
-
- public void nextClicked(ClickEventArgs args)
- {
- //Navigate to next page of the PDF document loaded in the SfPdfViewer.
- PDFViewer.GoToNextPageAsync();
- }
-
- public void previousClicked(ClickEventArgs args)
- {
- //Navigate to previous page of the PDF document.
- PDFViewer.GoToPreviousPageAsync();
- }
-
- MemoryStream stream;
-
- public async void save(ClickEventArgs args)
- {
- //Gets the loaded PDF document with the changes.
- byte[] data = await PDFViewer.GetDocumentAsync();
- //Save the PDF document to a MemoryStream.
- stream = new MemoryStream(data);
- //Load a PDF document from the MemoryStream.
- await PDFViewer.LoadAsync(stream);
- }
-
- public void annotations(ClickEventArgs args)
- {
- //Shows or hides the annotation toolbar in the SfPdfViewer.
- PDFViewer.ShowAnnotationToolbar(true);
- }
-
- public void print(ClickEventArgs args)
- {
- //Print the PDF document being loaded in the SfPdfViewer.
- PDFViewer.PrintAsync();
- }
-
- public void download(ClickEventArgs args)
- {
- //Downloads the PDF document being loaded in the SfPdfViewer.
- PDFViewer.DownloadAsync();
- }
-
- public void zoomInClicked(ClickEventArgs args)
- {
- //Scale the page to the next value in the zoom drop down list.
- PDFViewer.ZoomInAsync();
- }
-
- public void zoomoutClicked(ClickEventArgs args)
- {
- //Magnifies the page to the previous value in the zoom drop down list.
- PDFViewer.ZoomOutAsync();
- }
-}
-
-
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Weather.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Weather.razor
new file mode 100644
index 00000000..43a1ecbe
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Pages/Weather.razor
@@ -0,0 +1,64 @@
+@page "/weather"
+@attribute [StreamRendering]
+
+Weather
+
+Weather
+
+This component demonstrates showing data.
+
+@if (forecasts == null)
+{
+ Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Simulate asynchronous loading to demonstrate streaming rendering
+ await Task.Delay(500);
+
+ var startDate = DateOnly.FromDateTime(DateTime.Now);
+ var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
+ forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = summaries[Random.Shared.Next(summaries.Length)]
+ }).ToArray();
+ }
+
+ private class WeatherForecast
+ {
+ public DateOnly Date { get; set; }
+ public int TemperatureC { get; set; }
+ public string? Summary { get; set; }
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Routes.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Routes.razor
new file mode 100644
index 00000000..f756e19d
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/Routes.razor
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/_Imports.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/_Imports.razor
similarity index 58%
rename from Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/_Imports.razor
rename to Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/_Imports.razor
index 0bb2e268..348e8959 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/_Imports.razor
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Components/_Imports.razor
@@ -1,10 +1,12 @@
-@using System.Net.Http
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components.Authorization
-@using Microsoft.AspNetCore.Components.Forms
-@using Microsoft.AspNetCore.Components.Routing
-@using Microsoft.AspNetCore.Components.Web
-@using Microsoft.AspNetCore.Components.Web.Virtualization
-@using Microsoft.JSInterop
-@using Custom_toolbar_with_PNG_image
-@using Custom_toolbar_with_PNG_image.Shared
+@using System.Net.Http
+@using System.Net.Http.Json
+@using Microsoft.AspNetCore.Components.Forms
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using static Microsoft.AspNetCore.Components.Web.RenderMode
+@using Microsoft.AspNetCore.Components.Web.Virtualization
+@using Microsoft.JSInterop
+@using Custom_toolbar_with_PNG_image
+@using Custom_toolbar_with_PNG_image.Components
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.SfPdfViewer
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.csproj b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.csproj
index 6c49dc5c..c8b796dc 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.csproj
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.csproj
@@ -1,12 +1,14 @@
- net7.0
+ net8.0
enable
enable
-
-
-
-
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.csproj.user b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.csproj.user
deleted file mode 100644
index ccfffb1f..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.csproj.user
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- https
-
-
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image.sln b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.sln
similarity index 57%
rename from Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image.sln
rename to Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.sln
index 910e9579..0624145b 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image.sln
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Custom_toolbar_with_PNG_image.sln
@@ -1,25 +1,24 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.6.33723.286
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Custom_toolbar_with_PNG_image", "Custom_toolbar_with_PNG_image\Custom_toolbar_with_PNG_image.csproj", "{072F7DEA-3525-450C-9071-B798B53A7C2E}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {072F7DEA-3525-450C-9071-B798B53A7C2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {072F7DEA-3525-450C-9071-B798B53A7C2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {072F7DEA-3525-450C-9071-B798B53A7C2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {072F7DEA-3525-450C-9071-B798B53A7C2E}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {5C7CAA40-A3FF-448A-9FA1-EE5AFBEF0FA6}
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.2.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Custom_toolbar_with_PNG_image", "Custom_toolbar_with_PNG_image.csproj", "{0DDB92F3-4F34-3000-EA37-A6E247DE1BF5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0DDB92F3-4F34-3000-EA37-A6E247DE1BF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0DDB92F3-4F34-3000-EA37-A6E247DE1BF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0DDB92F3-4F34-3000-EA37-A6E247DE1BF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0DDB92F3-4F34-3000-EA37-A6E247DE1BF5}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5936C291-1F6C-41F6-890D-25431B063716}
+ EndGlobalSection
+EndGlobal
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Data/WeatherForecast.cs b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Data/WeatherForecast.cs
deleted file mode 100644
index c23e3cc8..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Data/WeatherForecast.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace Custom_toolbar_with_PNG_image.Data
-{
- public class WeatherForecast
- {
- public DateOnly Date { get; set; }
-
- public int TemperatureC { get; set; }
-
- public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
-
- public string? Summary { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Data/WeatherForecastService.cs b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Data/WeatherForecastService.cs
deleted file mode 100644
index 267ccd78..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Data/WeatherForecastService.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Custom_toolbar_with_PNG_image.Data
-{
- public class WeatherForecastService
- {
- private static readonly string[] Summaries = new[]
- {
- "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
- };
-
- public Task GetForecastAsync(DateOnly startDate)
- {
- return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
- {
- Date = startDate.AddDays(index),
- TemperatureC = Random.Shared.Next(-20, 55),
- Summary = Summaries[Random.Shared.Next(Summaries.Length)]
- }).ToArray());
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Counter.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Counter.razor
deleted file mode 100644
index b21f0521..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Counter.razor
+++ /dev/null
@@ -1,18 +0,0 @@
-@page "/counter"
-
-Counter
-
-Counter
-
-Current count: @currentCount
-
-Click me
-
-@code {
- private int currentCount = 0;
-
- private void IncrementCount()
- {
- currentCount++;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Error.cshtml b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Error.cshtml
deleted file mode 100644
index e28cf7a9..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Error.cshtml
+++ /dev/null
@@ -1,42 +0,0 @@
-@page
-@model Custom_toolbar_with_PNG_image.Pages.ErrorModel
-
-
-
-
-
-
-
- Error
-
-
-
-
-
-
-
-
Error.
-
An error occurred while processing your request.
-
- @if (Model.ShowRequestId)
- {
-
- Request ID: @Model.RequestId
-
- }
-
-
Development Mode
-
- Swapping to the Development environment displays detailed information about the error that occurred.
-
-
- The Development environment shouldn't be enabled for deployed applications.
- It can result in displaying sensitive information from exceptions to end users.
- For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
- and restarting the app.
-
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Error.cshtml.cs b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Error.cshtml.cs
deleted file mode 100644
index f98b9346..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using System.Diagnostics;
-
-namespace Custom_toolbar_with_PNG_image.Pages
-{
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- [IgnoreAntiforgeryToken]
- public class ErrorModel : PageModel
- {
- public string? RequestId { get; set; }
-
- public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- private readonly ILogger _logger;
-
- public ErrorModel(ILogger logger)
- {
- _logger = logger;
- }
-
- public void OnGet()
- {
- RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/FetchData.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/FetchData.razor
deleted file mode 100644
index 05c24aab..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/FetchData.razor
+++ /dev/null
@@ -1,47 +0,0 @@
-@page "/fetchdata"
-@using Custom_toolbar_with_PNG_image.Data
-@inject WeatherForecastService ForecastService
-
-Weather forecast
-
-Weather forecast
-
-This component demonstrates fetching data from a service.
-
-@if (forecasts == null)
-{
- Loading...
-}
-else
-{
-
-
-
- Date
- Temp. (C)
- Temp. (F)
- Summary
-
-
-
- @foreach (var forecast in forecasts)
- {
-
- @forecast.Date.ToShortDateString()
- @forecast.TemperatureC
- @forecast.TemperatureF
- @forecast.Summary
-
- }
-
-
-}
-
-@code {
- private WeatherForecast[]? forecasts;
-
- protected override async Task OnInitializedAsync()
- {
- forecasts = await ForecastService.GetForecastAsync(DateOnly.FromDateTime(DateTime.Now));
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/_Host.cshtml b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/_Host.cshtml
deleted file mode 100644
index ad370e0b..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Pages/_Host.cshtml
+++ /dev/null
@@ -1,36 +0,0 @@
-@page "/"
-@using Microsoft.AspNetCore.Components.Web
-@namespace Custom_toolbar_with_PNG_image.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- An error has occurred. This application may no longer respond until reloaded.
-
-
- An unhandled exception has occurred. See browser dev tools for details.
-
-
Reload
-
🗙
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Program.cs b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Program.cs
index 27c422ca..5461771e 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Program.cs
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Program.cs
@@ -1,16 +1,12 @@
-using Custom_toolbar_with_PNG_image.Data;
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Web;
+using Custom_toolbar_with_PNG_image.Components;
using Syncfusion.Blazor;
-
var builder = WebApplication.CreateBuilder(args);
-
// Add services to the container.
-builder.Services.AddRazorPages();
-builder.Services.AddServerSideBlazor();
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
-builder.Services.AddSingleton();
-
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
@@ -18,7 +14,7 @@
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
@@ -26,10 +22,9 @@
app.UseHttpsRedirection();
app.UseStaticFiles();
+app.UseAntiforgery();
-app.UseRouting();
-
-app.MapBlazorHub();
-app.MapFallbackToPage("/_Host");
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
app.Run();
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Properties/launchSettings.json b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Properties/launchSettings.json
index 78aa9327..9c8b30d4 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Properties/launchSettings.json
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Properties/launchSettings.json
@@ -1,37 +1,38 @@
{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:16741",
- "sslPort": 44349
- }
- },
- "profiles": {
- "http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "http://localhost:5218",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "https": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "https://localhost:7117;http://localhost:5218",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:1637",
+ "sslPort": 44312
}
},
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5038",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7286;http://localhost:5038",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
}
}
}
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/MainLayout.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/MainLayout.razor
deleted file mode 100644
index 569ca0d4..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/MainLayout.razor
+++ /dev/null
@@ -1,19 +0,0 @@
-@inherits LayoutComponentBase
-
-Custom_toolbar_with_PNG_image
-
-
-
-
-
-
-
-
- @Body
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/MainLayout.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/MainLayout.razor.css
deleted file mode 100644
index 699f17cd..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/MainLayout.razor.css
+++ /dev/null
@@ -1,70 +0,0 @@
-.page {
- position: relative;
- display: flex;
- flex-direction: column;
-}
-
-main {
- flex: 1;
-}
-
-.sidebar {
- background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
-}
-
-.top-row {
- background-color: #f7f7f7;
- border-bottom: 1px solid #d6d5d5;
- justify-content: flex-end;
- height: 3.5rem;
- display: flex;
- align-items: center;
-}
-
- .top-row ::deep a, .top-row .btn-link {
- white-space: nowrap;
- margin-left: 1.5rem;
- }
-
- .top-row a:first-child {
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
-@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- .top-row.auth {
- justify-content: space-between;
- }
-
- .top-row a, .top-row .btn-link {
- margin-left: 0;
- }
-}
-
-@media (min-width: 641px) {
- .page {
- flex-direction: row;
- }
-
- .sidebar {
- width: 250px;
- height: 100vh;
- position: sticky;
- top: 0;
- }
-
- .top-row {
- position: sticky;
- top: 0;
- z-index: 1;
- }
-
- .top-row, article {
- padding-left: 2rem !important;
- padding-right: 1.5rem !important;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/NavMenu.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/NavMenu.razor
deleted file mode 100644
index 9e395349..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/NavMenu.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-@code {
- private bool collapseNavMenu = true;
-
- private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
-
- private void ToggleNavMenu()
- {
- collapseNavMenu = !collapseNavMenu;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/NavMenu.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/NavMenu.razor.css
deleted file mode 100644
index 77a85002..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/NavMenu.razor.css
+++ /dev/null
@@ -1,68 +0,0 @@
-.navbar-toggler {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.top-row {
- height: 3.5rem;
- background-color: rgba(0,0,0,0.4);
-}
-
-.navbar-brand {
- font-size: 1.1rem;
-}
-
-.oi {
- width: 2rem;
- font-size: 1.1rem;
- vertical-align: text-top;
- top: -2px;
-}
-
-.nav-item {
- font-size: 0.9rem;
- padding-bottom: 0.5rem;
-}
-
- .nav-item:first-of-type {
- padding-top: 1rem;
- }
-
- .nav-item:last-of-type {
- padding-bottom: 1rem;
- }
-
- .nav-item ::deep a {
- color: #d7d7d7;
- border-radius: 4px;
- height: 3rem;
- display: flex;
- align-items: center;
- line-height: 3rem;
- }
-
-.nav-item ::deep a.active {
- background-color: rgba(255,255,255,0.25);
- color: white;
-}
-
-.nav-item ::deep a:hover {
- background-color: rgba(255,255,255,0.1);
- color: white;
-}
-
-@media (min-width: 641px) {
- .navbar-toggler {
- display: none;
- }
-
- .collapse {
- /* Never collapse the sidebar for wide screens */
- display: block;
- }
-
- .nav-scrollable {
- /* Allow sidebar to scroll for tall menus */
- height: calc(100vh - 3.5rem);
- overflow-y: auto;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/SurveyPrompt.razor b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/SurveyPrompt.razor
deleted file mode 100644
index b31a4a61..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/Shared/SurveyPrompt.razor
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
@Title
-
-
- Please take our
- brief survey
-
- and tell us what you think.
-
-
-@code {
- // Demonstrates how a parent component can supply parameters
- [Parameter]
- public string? Title { get; set; }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/appsettings.Development.json b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/appsettings.Development.json
index f042c671..ff66ba6b 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/appsettings.Development.json
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/appsettings.Development.json
@@ -1,5 +1,4 @@
{
- "DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/Data/PDF_Succinctly.pdf b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/Data/PDF_Succinctly.pdf
deleted file mode 100644
index ad91de2c..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/Data/PDF_Succinctly.pdf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/app.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/app.css
new file mode 100644
index 00000000..2bd9b789
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/app.css
@@ -0,0 +1,51 @@
+html, body {
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+a, .btn-link {
+ color: #006bb7;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #1b6ec2;
+ border-color: #1861ac;
+}
+
+.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
+}
+
+.content {
+ padding-top: 1.1rem;
+}
+
+h1:focus {
+ outline: none;
+}
+
+.valid.modified:not([type=checkbox]) {
+ outline: 1px solid #26b050;
+}
+
+.invalid {
+ outline: 1px solid #e50000;
+}
+
+.validation-message {
+ color: #e50000;
+}
+
+.blazor-error-boundary {
+ background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
+ padding: 1rem 1rem 1rem 3.7rem;
+ color: white;
+}
+
+ .blazor-error-boundary::after {
+ content: "An error has occurred."
+ }
+
+.darker-border-checkbox.form-check-input {
+ border-color: #929292;
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/bootstrap/bootstrap.min.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/bootstrap/bootstrap.min.css
similarity index 100%
rename from Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/bootstrap/bootstrap.min.css
rename to Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/bootstrap/bootstrap.min.css
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/bootstrap/bootstrap.min.css.map b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/bootstrap/bootstrap.min.css.map
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/FONT-LICENSE b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/FONT-LICENSE
deleted file mode 100644
index 8ae8650d..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/FONT-LICENSE
+++ /dev/null
@@ -1,86 +0,0 @@
-SIL OPEN FONT LICENSE Version 1.1
-
-Copyright (c) 2014 Waybury
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/ICON-LICENSE b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/ICON-LICENSE
deleted file mode 100644
index af73356f..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/ICON-LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Waybury
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/README.md b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/README.md
deleted file mode 100644
index 64f55be4..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)
-===========
-
-### Open Iconic is the open source sibling of [Iconic](https://github.com/iconic/open-iconic). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](https://github.com/iconic/open-iconic)
-
-
-
-## What's in Open Iconic?
-
-* 223 icons designed to be legible down to 8 pixels
-* Super-light SVG files - 61.8 for the entire set
-* SVG sprite—the modern replacement for icon fonts
-* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
-* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
-* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
-
-
-## Getting Started
-
-#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](https://github.com/iconic/open-iconic) and [Reference](https://github.com/iconic/open-iconic) sections.
-
-### General Usage
-
-#### Using Open Iconic's SVGs
-
-We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
-
-```
-
-```
-
-#### Using Open Iconic's SVG Sprite
-
-Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
-
-Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.*
-
-```
-
-
-
-```
-
-Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions.
-
-```
-.icon {
- width: 16px;
- height: 16px;
-}
-```
-
-Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag.
-
-```
-.icon-account-login {
- fill: #f00;
-}
-```
-
-To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/).
-
-#### Using Open Iconic's Icon Font...
-
-
-##### …with Bootstrap
-
-You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}`
-
-
-```
-
-```
-
-
-```
-
-```
-
-##### …with Foundation
-
-You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}`
-
-```
-
-```
-
-
-```
-
-```
-
-##### …on its own
-
-You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}`
-
-```
-
-```
-
-```
-
-```
-
-
-## License
-
-### Icons
-
-All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT).
-
-### Fonts
-
-All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web).
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
deleted file mode 100644
index 4664f2e8..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
deleted file mode 100644
index f98177db..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.eot and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
deleted file mode 100644
index f6bd6846..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.otf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
deleted file mode 100644
index cf429428..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
+++ /dev/null
@@ -1,543 +0,0 @@
-
-
-
-
-
-Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014
- By P.J. Onori
-Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
deleted file mode 100644
index fab60486..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
deleted file mode 100644
index f9309988..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/open-iconic/font/fonts/open-iconic.woff and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/site.css b/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/site.css
deleted file mode 100644
index ed2dca83..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with PNG image/Custom_toolbar_with_PNG_image/wwwroot/css/site.css
+++ /dev/null
@@ -1,68 +0,0 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
-
-html, body {
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
-}
-
-h1:focus {
- outline: none;
-}
-
-a, .btn-link {
- color: #0071c1;
-}
-
-.btn-primary {
- color: #fff;
- background-color: #1b6ec2;
- border-color: #1861ac;
-}
-
-.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
- box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
-}
-
-.content {
- padding-top: 1.1rem;
-}
-
-.valid.modified:not([type=checkbox]) {
- outline: 1px solid #26b050;
-}
-
-.invalid {
- outline: 1px solid red;
-}
-
-.validation-message {
- color: red;
-}
-
-#blazor-error-ui {
- background: lightyellow;
- bottom: 0;
- box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
- display: none;
- left: 0;
- padding: 0.6rem 1.25rem 0.7rem 1.25rem;
- position: fixed;
- width: 100%;
- z-index: 1000;
-}
-
- #blazor-error-ui .dismiss {
- cursor: pointer;
- position: absolute;
- right: 0.75rem;
- top: 0.5rem;
- }
-
-.blazor-error-boundary {
- background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
- padding: 1rem 1rem 1rem 3.7rem;
- color: white;
-}
-
- .blazor-error-boundary::after {
- content: "An error has occurred."
- }
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/App.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/App.razor
deleted file mode 100644
index 623580d0..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/App.razor
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Not found
-
- Sorry, there's nothing at this address.
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/App.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/App.razor
new file mode 100644
index 00000000..b3a8f8cb
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/App.razor
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/MainLayout.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/MainLayout.razor
new file mode 100644
index 00000000..5a24bb13
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/MainLayout.razor
@@ -0,0 +1,23 @@
+@inherits LayoutComponentBase
+
+
+
+
+
+
+
+
+ @Body
+
+
+
+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/MainLayout.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/MainLayout.razor.css
new file mode 100644
index 00000000..038baf17
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/MainLayout.razor.css
@@ -0,0 +1,96 @@
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+main {
+ flex: 1;
+}
+
+.sidebar {
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
+}
+
+.top-row {
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+ text-decoration: none;
+ }
+
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+ }
+
+ .top-row ::deep a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+@media (max-width: 640.98px) {
+ .top-row {
+ justify-content: space-between;
+ }
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ margin-left: 0;
+ }
+}
+
+@media (min-width: 641px) {
+ .page {
+ flex-direction: row;
+ }
+
+ .sidebar {
+ width: 250px;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+
+ .top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+ }
+
+ .top-row, article {
+ padding-left: 2rem !important;
+ padding-right: 1.5rem !important;
+ }
+}
+
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+ #blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+ }
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/NavMenu.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/NavMenu.razor
new file mode 100644
index 00000000..9b74a994
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/NavMenu.razor
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/NavMenu.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/NavMenu.razor.css
new file mode 100644
index 00000000..4e15395e
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Layout/NavMenu.razor.css
@@ -0,0 +1,105 @@
+.navbar-toggler {
+ appearance: none;
+ cursor: pointer;
+ width: 3.5rem;
+ height: 2.5rem;
+ color: white;
+ position: absolute;
+ top: 0.5rem;
+ right: 1rem;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
+}
+
+.navbar-toggler:checked {
+ background-color: rgba(255, 255, 255, 0.5);
+}
+
+.top-row {
+ height: 3.5rem;
+ background-color: rgba(0,0,0,0.4);
+}
+
+.navbar-brand {
+ font-size: 1.1rem;
+}
+
+.bi {
+ display: inline-block;
+ position: relative;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-right: 0.75rem;
+ top: -1px;
+ background-size: cover;
+}
+
+.bi-house-door-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
+}
+
+.bi-plus-square-fill-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
+}
+
+.bi-list-nested-nav-menu {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
+}
+
+.nav-item {
+ font-size: 0.9rem;
+ padding-bottom: 0.5rem;
+}
+
+ .nav-item:first-of-type {
+ padding-top: 1rem;
+ }
+
+ .nav-item:last-of-type {
+ padding-bottom: 1rem;
+ }
+
+ .nav-item ::deep .nav-link {
+ color: #d7d7d7;
+ background: none;
+ border: none;
+ border-radius: 4px;
+ height: 3rem;
+ display: flex;
+ align-items: center;
+ line-height: 3rem;
+ width: 100%;
+ }
+
+.nav-item ::deep a.active {
+ background-color: rgba(255,255,255,0.37);
+ color: white;
+}
+
+.nav-item ::deep .nav-link:hover {
+ background-color: rgba(255,255,255,0.1);
+ color: white;
+}
+
+.nav-scrollable {
+ display: none;
+}
+
+.navbar-toggler:checked ~ .nav-scrollable {
+ display: block;
+}
+
+@media (min-width: 641px) {
+ .navbar-toggler {
+ display: none;
+ }
+
+ .nav-scrollable {
+ /* Never collapse the sidebar for wide screens */
+ display: block;
+
+ /* Allow sidebar to scroll for tall menus */
+ height: calc(100vh - 3.5rem);
+ overflow-y: auto;
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Counter.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Counter.razor
new file mode 100644
index 00000000..1a4f8e75
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Counter.razor
@@ -0,0 +1,19 @@
+@page "/counter"
+@rendermode InteractiveServer
+
+Counter
+
+Counter
+
+Current count: @currentCount
+
+Click me
+
+@code {
+ private int currentCount = 0;
+
+ private void IncrementCount()
+ {
+ currentCount++;
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Error.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Error.razor
new file mode 100644
index 00000000..576cc2d2
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"
+@using System.Diagnostics
+
+Error
+
+Error.
+An error occurred while processing your request.
+
+@if (ShowRequestId)
+{
+
+ Request ID: @RequestId
+
+}
+
+Development Mode
+
+ Swapping to Development environment will display more detailed information about the error that occurred.
+
+
+ The Development environment shouldn't be enabled for deployed applications.
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
+ and restarting the app.
+
+
+@code{
+ [CascadingParameter]
+ private HttpContext? HttpContext { get; set; }
+
+ private string? RequestId { get; set; }
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
+
+ protected override void OnInitialized() =>
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Index.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Home.razor
similarity index 94%
rename from Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Index.razor
rename to Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Home.razor
index 3e5c4cdc..b896f1cf 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Index.razor
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Home.razor
@@ -1,115 +1,115 @@
-@page "/"
-
-@using Syncfusion.Blazor.Navigations
-@using Syncfusion.Blazor.SfPdfViewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@code
-{
- SfPdfViewer2 PDFViewer;
-
- private string DocumentPath { get; set; } = "wwwroot/Data/PDF_Succinctly.pdf";
-
- public void nextClicked(ClickEventArgs args)
- {
- //Navigate to next page of the PDF document loaded in the SfPdfViewer.
- PDFViewer.GoToNextPageAsync();
- }
-
- public void previousClicked(ClickEventArgs args)
- {
- //Navigate to previous page of the PDF document.
- PDFViewer.GoToPreviousPageAsync();
- }
-
- MemoryStream stream;
-
- public void annotations(ClickEventArgs args)
- {
- //Shows or hides the annotation toolbar in the SfPdfViewer.
- PDFViewer.ShowAnnotationToolbar(true);
- }
-
- public void print(ClickEventArgs args)
- {
- //Print the PDF document being loaded in the SfPdfViewer.
- PDFViewer.PrintAsync();
- }
-
- public void download(ClickEventArgs args)
- {
- //Downloads the PDF document being loaded in the SfPdfViewer.
- PDFViewer.DownloadAsync();
- }
-
- public void zoomInClicked(ClickEventArgs args)
- {
- //Scale the page to the next value in the zoom drop down list.
- PDFViewer.ZoomInAsync();
- }
-
- public void zoomoutClicked(ClickEventArgs args)
- {
- //Magnifies the page to the previous value in the zoom drop down list.
- PDFViewer.ZoomOutAsync();
- }
-}
-
-
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Weather.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Weather.razor
new file mode 100644
index 00000000..43a1ecbe
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Pages/Weather.razor
@@ -0,0 +1,64 @@
+@page "/weather"
+@attribute [StreamRendering]
+
+Weather
+
+Weather
+
+This component demonstrates showing data.
+
+@if (forecasts == null)
+{
+ Loading...
+}
+else
+{
+
+
+
+ Date
+ Temp. (C)
+ Temp. (F)
+ Summary
+
+
+
+ @foreach (var forecast in forecasts)
+ {
+
+ @forecast.Date.ToShortDateString()
+ @forecast.TemperatureC
+ @forecast.TemperatureF
+ @forecast.Summary
+
+ }
+
+
+}
+
+@code {
+ private WeatherForecast[]? forecasts;
+
+ protected override async Task OnInitializedAsync()
+ {
+ // Simulate asynchronous loading to demonstrate streaming rendering
+ await Task.Delay(500);
+
+ var startDate = DateOnly.FromDateTime(DateTime.Now);
+ var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };
+ forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = startDate.AddDays(index),
+ TemperatureC = Random.Shared.Next(-20, 55),
+ Summary = summaries[Random.Shared.Next(summaries.Length)]
+ }).ToArray();
+ }
+
+ private class WeatherForecast
+ {
+ public DateOnly Date { get; set; }
+ public int TemperatureC { get; set; }
+ public string? Summary { get; set; }
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+ }
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Routes.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Routes.razor
new file mode 100644
index 00000000..f756e19d
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/Routes.razor
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/_Imports.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/_Imports.razor
new file mode 100644
index 00000000..48c9b6c5
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Components/_Imports.razor
@@ -0,0 +1,12 @@
+@using System.Net.Http
+@using System.Net.Http.Json
+@using Microsoft.AspNetCore.Components.Forms
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using static Microsoft.AspNetCore.Components.Web.RenderMode
+@using Microsoft.AspNetCore.Components.Web.Virtualization
+@using Microsoft.JSInterop
+@using Custom_toolbar_with_save_option
+@using Custom_toolbar_with_save_option.Components
+@using Syncfusion.Blazor
+@using Syncfusion.Blazor.SfPdfViewer
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option..csproj b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option..csproj
deleted file mode 100644
index 71023216..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option..csproj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- net7.0
- enable
- enable
- Custom_toolbar_with_save_option_
-
-
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option..csproj.user b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option..csproj.user
deleted file mode 100644
index ccfffb1f..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option..csproj.user
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
- https
-
-
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option.csproj b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option.csproj
new file mode 100644
index 00000000..fdfb1afd
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option.csproj
@@ -0,0 +1,14 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option..sln b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option.sln
similarity index 55%
rename from Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option..sln
rename to Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option.sln
index 203b606b..186cdaa8 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option..sln
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Custom_toolbar_with_save_option.sln
@@ -1,25 +1,24 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.6.33723.286
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Custom_toolbar_with_save_option.", "..\Custom_toolbar_with_save_option\Custom_toolbar_with_save_option\Custom_toolbar_with_save_option..csproj", "{D281BE3D-B979-4466-9029-7D6188457386}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {D281BE3D-B979-4466-9029-7D6188457386}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D281BE3D-B979-4466-9029-7D6188457386}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D281BE3D-B979-4466-9029-7D6188457386}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D281BE3D-B979-4466-9029-7D6188457386}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {A5CC6ED1-194B-425A-89DF-8C10C4041713}
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.2.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Custom_toolbar_with_save_option", "Custom_toolbar_with_save_option.csproj", "{6E25DF05-7F94-677E-3F39-C2FC0938FBD0}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6E25DF05-7F94-677E-3F39-C2FC0938FBD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6E25DF05-7F94-677E-3F39-C2FC0938FBD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6E25DF05-7F94-677E-3F39-C2FC0938FBD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6E25DF05-7F94-677E-3F39-C2FC0938FBD0}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {9C1850C6-67EE-475F-B772-E01CAF40A313}
+ EndGlobalSection
+EndGlobal
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Data/WeatherForecast.cs b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Data/WeatherForecast.cs
deleted file mode 100644
index bc38b147..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Data/WeatherForecast.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace Custom_toolbar_with_save_option_.Data
-{
- public class WeatherForecast
- {
- public DateOnly Date { get; set; }
-
- public int TemperatureC { get; set; }
-
- public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
-
- public string? Summary { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Data/WeatherForecastService.cs b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Data/WeatherForecastService.cs
deleted file mode 100644
index 678e18fa..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Data/WeatherForecastService.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-namespace Custom_toolbar_with_save_option_.Data
-{
- public class WeatherForecastService
- {
- private static readonly string[] Summaries = new[]
- {
- "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
- };
-
- public Task GetForecastAsync(DateOnly startDate)
- {
- return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
- {
- Date = startDate.AddDays(index),
- TemperatureC = Random.Shared.Next(-20, 55),
- Summary = Summaries[Random.Shared.Next(Summaries.Length)]
- }).ToArray());
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Counter.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Counter.razor
deleted file mode 100644
index b21f0521..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Counter.razor
+++ /dev/null
@@ -1,18 +0,0 @@
-@page "/counter"
-
-Counter
-
-Counter
-
-Current count: @currentCount
-
-Click me
-
-@code {
- private int currentCount = 0;
-
- private void IncrementCount()
- {
- currentCount++;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Error.cshtml b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Error.cshtml
deleted file mode 100644
index f1187ce4..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Error.cshtml
+++ /dev/null
@@ -1,42 +0,0 @@
-@page
-@model Custom_toolbar_with_save_option_.Pages.ErrorModel
-
-
-
-
-
-
-
- Error
-
-
-
-
-
-
-
-
Error.
-
An error occurred while processing your request.
-
- @if (Model.ShowRequestId)
- {
-
- Request ID: @Model.RequestId
-
- }
-
-
Development Mode
-
- Swapping to the Development environment displays detailed information about the error that occurred.
-
-
- The Development environment shouldn't be enabled for deployed applications.
- It can result in displaying sensitive information from exceptions to end users.
- For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
- and restarting the app.
-
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Error.cshtml.cs b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Error.cshtml.cs
deleted file mode 100644
index 2b1c7e3e..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/Error.cshtml.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.AspNetCore.Mvc.RazorPages;
-using System.Diagnostics;
-
-namespace Custom_toolbar_with_save_option_.Pages
-{
- [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
- [IgnoreAntiforgeryToken]
- public class ErrorModel : PageModel
- {
- public string? RequestId { get; set; }
-
- public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
-
- private readonly ILogger _logger;
-
- public ErrorModel(ILogger logger)
- {
- _logger = logger;
- }
-
- public void OnGet()
- {
- RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
- }
- }
-}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/FetchData.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/FetchData.razor
deleted file mode 100644
index debb9ea4..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/FetchData.razor
+++ /dev/null
@@ -1,47 +0,0 @@
-@page "/fetchdata"
-@using Custom_toolbar_with_save_option_.Data
-@inject WeatherForecastService ForecastService
-
-Weather forecast
-
-Weather forecast
-
-This component demonstrates fetching data from a service.
-
-@if (forecasts == null)
-{
- Loading...
-}
-else
-{
-
-
-
- Date
- Temp. (C)
- Temp. (F)
- Summary
-
-
-
- @foreach (var forecast in forecasts)
- {
-
- @forecast.Date.ToShortDateString()
- @forecast.TemperatureC
- @forecast.TemperatureF
- @forecast.Summary
-
- }
-
-
-}
-
-@code {
- private WeatherForecast[]? forecasts;
-
- protected override async Task OnInitializedAsync()
- {
- forecasts = await ForecastService.GetForecastAsync(DateOnly.FromDateTime(DateTime.Now));
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/_Host.cshtml b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/_Host.cshtml
deleted file mode 100644
index 42c4748f..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Pages/_Host.cshtml
+++ /dev/null
@@ -1,36 +0,0 @@
-@page "/"
-@using Microsoft.AspNetCore.Components.Web
-@namespace Custom_toolbar_with_save_option_.Pages
-@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- An error has occurred. This application may no longer respond until reloaded.
-
-
- An unhandled exception has occurred. See browser dev tools for details.
-
-
Reload
-
🗙
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Program.cs b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Program.cs
index 9ea9bb5b..20c6d9e3 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Program.cs
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Program.cs
@@ -1,16 +1,12 @@
-using Custom_toolbar_with_save_option_.Data;
-using Microsoft.AspNetCore.Components;
-using Microsoft.AspNetCore.Components.Web;
+using Custom_toolbar_with_save_option.Components;
using Syncfusion.Blazor;
-
var builder = WebApplication.CreateBuilder(args);
-
// Add services to the container.
-builder.Services.AddRazorPages();
-builder.Services.AddServerSideBlazor();
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
-builder.Services.AddSingleton();
-
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
builder.Services.AddSyncfusionBlazor();
var app = builder.Build();
@@ -18,7 +14,7 @@
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
- app.UseExceptionHandler("/Error");
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
@@ -26,10 +22,9 @@
app.UseHttpsRedirection();
app.UseStaticFiles();
+app.UseAntiforgery();
-app.UseRouting();
-
-app.MapBlazorHub();
-app.MapFallbackToPage("/_Host");
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
app.Run();
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Properties/launchSettings.json b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Properties/launchSettings.json
index 3ddbcf81..a7132c9a 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Properties/launchSettings.json
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Properties/launchSettings.json
@@ -1,37 +1,38 @@
{
- "iisSettings": {
- "windowsAuthentication": false,
- "anonymousAuthentication": true,
- "iisExpress": {
- "applicationUrl": "http://localhost:43810",
- "sslPort": 44322
- }
- },
- "profiles": {
- "http": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "http://localhost:5024",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
- }
- },
- "https": {
- "commandName": "Project",
- "dotnetRunMessages": true,
- "launchBrowser": true,
- "applicationUrl": "https://localhost:7068;http://localhost:5024",
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:12580",
+ "sslPort": 44314
}
},
- "IIS Express": {
- "commandName": "IISExpress",
- "launchBrowser": true,
- "environmentVariables": {
- "ASPNETCORE_ENVIRONMENT": "Development"
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:5198",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:7057;http://localhost:5198",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
}
}
}
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/MainLayout.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/MainLayout.razor
deleted file mode 100644
index 09956ee9..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/MainLayout.razor
+++ /dev/null
@@ -1,19 +0,0 @@
-@inherits LayoutComponentBase
-
-Custom_toolbar_with_save_option.
-
-
-
-
-
-
-
-
- @Body
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/MainLayout.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/MainLayout.razor.css
deleted file mode 100644
index 699f17cd..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/MainLayout.razor.css
+++ /dev/null
@@ -1,70 +0,0 @@
-.page {
- position: relative;
- display: flex;
- flex-direction: column;
-}
-
-main {
- flex: 1;
-}
-
-.sidebar {
- background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
-}
-
-.top-row {
- background-color: #f7f7f7;
- border-bottom: 1px solid #d6d5d5;
- justify-content: flex-end;
- height: 3.5rem;
- display: flex;
- align-items: center;
-}
-
- .top-row ::deep a, .top-row .btn-link {
- white-space: nowrap;
- margin-left: 1.5rem;
- }
-
- .top-row a:first-child {
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
-@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- .top-row.auth {
- justify-content: space-between;
- }
-
- .top-row a, .top-row .btn-link {
- margin-left: 0;
- }
-}
-
-@media (min-width: 641px) {
- .page {
- flex-direction: row;
- }
-
- .sidebar {
- width: 250px;
- height: 100vh;
- position: sticky;
- top: 0;
- }
-
- .top-row {
- position: sticky;
- top: 0;
- z-index: 1;
- }
-
- .top-row, article {
- padding-left: 2rem !important;
- padding-right: 1.5rem !important;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/NavMenu.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/NavMenu.razor
deleted file mode 100644
index dc71da8e..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/NavMenu.razor
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-@code {
- private bool collapseNavMenu = true;
-
- private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
-
- private void ToggleNavMenu()
- {
- collapseNavMenu = !collapseNavMenu;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/NavMenu.razor.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/NavMenu.razor.css
deleted file mode 100644
index 77a85002..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/NavMenu.razor.css
+++ /dev/null
@@ -1,68 +0,0 @@
-.navbar-toggler {
- background-color: rgba(255, 255, 255, 0.1);
-}
-
-.top-row {
- height: 3.5rem;
- background-color: rgba(0,0,0,0.4);
-}
-
-.navbar-brand {
- font-size: 1.1rem;
-}
-
-.oi {
- width: 2rem;
- font-size: 1.1rem;
- vertical-align: text-top;
- top: -2px;
-}
-
-.nav-item {
- font-size: 0.9rem;
- padding-bottom: 0.5rem;
-}
-
- .nav-item:first-of-type {
- padding-top: 1rem;
- }
-
- .nav-item:last-of-type {
- padding-bottom: 1rem;
- }
-
- .nav-item ::deep a {
- color: #d7d7d7;
- border-radius: 4px;
- height: 3rem;
- display: flex;
- align-items: center;
- line-height: 3rem;
- }
-
-.nav-item ::deep a.active {
- background-color: rgba(255,255,255,0.25);
- color: white;
-}
-
-.nav-item ::deep a:hover {
- background-color: rgba(255,255,255,0.1);
- color: white;
-}
-
-@media (min-width: 641px) {
- .navbar-toggler {
- display: none;
- }
-
- .collapse {
- /* Never collapse the sidebar for wide screens */
- display: block;
- }
-
- .nav-scrollable {
- /* Allow sidebar to scroll for tall menus */
- height: calc(100vh - 3.5rem);
- overflow-y: auto;
- }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/SurveyPrompt.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/SurveyPrompt.razor
deleted file mode 100644
index b31a4a61..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/Shared/SurveyPrompt.razor
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
@Title
-
-
- Please take our
- brief survey
-
- and tell us what you think.
-
-
-@code {
- // Demonstrates how a parent component can supply parameters
- [Parameter]
- public string? Title { get; set; }
-}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/_Imports.razor b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/_Imports.razor
deleted file mode 100644
index fd49c10b..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/_Imports.razor
+++ /dev/null
@@ -1,10 +0,0 @@
-@using System.Net.Http
-@using Microsoft.AspNetCore.Authorization
-@using Microsoft.AspNetCore.Components.Authorization
-@using Microsoft.AspNetCore.Components.Forms
-@using Microsoft.AspNetCore.Components.Routing
-@using Microsoft.AspNetCore.Components.Web
-@using Microsoft.AspNetCore.Components.Web.Virtualization
-@using Microsoft.JSInterop
-@using Custom_toolbar_with_save_option_
-@using Custom_toolbar_with_save_option_.Shared
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/appsettings.Development.json b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/appsettings.Development.json
index f042c671..ff66ba6b 100644
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/appsettings.Development.json
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/appsettings.Development.json
@@ -1,5 +1,4 @@
{
- "DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/Data/PDF_Succinctly.pdf b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/Data/PDF_Succinctly.pdf
deleted file mode 100644
index ad91de2c..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/Data/PDF_Succinctly.pdf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/app.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/app.css
new file mode 100644
index 00000000..2bd9b789
--- /dev/null
+++ b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/app.css
@@ -0,0 +1,51 @@
+html, body {
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+a, .btn-link {
+ color: #006bb7;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #1b6ec2;
+ border-color: #1861ac;
+}
+
+.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
+ box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
+}
+
+.content {
+ padding-top: 1.1rem;
+}
+
+h1:focus {
+ outline: none;
+}
+
+.valid.modified:not([type=checkbox]) {
+ outline: 1px solid #26b050;
+}
+
+.invalid {
+ outline: 1px solid #e50000;
+}
+
+.validation-message {
+ color: #e50000;
+}
+
+.blazor-error-boundary {
+ background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
+ padding: 1rem 1rem 1rem 3.7rem;
+ color: white;
+}
+
+ .blazor-error-boundary::after {
+ content: "An error has occurred."
+ }
+
+.darker-border-checkbox.form-check-input {
+ border-color: #929292;
+}
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/bootstrap/bootstrap.min.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/bootstrap/bootstrap.min.css
similarity index 100%
rename from Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/bootstrap/bootstrap.min.css
rename to Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/bootstrap/bootstrap.min.css
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/bootstrap/bootstrap.min.css.map b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/bootstrap/bootstrap.min.css.map
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/FONT-LICENSE b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/FONT-LICENSE
deleted file mode 100644
index 8ae8650d..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/FONT-LICENSE
+++ /dev/null
@@ -1,86 +0,0 @@
-SIL OPEN FONT LICENSE Version 1.1
-
-Copyright (c) 2014 Waybury
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/ICON-LICENSE b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/ICON-LICENSE
deleted file mode 100644
index af73356f..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/ICON-LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Waybury
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/README.md b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/README.md
deleted file mode 100644
index 64f55be4..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-[Open Iconic v1.1.1](https://github.com/iconic/open-iconic)
-===========
-
-### Open Iconic is the open source sibling of [Iconic](https://github.com/iconic/open-iconic). It is a hyper-legible collection of 223 icons with a tiny footprint—ready to use with Bootstrap and Foundation. [View the collection](https://github.com/iconic/open-iconic)
-
-
-
-## What's in Open Iconic?
-
-* 223 icons designed to be legible down to 8 pixels
-* Super-light SVG files - 61.8 for the entire set
-* SVG sprite—the modern replacement for icon fonts
-* Webfont (EOT, OTF, SVG, TTF, WOFF), PNG and WebP formats
-* Webfont stylesheets (including versions for Bootstrap and Foundation) in CSS, LESS, SCSS and Stylus formats
-* PNG and WebP raster images in 8px, 16px, 24px, 32px, 48px and 64px.
-
-
-## Getting Started
-
-#### For code samples and everything else you need to get started with Open Iconic, check out our [Icons](https://github.com/iconic/open-iconic) and [Reference](https://github.com/iconic/open-iconic) sections.
-
-### General Usage
-
-#### Using Open Iconic's SVGs
-
-We like SVGs and we think they're the way to display icons on the web. Since Open Iconic are just basic SVGs, we suggest you display them like you would any other image (don't forget the `alt` attribute).
-
-```
-
-```
-
-#### Using Open Iconic's SVG Sprite
-
-Open Iconic also comes in a SVG sprite which allows you to display all the icons in the set with a single request. It's like an icon font, without being a hack.
-
-Adding an icon from an SVG sprite is a little different than what you're used to, but it's still a piece of cake. *Tip: To make your icons easily style able, we suggest adding a general class to the* `` *tag and a unique class name for each different icon in the* `` *tag.*
-
-```
-
-
-
-```
-
-Sizing icons only needs basic CSS. All the icons are in a square format, so just set the `` tag with equal width and height dimensions.
-
-```
-.icon {
- width: 16px;
- height: 16px;
-}
-```
-
-Coloring icons is even easier. All you need to do is set the `fill` rule on the `` tag.
-
-```
-.icon-account-login {
- fill: #f00;
-}
-```
-
-To learn more about SVG Sprites, read [Chris Coyier's guide](http://css-tricks.com/svg-sprites-use-better-icon-fonts/).
-
-#### Using Open Iconic's Icon Font...
-
-
-##### …with Bootstrap
-
-You can find our Bootstrap stylesheets in `font/css/open-iconic-bootstrap.{css, less, scss, styl}`
-
-
-```
-
-```
-
-
-```
-
-```
-
-##### …with Foundation
-
-You can find our Foundation stylesheets in `font/css/open-iconic-foundation.{css, less, scss, styl}`
-
-```
-
-```
-
-
-```
-
-```
-
-##### …on its own
-
-You can find our default stylesheets in `font/css/open-iconic.{css, less, scss, styl}`
-
-```
-
-```
-
-```
-
-```
-
-
-## License
-
-### Icons
-
-All code (including SVG markup) is under the [MIT License](http://opensource.org/licenses/MIT).
-
-### Fonts
-
-All fonts are under the [SIL Licensed](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web).
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
deleted file mode 100644
index 4664f2e8..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
+++ /dev/null
@@ -1 +0,0 @@
-@font-face{font-family:Icons;src:url(../fonts/open-iconic.eot);src:url(../fonts/open-iconic.eot?#iconic-sm) format('embedded-opentype'),url(../fonts/open-iconic.woff) format('woff'),url(../fonts/open-iconic.ttf) format('truetype'),url(../fonts/open-iconic.otf) format('opentype'),url(../fonts/open-iconic.svg#iconic-sm) format('svg');font-weight:400;font-style:normal}.oi{position:relative;top:1px;display:inline-block;speak:none;font-family:Icons;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1,-1);-ms-transform:scale(-1,1);transform:scale(1,-1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1,-1);-ms-transform:scale(-1,1);transform:scale(-1,-1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'}
\ No newline at end of file
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
deleted file mode 100644
index f98177db..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.eot and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
deleted file mode 100644
index f6bd6846..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.otf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
deleted file mode 100644
index cf429428..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
+++ /dev/null
@@ -1,543 +0,0 @@
-
-
-
-
-
-Created by FontForge 20120731 at Tue Jul 1 20:39:22 2014
- By P.J. Onori
-Created by P.J. Onori with FontForge 2.0 (http://fontforge.sf.net)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
deleted file mode 100644
index fab60486..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
deleted file mode 100644
index f9309988..00000000
Binary files a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/open-iconic/font/fonts/open-iconic.woff and /dev/null differ
diff --git a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/site.css b/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/site.css
deleted file mode 100644
index ed2dca83..00000000
--- a/Toolbar/Custom Toolbar/Custom toolbar with save option/Custom_toolbar_with_save_option/wwwroot/css/site.css
+++ /dev/null
@@ -1,68 +0,0 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
-
-html, body {
- font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
-}
-
-h1:focus {
- outline: none;
-}
-
-a, .btn-link {
- color: #0071c1;
-}
-
-.btn-primary {
- color: #fff;
- background-color: #1b6ec2;
- border-color: #1861ac;
-}
-
-.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
- box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
-}
-
-.content {
- padding-top: 1.1rem;
-}
-
-.valid.modified:not([type=checkbox]) {
- outline: 1px solid #26b050;
-}
-
-.invalid {
- outline: 1px solid red;
-}
-
-.validation-message {
- color: red;
-}
-
-#blazor-error-ui {
- background: lightyellow;
- bottom: 0;
- box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
- display: none;
- left: 0;
- padding: 0.6rem 1.25rem 0.7rem 1.25rem;
- position: fixed;
- width: 100%;
- z-index: 1000;
-}
-
- #blazor-error-ui .dismiss {
- cursor: pointer;
- position: absolute;
- right: 0.75rem;
- top: 0.5rem;
- }
-
-.blazor-error-boundary {
- background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
- padding: 1rem 1rem 1rem 3.7rem;
- color: white;
-}
-
- .blazor-error-boundary::after {
- content: "An error has occurred."
- }