Set up Inventory page, let it take care of grid Items

pull/2/head
Alexis Drai 2 years ago
parent d15732f390
commit e4d482059c

@ -1,5 +1,4 @@
using blazor_lab.Services;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components;
using Minecraft.Crafting.Api.Models;
@ -11,20 +10,12 @@ namespace blazor_lab.Components
[Parameter]
public List<InventoryModel> Inventory { get; set; }
public List<Models.Item> Items { get; set; } = new List<Models.Item>();
[Inject]
public IConfiguration Config { get; set; }
[Inject]
private DataApiService dataApiService { get; set; }
protected override async Task OnInitializedAsync()
{
Items = await dataApiService.All();
}
/// <summary>
/// Used by GetItemImageBase64 in this component, rather than calling our DataService every time.
/// A very basic cache, not kept up to date in any way, but event listeners could be set up in the future
/// </summary>
[Parameter]
public List<Models.Item> Items { get; set; }
public string GetItemImageBase64(string displayName)
{

@ -2,6 +2,14 @@
@using Minecraft.Crafting.Api.Models
@using blazor_lab.Components
<h1>Inventory</h1>
<div class="side-by-side">
<div>
<h2>@Localizer["my_inventory"]</h2>
<InventoryGrid Inventory="Stuff" />
<InventoryGrid Inventory="FreshInventory" Items="Items" />
</div>
<div>
<h2>@Localizer["list_of_items"]</h2>
<InventoryList Items="Items" />
</div>
</div>

@ -1,9 +1,26 @@
using Minecraft.Crafting.Api.Models;
using blazor_lab.Services;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using Minecraft.Crafting.Api.Models;
using System.Diagnostics;
namespace blazor_lab.Pages
{
public partial class Inventory
{
private List<InventoryModel> Stuff = Enumerable.Range(1, 18).Select(_ => new InventoryModel()).ToList();
private List<Models.Item> Items = new();
[Inject]
public IStringLocalizer<Inventory> Localizer { get; set; }
[Inject]
private DataApiService DataApiService { get; set; }
protected override async Task OnInitializedAsync()
{
Items = await DataApiService.All();
}
private List<InventoryModel> FreshInventory = Enumerable.Range(1, 18).Select(_ => new InventoryModel()).ToList();
}
}

@ -0,0 +1,4 @@
.side-by-side {
display: flex;
flex-direction: row;
}
Loading…
Cancel
Save