Problem with a exeption
continuous-integration/drone/push Build is passing Details

Projet
Dorian HODIN 2 years ago
parent 817e8a2faa
commit 2361cf2938

Binary file not shown.

@ -1,138 +0,0 @@
using Blazored.Modal;
using Blazored.Modal.Services;
using Blazorise.DataGrid;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using Microsoft.JSInterop;
using ProjetBlazor.Modals;
using ProjetBlazor.Models;
using ProjetBlazor.Services;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
namespace ProjetBlazor.Components
{
public partial class Crafting
{
public Crafting()
{
Actions = new ObservableCollection<CraftingAction>();
Actions.CollectionChanged += OnActionsCollectionChanged;
this.RecipeItems = new List<Item> { null, null, null, null, null, null, null, null, null };
}
public ObservableCollection<CraftingAction> Actions { get; set; }
public Item CurrentDragItem { get; set; }
[Parameter]
public List<Item> Items { get; set; }
public List<Item> RecipeItems { get; set; }
private Item _recipeResult;
public Item RecipeResult
{
get => this._recipeResult;
set
{
if (this._recipeResult == value)
{
return;
}
this._recipeResult = value;
this.StateHasChanged();
}
}
[Parameter]
public List<CraftingRecipe> Recipes { get; set; }
/// <summary>
/// Gets or sets the java script runtime.
/// </summary>
[Inject]
internal IJSRuntime JavaScriptRuntime { get; set; }
public void CheckRecipe()
{
RecipeResult = null;
// Get the current model
var currentModel = string.Join("|", this.RecipeItems.Select(s => s != null ? s.Name : string.Empty));
this.Actions.Add(new CraftingAction { Action = $"Items : {currentModel}" });
foreach (var craftingRecipe in Recipes)
{
// Get the recipe model
var recipeModel = string.Join("|", craftingRecipe.Have.SelectMany(s => s));
this.Actions.Add(new CraftingAction { Action = $"Recipe model : {recipeModel}" });
if (currentModel == recipeModel)
{
RecipeResult = craftingRecipe.Give;
}
}
}
private void OnActionsCollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
{
JavaScriptRuntime.InvokeVoidAsync("Crafting.AddActions", e.NewItems);
}
private List<Item>? items;
private int totalItem;
[Inject]
public IDataService DataService { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
[CascadingParameter]
public IModalService Modal { get; set; }
private async Task OnReadData(DataGridReadDataEventArgs<Item> e)
{
if (e.CancellationToken.IsCancellationRequested)
{
return;
}
if (!e.CancellationToken.IsCancellationRequested)
{
items = await DataService.List(e.Page, e.PageSize);
totalItem = await DataService.Count();
}
}
private async void OnDelete(int id)
{
var parameters = new ModalParameters();
parameters.Add(nameof(Item.Id), id);
var modal = Modal.Show<DeleteConfirmation>("Delete Confirmation", parameters);
var result = await modal.Result;
if (result.Cancelled)
{
return;
}
await DataService.Delete(id);
// Reload the page
NavigationManager.NavigateTo("list", true);
}
}
}

@ -1,16 +0,0 @@
.css-grid {
display: grid;
}
.css-recipe {
grid-template-columns: repeat(9,minmax(0,1fr));
gap: 10px;
display: grid;
width: 600px;
}
.actions {
border: 1px solid black;
height: 250px;
overflow: scroll;
}

@ -1,16 +0,0 @@
window.Crafting =
{
AddActions: function (data) {
data.forEach(element => {
var div = document.createElement('div');
div.innerHTML = 'Action: ' + element.action + ' - Index: ' + element.index;
if (element.item) {
div.innerHTML += ' - Item Name: ' + element.item.name;
}
document.getElementById('actions').appendChild(div);
});
}
}

@ -1,6 +0,0 @@
.item {
width: 64px;
height: 64px;
border: 1px solid;
overflow: hidden;
}

@ -4,19 +4,19 @@ using ProjetBlazor.Models;
namespace ProjetBlazor.Components
{
public partial class CraftingItem
public partial class GetItemInInventory
{
[Parameter]
public int Index { get; set; }
[Parameter]
public Item Item { get; set; }
public Item? Item { get; set; }
[Parameter]
public bool NoDrop { get; set; }
[CascadingParameter]
public Crafting Parent { get; set; }
public ItemsList? Parent { get; set; }
internal void OnDragEnter()
{
@ -25,7 +25,7 @@ namespace ProjetBlazor.Components
return;
}
Parent.Actions.Add(new CraftingAction { Action = "Drag Enter", Item = this.Item, Index = this.Index });
Parent.Actions.Add(new ItemInInventory { Item = this.Item, Index = this.Index });
}
internal void OnDragLeave()
@ -35,7 +35,7 @@ namespace ProjetBlazor.Components
return;
}
Parent.Actions.Add(new CraftingAction { Action = "Drag Leave", Item = this.Item, Index = this.Index });
Parent.Actions.Add(new ItemInInventory { Item = this.Item, Index = this.Index });
}
internal void OnDrop()
@ -46,19 +46,18 @@ namespace ProjetBlazor.Components
}
this.Item = Parent.CurrentDragItem;
Parent.RecipeItems[this.Index] = this.Item;
Parent.ItemsInventory[this.Index] = this.Item;
Parent.Actions.Add(new CraftingAction { Action = "Drop", Item = this.Item, Index = this.Index });
Parent.Actions.Add(new ItemInInventory { Item = this.Item, Index = this.Index });
// Check recipe
Parent.CheckRecipe();
}
private void OnDragStart()
{
Parent.CurrentDragItem = this.Item;
Parent.Actions.Add(new CraftingAction { Action = "Drag Start", Item = this.Item, Index = this.Index });
Parent.Actions.Add(new ItemInInventory { Item = this.Item, Index = this.Index });
}
}
}

