diff --git a/BlazorApp/BlazorApp/BlazorApp.csproj b/BlazorApp/BlazorApp/BlazorApp.csproj index b775b09..6033f3c 100644 --- a/BlazorApp/BlazorApp/BlazorApp.csproj +++ b/BlazorApp/BlazorApp/BlazorApp.csproj @@ -6,4 +6,10 @@ enable + + + + + + diff --git a/BlazorApp/BlazorApp/Models/Item.cs b/BlazorApp/BlazorApp/Models/Item.cs new file mode 100644 index 0000000..8e4ba33 --- /dev/null +++ b/BlazorApp/BlazorApp/Models/Item.cs @@ -0,0 +1,15 @@ +namespace BlazorApp.Models +{ + public class Item + { + public int Id { get; set; } + public string DisplayName { get; set; } + public string Name { get; set; } + public int StackSize { get; set; } + public int MaxDurability { get; set; } + public List EnchantCategories { get; set; } + public List RepairWith { get; set; } + public DateTime CreatedDate { get; set; } + public DateTime? UpdatedDate { get; set; } + } +} \ No newline at end of file diff --git a/BlazorApp/BlazorApp/Pages/Index.razor b/BlazorApp/BlazorApp/Pages/Admin/Index.razor similarity index 100% rename from BlazorApp/BlazorApp/Pages/Index.razor rename to BlazorApp/BlazorApp/Pages/Admin/Index.razor diff --git a/BlazorApp/BlazorApp/Pages/Admin/_Imports.razor b/BlazorApp/BlazorApp/Pages/Admin/_Imports.razor new file mode 100644 index 0000000..6fd3875 --- /dev/null +++ b/BlazorApp/BlazorApp/Pages/Admin/_Imports.razor @@ -0,0 +1 @@ +@layout MainLayout diff --git a/BlazorApp/BlazorApp/Pages/Episodes.razor b/BlazorApp/BlazorApp/Pages/Episodes.razor new file mode 100644 index 0000000..ca6084f --- /dev/null +++ b/BlazorApp/BlazorApp/Pages/Episodes.razor @@ -0,0 +1,29 @@ +@page "/episodes" +@layout MainLayout + + +
+
+

Doctor Who™ Episode Database

+
+ + + +

Episodes

+ +
    +
  • ...
  • +
  • ...
  • +
  • ...
  • +
+ +
+ Doctor Who is a registered trademark of the BBC. + https://www.doctorwho.tv/ +
+
+ \ No newline at end of file diff --git a/BlazorApp/BlazorApp/Pages/List.razor b/BlazorApp/BlazorApp/Pages/List.razor new file mode 100644 index 0000000..02e0c15 --- /dev/null +++ b/BlazorApp/BlazorApp/Pages/List.razor @@ -0,0 +1,25 @@ +@page "/list" +@using BlazorApp.Models; + +

List

+ + + + + + + + + @(string.Join(", ", ((Item)context).EnchantCategories)) + + + + + @(string.Join(", ", ((Item)context).RepairWith)) + + + + \ No newline at end of file diff --git a/BlazorApp/BlazorApp/Pages/List.razor.cs b/BlazorApp/BlazorApp/Pages/List.razor.cs new file mode 100644 index 0000000..601a050 --- /dev/null +++ b/BlazorApp/BlazorApp/Pages/List.razor.cs @@ -0,0 +1,21 @@ +using BlazorApp.Models; +using Microsoft.AspNetCore.Components; + +namespace BlazorApp.Pages +{ + public partial class List + { + private Item[] items; + + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + protected override async Task OnInitializedAsync() + { + items = await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-data.json"); + } + } +} diff --git a/BlazorApp/BlazorApp/Pages/_Layout.cshtml b/BlazorApp/BlazorApp/Pages/_Layout.cshtml index 5437182..9fb4282 100644 --- a/BlazorApp/BlazorApp/Pages/_Layout.cshtml +++ b/BlazorApp/BlazorApp/Pages/_Layout.cshtml @@ -28,5 +28,10 @@ + + + + + diff --git a/BlazorApp/BlazorApp/Program.cs b/BlazorApp/BlazorApp/Program.cs index 520050c..07580cc 100644 --- a/BlazorApp/BlazorApp/Program.cs +++ b/BlazorApp/BlazorApp/Program.cs @@ -1,4 +1,7 @@ using BlazorApp.Data; +using Blazorise; +using Blazorise.Bootstrap; +using Blazorise.Icons.FontAwesome; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; @@ -9,6 +12,13 @@ builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); builder.Services.AddSingleton(); +builder.Services.AddHttpClient(); + +builder.Services + .AddBlazorise() + .AddBootstrapProviders() + .AddFontAwesomeIcons(); + var app = builder.Build(); // Configure the HTTP request pipeline. @@ -28,4 +38,4 @@ app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("/_Host"); -app.Run(); +app.Run(); \ No newline at end of file diff --git a/BlazorApp/BlazorApp/Shared/AdminLayout.razor b/BlazorApp/BlazorApp/Shared/AdminLayout.razor new file mode 100644 index 0000000..b6f228d --- /dev/null +++ b/BlazorApp/BlazorApp/Shared/AdminLayout.razor @@ -0,0 +1,19 @@ +@inherits LayoutComponentBase + +BlazorApp + +
+ + +
+
+ About +
+ +
+ @Body +
+
+
diff --git a/BlazorApp/BlazorApp/Shared/DoctorWhoLayout.razor b/BlazorApp/BlazorApp/Shared/DoctorWhoLayout.razor new file mode 100644 index 0000000..8ca2bf7 --- /dev/null +++ b/BlazorApp/BlazorApp/Shared/DoctorWhoLayout.razor @@ -0,0 +1,26 @@ +

MyLayout

+ +@inherits LayoutComponentBase + +
+

Doctor Who™ Episode Database

+
+ + + +@Body + +
+ @TrademarkMessage +
+ +@code { + public string TrademarkMessage { get; set; } = + "Doctor Who is a registered trademark of the BBC. " + + "https://www.doctorwho.tv/"; +} + diff --git a/BlazorApp/BlazorApp/Shared/NavMenu.razor b/BlazorApp/BlazorApp/Shared/NavMenu.razor index 3c601c2..174c53a 100644 --- a/BlazorApp/BlazorApp/Shared/NavMenu.razor +++ b/BlazorApp/BlazorApp/Shared/NavMenu.razor @@ -9,6 +9,16 @@