@ -2,9 +2,8 @@
namespace ProjetBlazor.Components
{
public class CraftingAction
public class ItemInInventory
{
public string Action { get; set; }
public int Index { get; set; }
public Item? Item { get; set; }

@ -2,10 +2,9 @@
namespace ProjetBlazor.Components
{
public class CraftingRecipe
public class ItemInventory
{
public Item Give { get; set; }
public List<List<string>> Have { get; set; }
}
}

@ -16,7 +16,6 @@
PageSize="10"
ShowPager
Responsive>
<DataGridColumn TItem="Item" Field="●" Caption="●"/>
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="Image">
<DisplayTemplate>
@if (!string.IsNullOrWhiteSpace(context.ImageBase64))

@ -0,0 +1,78 @@
using Blazored.Modal;
using Blazored.Modal.Services;
using Blazorise.DataGrid;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using Microsoft.JSInterop;
using ProjetBlazor.Modals;
using ProjetBlazor.Models;
using ProjetBlazor.Services;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
namespace ProjetBlazor.Components
{
public partial class ItemsList
{
public ItemsList()
{
Actions = new ObservableCollection<ItemInInventory>();
Actions.CollectionChanged += OnActionsCollectionChanged;
this.ItemsInventory= new List<Item> { null, null, null, null, null, null, null, null, null };
}
public ObservableCollection<ItemInInventory> Actions { get; set; }
public Item CurrentDragItem { get; set; }
[Parameter]
public List<Item> Items { get; set; }
public List<Item> ItemsInventory { get; set; }
/// <summary>
/// Gets or sets the java script runtime.
/// </summary>
[Inject]
internal IJSRuntime JavaScriptRuntime { get; set; }
private void OnActionsCollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
{
JavaScriptRuntime.InvokeVoidAsync("Crafting.AddActions", e.NewItems);
}
private List<Item>? items;
private int totalItem;
[Inject]
public IDataService DataService { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
[CascadingParameter]
public IModalService Modal { get; set; }
public object Action { get; internal set; }
private async Task OnReadData(DataGridReadDataEventArgs<Item> e)
{
if (e.CancellationToken.IsCancellationRequested)
{
return;
}
if (!e.CancellationToken.IsCancellationRequested)
{
items = await DataService.List(e.Page, e.PageSize);
totalItem = await DataService.Count();
}
}
}
}

@ -1,31 +0,0 @@
using Microsoft.AspNetCore.Localization;
using Microsoft.AspNetCore.Mvc;
namespace ProjetBlazor.Controllers
{
[Route("[controller]/[action]")]
public class CultureController : Controller
{
/// <summary>
/// Sets the culture.
/// </summary>
/// <param name="culture">The culture.</param>
/// <param name="redirectUri">The redirect URI.</param>
/// <returns>
/// The action result.
/// </returns>
public IActionResult SetCulture(string culture, string redirectUri)
{
if (culture != null)
{
// Define a cookie with the selected culture
this.HttpContext.Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(
new RequestCulture(culture)));
}
return this.LocalRedirect(redirectUri);
}
}
}

@ -1,70 +0,0 @@
@page "/add"
@using ProjetBlazor.Models;
<h3>Add</h3>
<EditForm Model="@itemModel" OnValidSubmit="@HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
<p>
<label for="display-name">
Nom d'affichage :
<InputText id="display-name" @bind-Value="itemModel.DisplayName" />
</label>
</p>
<p>
<label for="name">
Nom :
<InputText id="name" @bind-Value="itemModel.Name" />
</label>
</p>
<p>
<label for="stack-size">
Taille Stack :
<InputNumber id="stack-size" @bind-Value="itemModel.StackSize" />
</label>
</p>
<p>
<label for="max-durability">
Durabilité max :
<InputNumber id="max-durability" @bind-Value="itemModel.MaxDurability" />
</label>
</p>
<p>
Catégorie d'enchantement :
<div>
@foreach (var item in enchantCategories)
{
<label>
<input type="checkbox" @onchange="@(e => OnEnchantCategoriesChange(item, e.Value))" />@item
</label>
}
</div>
</p>
<p>
Réparable avec :
<div>
@foreach (var item in repairWith)
{
<label>
<input type="checkbox" @onchange="@(e => OnRepairWithChange(item, e.Value))" />@item
</label>
}
</div>
</p>
<p>
<label>
Image de l'item :
<InputFile OnChange="@LoadImage" accept=".png" />
</label>
</p>
<p>
<label>
Accepter les conditions :
<InputCheckbox @bind-Value="itemModel.AcceptCondition" />
</label>
</p>
<button type="submit">Valider</button>
</EditForm>

@ -1,89 +0,0 @@
using Blazored.LocalStorage;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components;
using ProjetBlazor.Models;
using ProjetBlazor.Services;
namespace ProjetBlazor.Pages
{
public partial class Add
{
/// <summary>
/// The default enchant categories.
/// </summary>
private List<string> enchantCategories = new List<String>() { "Armure ", "Casque ", "Plastron ", "Arme ", "Outils ", "Cassable ", "Non Enchantable " };
/// <summary>
/// The current item model
/// </summary>
private ItemModel itemModel = new ItemModel()
{
EnchantCategories = new List<string>(),
RepairWith = new List<string>()
};
/// <summary>
/// The default repair with.
/// </summary>
private List<string> repairWith = new List<string>() { "Bois ", "Fer ", "Or ", "Diamant ", "Ficelle ", "Même Item" };
[Inject]
public IDataService DataService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
private async void HandleValidSubmit()
{
await DataService.Add(itemModel);
NavigationManager.NavigateTo("list");
}
private async Task LoadImage(InputFileChangeEventArgs e)
{
// Set the content of the image to the model
using (var memoryStream = new MemoryStream())
{
await e.File.OpenReadStream().CopyToAsync(memoryStream);
itemModel.ImageContent = memoryStream.ToArray();
}
}
private void OnEnchantCategoriesChange(string item, object checkedValue)
{
if ((bool)checkedValue)
{
if (!itemModel.EnchantCategories.Contains(item))
{
itemModel.EnchantCategories.Add(item);
}
return;
}
if (itemModel.EnchantCategories.Contains(item))
{
itemModel.EnchantCategories.Remove(item);
}
}
private void OnRepairWithChange(string item, object checkedValue)
{
if ((bool)checkedValue)
{
if (!itemModel.RepairWith.Contains(item))
{
itemModel.RepairWith.Add(item);
}
return;
}
if (itemModel.RepairWith.Contains(item))
{
itemModel.RepairWith.Remove(item);
}
}
}
}

@ -1,75 +0,0 @@
@page "/edit/{Id:int}"
<h3>Edit</h3>
<EditForm Model="@itemModel" OnValidSubmit="@HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
<p>
<label for="display-name">
Nom d'affichage :
<InputText id="display-name" @bind-Value="itemModel.DisplayName" />
</label>
</p>
<p>
<label for="name">
Nom :
<InputText id="name" @bind-Value="itemModel.Name" />
</label>
</p>
<p>
<label for="stack-size">
Taille Stack :
<InputNumber id="stack-size" @bind-Value="itemModel.StackSize" />
</label>
</p>
<p>
<label for="max-durability">
Durabilité max :
<InputNumber id="max-durability" @bind-Value="itemModel.MaxDurability" />
</label>
</p>
<p>
Catégorie d'enchantement :
<div>
@foreach (var item in enchantCategories)
{
<label>
<input type="checkbox" @onchange="@(e => OnEnchantCategoriesChange(item, e.Value))" checked="@(itemModel.EnchantCategories.Contains(item) ? "checked" : null)" />@item
</label>
}
</div>
</p>
<p>
Réparable avec :
<div>
@foreach (var item in repairWith)
{
<label>
<input type="checkbox" @onchange="@(e => OnRepairWithChange(item, e.Value))" checked="@(itemModel.RepairWith.Contains(item) ? "checked" : null)" />@item
</label>
}
</div>
</p>
<p>
<label>
Current Item image:
<img src="data:image/png;base64, @(itemModel.ImageBase64)" class="img-thumbnail" title="@itemModel.DisplayName" alt="@itemModel.DisplayName" style="min-width: 50px; max-width: 150px" />
</label>
</p>
<p>
<label>
Image de l'item :
<InputFile OnChange="@LoadImage" accept=".png" />
</label>
</p>
<p>
<label>
Accepter les conditions :
<InputCheckbox @bind-Value="itemModel.AcceptCondition" />
</label>
</p>
<button type="submit">Valider</button>
</EditForm>

@ -1,110 +0,0 @@
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Forms;
using ProjetBlazor.Factories;
using ProjetBlazor.Models;
using ProjetBlazor.Services;
namespace ProjetBlazor.Pages
{
public partial class Edit
{
[Parameter]
public int Id { get; set; }
/// <summary>
/// The default enchant categories.
/// </summary>
private List<string> enchantCategories = new List<String>() { "Armure ", "Casque ", "Plastron ", "Arme ", "Outils ", "Cassable ", "Non Enchantable " };
/// <summary>
/// The current item model
/// </summary>
private ItemModel itemModel = new()
{
EnchantCategories = new List<string>(),
RepairWith = new List<string>()
};
/// <summary>
/// The default repair with.
/// </summary>
private List<string> repairWith = new List<string>() { "Bois ", "Fer ", "Or ", "Diamant ", "Ficelle ", "Même Item" };
[Inject]
public IDataService DataService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
protected override async Task OnInitializedAsync()
{
var item = await DataService.GetById(Id);
var fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/default.png");
if (File.Exists($"{WebHostEnvironment.WebRootPath}/images/{itemModel.Name}.png"))
{
fileContent = await File.ReadAllBytesAsync($"{WebHostEnvironment.WebRootPath}/images/{item.Name}.png");
}
// Set the model with the item
itemModel = ItemFactory.ToModel(item, fileContent);
}
private async void HandleValidSubmit()
{
await DataService.Update(Id, itemModel);
NavigationManager.NavigateTo("list");
}
private async Task LoadImage(InputFileChangeEventArgs e)
{
// Set the content of the image to the model
using (var memoryStream = new MemoryStream())
{
await e.File.OpenReadStream().CopyToAsync(memoryStream);
itemModel.ImageContent = memoryStream.ToArray();
}
}
private void OnEnchantCategoriesChange(string item, object checkedValue)
{
if ((bool)checkedValue)
{
if (!itemModel.EnchantCategories.Contains(item))
{
itemModel.EnchantCategories.Add(item);
}
return;
}
if (itemModel.EnchantCategories.Contains(item))
{
itemModel.EnchantCategories.Remove(item);
}
}
private void OnRepairWithChange(string item, object checkedValue)
{
if ((bool)checkedValue)
{
if (!itemModel.RepairWith.Contains(item))
{
itemModel.RepairWith.Add(item);
}
return;
}
if (itemModel.RepairWith.Contains(item))
{
itemModel.RepairWith.Remove(item);
}
}
}
}

@ -1,12 +1,12 @@
@using System.Globalization
@using Blazorise
@using ProjetBlazor.Components
@page "/"
@page "/Inventory"
<PageTitle>Inventory</PageTitle>
<div>
<Crafting Items="Items" Recipes="Recipes" />
<ItemsList Inventory="Inventory" Items="Items"/>
</div>

@ -5,14 +5,14 @@ using ProjetBlazor.Services;
namespace ProjetBlazor.Pages
{
public partial class Index
public partial class Inventory
{
[Inject]
public IDataService DataService { get; set; }
public List<Item> Items { get; set; } = new List<Item>();
private List<CraftingRecipe> Recipes { get; set; } = new List<CraftingRecipe>();
private List<ItemInventory> ItemInventory { get; set; } = new List<ItemInventory>();
protected override async Task OnAfterRenderAsync(bool firstRender)
{
@ -24,7 +24,6 @@ namespace ProjetBlazor.Pages
}
Items = await DataService.List(0, await DataService.Count());
Recipes = await DataService.GetRecipes();
StateHasChanged();
}

@ -1,53 +0,0 @@
@page "/list"
@using Models
<h3>@Localizer["Inventaire"]</h3>
<div>
<NavLink style="background-color : #3B8526; color : white; border-color :#3B8526 " class="btn btn-primary" href="Add" Match="NavLinkMatch.All">
<i class="fa fa-plus"></i> Ajouter
</NavLink>
</div>
<DataGrid TItem="Item"
Data="@items"
ReadData="@OnReadData"
TotalItems="@totalItem"
PageSize="10"
ShowPager
Responsive>
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="#" />
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="Image">
<DisplayTemplate>
@if (!string.IsNullOrWhiteSpace(context.ImageBase64))
{
<img src="data:image/png;base64, @(context.ImageBase64)" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style ="min-width: 50px; max-width: 150px" />
}
else
{
<img src="images/default.png" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="max-width: 150px" />
}
</DisplayTemplate>
</DataGridColumn>
<DataGridColumn TItem="Item" Field="@nameof(Item.DisplayName)" Caption="Nom" />
<DataGridColumn TItem="Item" Field="@nameof(Item.StackSize)" Caption="Taille Stack" />
<DataGridColumn TItem="Item" Field="@nameof(Item.MaxDurability)" Caption="Durabilité Max" />
<DataGridColumn TItem="Item" Field="@nameof(Item.EnchantCategories)" Caption="Catégories d'enchantement">
<DisplayTemplate>
@(string.Join(", ", ((Item)context).EnchantCategories))
</DisplayTemplate>
</DataGridColumn>
<DataGridColumn TItem="Item" Field="@nameof(Item.RepairWith)" Caption="Réparable avec">
<DisplayTemplate>
@(string.Join(", ", ((Item)context).RepairWith))
</DisplayTemplate>
</DataGridColumn>
<DataGridColumn TItem="Item" Field="@nameof(Item.CreatedDate)" Caption="Date de création" DisplayFormat="{0:d}" DisplayFormatProvider="@System.Globalization.CultureInfo.GetCultureInfo("fr-FR")" />
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="Action">
<DisplayTemplate>
<a style="background-color : #3B8526; color : white; border-color :#3B8526; margin-bottom : 5px" href="Edit/@(context.Id)" class="btn btn-primary"><i class="fa fa-edit"></i><t style="background-color : #3B8526; color : white"> Editer</t></a>
<button style="background-color : #3B8526; color : white; border-color :#3B8526 " type="button" class="btn btn-primary" @onclick="() => OnDelete(context.Id)"><i class="fa fa-trash"></i> Supprimer</button>
</DisplayTemplate>
</DataGridColumn>
</DataGrid>

@ -1,68 +0,0 @@
using Blazored.LocalStorage;
using Blazored.Modal;
using Blazored.Modal.Services;
using Blazorise.DataGrid;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using ProjetBlazor.Modals;
using ProjetBlazor.Models;
using ProjetBlazor.Services;
namespace ProjetBlazor.Pages
{
public partial class List
{
[Inject]
public IStringLocalizer<List> Localizer { get; set; }
private List<Item>? items;
private int totalItem;
[Inject]
public IDataService DataService { get; set; }
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
[CascadingParameter]
public IModalService Modal { get; set; }
private async Task OnReadData(DataGridReadDataEventArgs<Item> e)
{
if (e.CancellationToken.IsCancellationRequested)
{
return;
}
if (!e.CancellationToken.IsCancellationRequested)
{
items = await DataService.List(e.Page, e.PageSize);
totalItem = await DataService.Count();
}
}
private async void OnDelete(int id)
{
var parameters = new ModalParameters();
parameters.Add(nameof(Item.Id), id);
var modal = Modal.Show<DeleteConfirmation>("Delete Confirmation", parameters);
var result = await modal.Result;
if (result.Cancelled)
{
return;
}
await DataService.Delete(id);
// Reload the page
NavigationManager.NavigateTo("list", true);
}
}
}

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

@ -51,9 +51,9 @@ namespace ProjetBlazor.Services
await _http.DeleteAsync($"https://localhost:7234/api/Crafting/{id}");
}
public async Task<List<CraftingRecipe>> GetRecipes()
public async Task<List<ItemInventory>> GetInventory()
{
return await _http.GetFromJsonAsync<List<CraftingRecipe>>("https://localhost:7234/api/Crafting/recipe");
return await _http.GetFromJsonAsync<List<ItemInventory>>("https://localhost:7234/api/Crafting/recipe");
}
}
}

@ -174,19 +174,14 @@ namespace ProjetBlazor.Services
await _localStorage.SetItemAsync("data", currentData);
}
public Task<List<CraftingRecipe>> GetRecipes()
public Task<List<ItemInventory>> GetInventory()
{
var items = new List<CraftingRecipe>
var items = new List<ItemInventory>
{
new CraftingRecipe
new ItemInventory
{
Give = new Item { DisplayName = "Diamond", Name = "diamond" },
Have = new List<List<string>>
{
new List<string> { "dirt", "dirt", "dirt" },
new List<string> { "dirt", null, "dirt" },
new List<string> { "dirt", "dirt", "dirt" }
}
}
};

@ -17,6 +17,6 @@ namespace ProjetBlazor.Services
Task Delete(int id);
Task<List<CraftingRecipe>> GetRecipes();
Task<List<ItemInventory>> GetInventory();
}
}

@ -1,45 +0,0 @@
@using System.Globalization
@inject NavigationManager NavigationManager
<p>
<label>
<t>Select your language:</t>
<select @bind="Culture">
@foreach (var culture in supportedCultures)
{
<option value="@culture">@culture.DisplayName</option>
}
</select>
</label>
</p>
@code
{
private CultureInfo[] supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("fr-FR")
};
private CultureInfo Culture
{
get => CultureInfo.CurrentCulture;
set
{
if (CultureInfo.CurrentUICulture == value)
{
return;
}
var culture = value.Name.ToLower(CultureInfo.InvariantCulture);
var uri = new Uri(this.NavigationManager.Uri).GetComponents(UriComponents.PathAndQuery, UriFormat.Unescaped);
var query = $"?culture={Uri.EscapeDataString(culture)}&" + $"redirectUri={Uri.EscapeDataString(uri)}";
// Redirect the user to the culture controller to set the cookie
this.NavigationManager.NavigateTo("/Culture/SetCulture" + query, forceLoad: true);
}
}
}

@ -1,3 +0,0 @@
t {
color : whitesmoke;
}

@ -3,17 +3,12 @@
<PageTitle>ProjetBlazor</PageTitle>
<div class="page">
<div class="sidebar">
<NavMenu />
</div>
<main>
<div class="top-row px-4">
<img src="/images/minecraft.png" height="31px"/>
<a href="https://www.minecraft.net/fr-fr" target="_blank">Minecraft Website</a>
<div class="px-4">
<CultureSelector />
</div>
</div>
<article class="content px-4">

@ -1,34 +0,0 @@
<div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid">
<img src="/images/minecraft.png" height="31px"/>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Inventaire
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="list">
<span class="oi oi-list-rich" aria-hidden="true"></span> Liste des Items
</NavLink>
</div>
</nav>
</div>
@code {
private bool collapseNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
}

@ -1,62 +0,0 @@
.navbar-toggler {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row {
height: 3.5rem;
background-color: #3B8526;
}
.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: #171615;
color: white;
}
.nav-item ::deep a:hover {
background-color:#171615;
color: white;
}
@media (min-width: 641px) {
.navbar-toggler {
display: none;
}
.collapse {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

@ -1,16 +0,0 @@
<div class="alert alert-secondary mt-4">
<span class="oi oi-pencil me-2" aria-hidden="true"></span>
<strong>@Title</strong>
<span class="text-nowrap">
Please take our
<a target="_blank" class="font-weight-bold link-dark" href="https://go.microsoft.com/fwlink/?linkid=2149017">brief survey</a>
</span>
and tell us what you think.
</div>
@code {
// Demonstrates how a parent component can supply parameters
[Parameter]
public string? Title { get; set; }
}

@ -20,11 +20,6 @@
},
"runtime": {
"ProjetBlazor.dll": {}
},
"resources": {
"fr-FR/ProjetBlazor.resources.dll": {
"locale": "fr-FR"
}
}
},
"Blazored.LocalStorage/4.3.0": {

File diff suppressed because one or more lines are too long

@ -20,54 +20,30 @@ build_property._RazorSourceGeneratorDebug =
build_metadata.AdditionalFiles.TargetPath = QXBwLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Modals/DeleteConfirmation.razor]
build_metadata.AdditionalFiles.TargetPath = TW9kYWxzXERlbGV0ZUNvbmZpcm1hdGlvbi5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Pages/Add.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQWRkLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Pages/Edit.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcRWRpdC5yYXpvcg==
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Components/GetItemInInventory.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xHZXRJdGVtSW5JbnZlbnRvcnkucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Pages/Index.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcSW5kZXgucmF6b3I=
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Components/ItemsList.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xJdGVtc0xpc3QucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Pages/List.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcTGlzdC5yYXpvcg==
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Modals/DeleteConfirmation.razor]
build_metadata.AdditionalFiles.TargetPath = TW9kYWxzXERlbGV0ZUNvbmZpcm1hdGlvbi5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Shared/SurveyPrompt.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXFN1cnZleVByb21wdC5yYXpvcg==
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Pages/Inventory.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcSW52ZW50b3J5LnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = X0ltcG9ydHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Components/Crafting.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xDcmFmdGluZy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope = b-c5pe2f0rgk
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Components/CraftingItem.razor]
build_metadata.AdditionalFiles.TargetPath = Q29tcG9uZW50c1xDcmFmdGluZ0l0ZW0ucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-au53a972a0
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Shared/CultureSelector.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXEN1bHR1cmVTZWxlY3Rvci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope = b-c86f565ybb
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Shared/MainLayout.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXE1haW5MYXlvdXQucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-6fq4tjte4h
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Shared/NavMenu.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXE5hdk1lbnUucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-kggv4tdhwh
[C:/Users/Dorian/Documents/Blazor/Code/ProjetBlazor/Pages/Error.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcRXJyb3IuY3NodG1s
build_metadata.AdditionalFiles.CssScope =

@ -1 +1 @@
23d3138046335a8c8f03ebb1ed1a665d5ca0e63d
f933fda716cfd53fcaf7cf10a863274c5b653351

@ -65,7 +65,6 @@ C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\staticwebass
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\staticwebassets.pack.json
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\staticwebassets.build.json
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\staticwebassets.development.json
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\scopedcss\Shared\NavMenu.razor.rz.scp.css
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\scopedcss\bundle\ProjetBlazor.styles.css
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\scopedcss\projectbundle\ProjetBlazor.bundle.scp.css
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\ProjetBlazor.csproj.CopyComplete
@ -82,14 +81,7 @@ C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\Microsoft.Ex
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\Microsoft.Extensions.Localization.Abstractions.dll
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\Microsoft.Extensions.Options.dll
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\Microsoft.Extensions.Primitives.dll
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\fr-FR\ProjetBlazor.resources.dll
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\ProjetBlazor.Resources.Pages.List.fr-FR.resources
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\ProjetBlazor.csproj.GenerateResource.cache
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\fr-FR\ProjetBlazor.resources.dll
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\scopedcss\Components\Crafting.razor.rz.scp.css
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\scopedcss\Components\CraftingItem.razor.rz.scp.css
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\scopedcss\Shared\MainLayout.razor.rz.scp.css
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\obj\Debug\net6.0\scopedcss\Shared\CultureSelector.razor.rz.scp.css
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\Microsoft.Extensions.Configuration.dll
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\Microsoft.Extensions.Configuration.Abstractions.dll
C:\Users\Dorian\Documents\Blazor\Code\ProjetBlazor\bin\Debug\net6.0\Microsoft.Extensions.Configuration.Binder.dll

File diff suppressed because one or more lines are too long

@ -1,16 +0,0 @@
.css-grid[b-c5pe2f0rgk] {
display: grid;
}
.css-recipe[b-c5pe2f0rgk] {
grid-template-columns: repeat(9,minmax(0,1fr));
gap: 10px;
display: grid;
width: 600px;
}
.actions[b-c5pe2f0rgk] {
border: 1px solid black;
height: 250px;
overflow: scroll;
}

@ -1,6 +0,0 @@
.item[b-au53a972a0] {
width: 64px;
height: 64px;
border: 1px solid;
overflow: hidden;
}

@ -1,62 +0,0 @@
.navbar-toggler[b-kggv4tdhwh] {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row[b-kggv4tdhwh] {
height: 3.5rem;
background-color: #3B8526;
}
.navbar-brand[b-kggv4tdhwh] {
font-size: 1.1rem;
}
.oi[b-kggv4tdhwh] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-kggv4tdhwh] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-kggv4tdhwh] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-kggv4tdhwh] {
padding-bottom: 1rem;
}
.nav-item[b-kggv4tdhwh] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item[b-kggv4tdhwh] a.active {
background-color: #171615;
color: white;
}
.nav-item[b-kggv4tdhwh] a:hover {
background-color:#171615;
color: white;
}
@media (min-width: 641px) {
.navbar-toggler[b-kggv4tdhwh] {
display: none;
}
.collapse[b-kggv4tdhwh] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

@ -1,33 +1,5 @@
@import '_content/Blazored.Modal/Blazored.Modal.bundle.scp.css';
/* _content/ProjetBlazor/Components/Crafting.razor.rz.scp.css */
.css-grid[b-c5pe2f0rgk] {
display: grid;
}
.css-recipe[b-c5pe2f0rgk] {
grid-template-columns: repeat(9,minmax(0,1fr));
gap: 10px;
display: grid;
width: 600px;
}
.actions[b-c5pe2f0rgk] {
border: 1px solid black;
height: 250px;
overflow: scroll;
}
/* _content/ProjetBlazor/Components/CraftingItem.razor.rz.scp.css */
.item[b-au53a972a0] {
width: 64px;
height: 64px;
border: 1px solid;
overflow: hidden;
}
/* _content/ProjetBlazor/Shared/CultureSelector.razor.rz.scp.css */
t[b-c86f565ybb] {
color : whitesmoke;
}
/* _content/ProjetBlazor/Shared/MainLayout.razor.rz.scp.css */
.page[b-6fq4tjte4h] {
position: relative;
@ -100,66 +72,3 @@ main[b-6fq4tjte4h] {
padding-right: 1.5rem !important;
}
}
/* _content/ProjetBlazor/Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-kggv4tdhwh] {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row[b-kggv4tdhwh] {
height: 3.5rem;
background-color: #3B8526;
}
.navbar-brand[b-kggv4tdhwh] {
font-size: 1.1rem;
}
.oi[b-kggv4tdhwh] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-kggv4tdhwh] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-kggv4tdhwh] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-kggv4tdhwh] {
padding-bottom: 1rem;
}
.nav-item[b-kggv4tdhwh] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item[b-kggv4tdhwh] a.active {
background-color: #171615;
color: white;
}
.nav-item[b-kggv4tdhwh] a:hover {
background-color:#171615;
color: white;
}
@media (min-width: 641px) {
.navbar-toggler[b-kggv4tdhwh] {
display: none;
}
.collapse[b-kggv4tdhwh] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

@ -1,31 +1,3 @@
/* _content/ProjetBlazor/Components/Crafting.razor.rz.scp.css */
.css-grid[b-c5pe2f0rgk] {
display: grid;
}
.css-recipe[b-c5pe2f0rgk] {
grid-template-columns: repeat(9,minmax(0,1fr));
gap: 10px;
display: grid;
width: 600px;
}
.actions[b-c5pe2f0rgk] {
border: 1px solid black;
height: 250px;
overflow: scroll;
}
/* _content/ProjetBlazor/Components/CraftingItem.razor.rz.scp.css */
.item[b-au53a972a0] {
width: 64px;
height: 64px;
border: 1px solid;
overflow: hidden;
}
/* _content/ProjetBlazor/Shared/CultureSelector.razor.rz.scp.css */
t[b-c86f565ybb] {
color : whitesmoke;
}
/* _content/ProjetBlazor/Shared/MainLayout.razor.rz.scp.css */
.page[b-6fq4tjte4h] {
position: relative;
@ -98,66 +70,3 @@ main[b-6fq4tjte4h] {
padding-right: 1.5rem !important;
}
}
/* _content/ProjetBlazor/Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-kggv4tdhwh] {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row[b-kggv4tdhwh] {
height: 3.5rem;
background-color: #3B8526;
}
.navbar-brand[b-kggv4tdhwh] {
font-size: 1.1rem;
}
.oi[b-kggv4tdhwh] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-kggv4tdhwh] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-kggv4tdhwh] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-kggv4tdhwh] {
padding-bottom: 1rem;
}
.nav-item[b-kggv4tdhwh] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item[b-kggv4tdhwh] a.active {
background-color: #171615;
color: white;
}
.nav-item[b-kggv4tdhwh] a:hover {
background-color:#171615;
color: white;
}
@media (min-width: 641px) {
.navbar-toggler[b-kggv4tdhwh] {
display: none;
}
.collapse[b-kggv4tdhwh] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

@ -1,6 +1,6 @@
{
"Version": 1,
"Hash": "QZYga8bH6MF+YaIm22ecNG41J4s9SfXPY899QRyxN9Q=",
"Hash": "YymTMCeFxk/Mg5hVY77l1jSMPgaFdx5P4+jc4BRFNwk=",
"Source": "ProjetBlazor",
"BasePath": "_content/ProjetBlazor",
"Mode": "Default",
@ -713,23 +713,6 @@
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "C:\\Users\\Dorian\\.nuget\\packages\\blazorise\\1.1.4.1\\staticwebassets\\vendors\\Pickr.js"
},
{
"Identity": "C:\\Users\\Dorian\\Documents\\Blazor\\Code\\ProjetBlazor\\Components\\Crafting.razor.js",
"SourceId": "ProjetBlazor",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\Dorian\\Documents\\Blazor\\Code\\ProjetBlazor\\",
"BasePath": "_content/ProjetBlazor",
"RelativePath": "Components/Crafting.razor.js",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "Components\\Crafting.razor.js"
},
{
"Identity": "C:\\Users\\Dorian\\Documents\\Blazor\\Code\\ProjetBlazor\\obj\\Debug\\net6.0\\scopedcss\\bundle\\ProjetBlazor.styles.css",
"SourceId": "ProjetBlazor",

File diff suppressed because one or more lines are too long

@ -1,9 +1,5 @@
{
"Files": [
{
"Id": "C:\\Users\\Dorian\\Documents\\Blazor\\Code\\ProjetBlazor\\Components\\Crafting.razor.js",
"PackagePath": "staticwebassets\\Components\\Crafting.razor.js"
},
{
"Id": "C:\\Users\\Dorian\\Documents\\Blazor\\Code\\ProjetBlazor\\obj\\Debug\\net6.0\\scopedcss\\projectbundle\\ProjetBlazor.bundle.scp.css",
"PackagePath": "staticwebassets\\ProjetBlazor.bundle.scp.css"

@ -32,22 +32,6 @@
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\appsettings.json))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\Components\Crafting.razor.js))">
<SourceType>Package</SourceType>
<SourceId>ProjetBlazor</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/ProjetBlazor</BasePath>
<RelativePath>Components/Crafting.razor.js</RelativePath>
<AssetKind>All</AssetKind>
<AssetMode>All</AssetMode>
<AssetRole>Primary</AssetRole>
<RelatedAsset></RelatedAsset>
<AssetTraitName></AssetTraitName>
<AssetTraitValue></AssetTraitValue>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\Components\Crafting.razor.js))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\bootstrap\bootstrap.min.css))">
<SourceType>Package</SourceType>
<SourceId>ProjetBlazor</SourceId>

Loading…
Cancel
Save