Page Tokens terminé, Mise en place + Page Token traduite

WORK-APE
Antoine PINAGOT 1 year ago
parent e6eca87193
commit a098e11154

@ -0,0 +1,34 @@
namespace HeartTrack.Controllers
{
using Microsoft.AspNetCore.Localization;
using Microsoft.AspNetCore.Mvc;
/// <summary>
/// The culture controller.
/// </summary>
[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,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>
@ -6,4 +6,11 @@
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<PackageReference Include="Blazorise.Bootstrap" Version="1.4.0" />
<PackageReference Include="Blazorise.DataGrid" Version="1.4.0" />
<PackageReference Include="Blazorise.Icons.FontAwesome" Version="1.4.0" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.1" />
</ItemGroup>
</Project> </Project>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RazorPage_SelectedScaffolderID>RazorPageScaffolder</RazorPage_SelectedScaffolderID>
<RazorPage_SelectedScaffolderCategoryPath>root/Common/RazorPage</RazorPage_SelectedScaffolderCategoryPath>
</PropertyGroup>
</Project>

@ -1,9 +1,9 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 17
VisualStudioVersion = 25.0.1706.7 VisualStudioVersion = 17.8.34330.188
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeartTrack", "HeartTrack.csproj", "{17956D4F-7446-434C-8987-6B10A1FC66E8}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HeartTrack", "HeartTrack.csproj", "{17956D4F-7446-434C-8987-6B10A1FC66E8}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

@ -0,0 +1,16 @@
namespace HeartTrack.Models
{
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Nom { get; set; }
public string Prenom { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public string Sexe { get; set; }
public float Taille { get; set; }
public float Poids { get; set; }
public DateTime BirthDate { get; set; }
}
}

@ -0,0 +1,10 @@
@page "/activities"
<PageTitle>Activities</PageTitle>
<h1>Activity list</h1>
This is the activity list of users.
<SurveyPrompt Title="How is Blazor working for you?" />

@ -0,0 +1,11 @@
@page "/banned-users"
<PageTitle>Banned Users</PageTitle>
<h1>Banned Users</h1>
This is banned users list of this website.
<SurveyPrompt Title="How is Blazor working for you?" />

@ -1,19 +0,0 @@
@page "/counter"
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
}

@ -1,10 +1,16 @@
@page "/" @page "/"
@using System.Globalization
<PageTitle>Index</PageTitle> <PageTitle>Global View</PageTitle>
<h1>Hello, world!</h1> <h1>Global View</h1>
Welcome to your new app. This is the global statistics of our website.
Actual language:
<p>
<b>CurrentCulture</b>: @CultureInfo.CurrentCulture
</p>
<SurveyPrompt Title="How is Blazor working for you?" /> <SurveyPrompt Title="How is Blazor working for you?" />

@ -0,0 +1,10 @@
@page "/reports"
<PageTitle>Reports</PageTitle>
<h1>Report list</h1>
This is the report list of users.
<SurveyPrompt Title="How is Blazor working for you?" />

@ -0,0 +1,10 @@
@page "/tickets"
<PageTitle>Tickets</PageTitle>
<h1>Tickets list</h1>
This is the ticket list of users.
<SurveyPrompt Title="How is Blazor working for you?" />

@ -0,0 +1,26 @@
@page "/tokens"
@using HeartTrack.Models
<PageTitle>Tokens</PageTitle>
<h1>@Localizer["Title"]</h1>
<p>
@Localizer["Description"]
</p>
<DataGrid TItem="User"
Data="@users"
ReadData="@OnReadData"
TotalItems="@totalUser"
PageSize="10"
ShowPager
Responsive>
<DataGridColumn TItem="User" Field="@nameof(User.Id)" Caption="Id" />
<DataGridColumn TItem="User" Field="@nameof(User.Username)" Caption="@Localizer["Username"]" />
<DataGridColumn TItem="User" Field="@nameof(User.Nom)" Caption="@Localizer["FirstN"]" />
<DataGridColumn TItem="User" Field="@nameof(User.Prenom)" Caption="@Localizer["LastN"]" />
<DataGridColumn TItem="User" Field="@nameof(User.Password)" Caption="@Localizer["Password"]" />
</DataGrid>

@ -0,0 +1,44 @@
using Blazorise;
using Blazorise.DataGrid;
using HeartTrack.Models;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using System.Collections.Generic;
using static System.Net.WebRequestMethods;
namespace HeartTrack.Pages
{
public partial class Tokens
{
private List<User> users;
private int totalUser;
[Inject]
public HttpClient Http { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
[Inject]
public IStringLocalizer<Tokens> Localizer { get; set; }
private async Task OnReadData(DataGridReadDataEventArgs<User> e)
{
if (e.CancellationToken.IsCancellationRequested)
{
return;
}
// When you use a real API, we use this follow code
//var response = await Http.GetJsonAsync<Item[]>( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" );
var response = (await Http.GetFromJsonAsync<User[]>($"{NavigationManager.BaseUri}fake-data.json")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList();
if (!e.CancellationToken.IsCancellationRequested)
{
totalUser = (await Http.GetFromJsonAsync<List<User>>($"{NavigationManager.BaseUri}fake-data.json")).Count;
users = new List<User>(response); // an actual data for the current page
}
}
}
}

@ -28,6 +28,10 @@
</div> </div>
<script src="_framework/blazor.server.js"></script> <script src="_framework/blazor.server.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css">
<link href="_content/Blazorise/blazorise.css" rel="stylesheet" />
<link href="_content/Blazorise.Bootstrap/blazorise.bootstrap.css" rel="stylesheet" />
</body> </body>
</html> </html>

@ -1,6 +1,12 @@
using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.Web;
using HeartTrack.Data; using HeartTrack.Data;
using Blazorise;
using Blazorise.Bootstrap;
using Blazorise.Icons.FontAwesome;
using Microsoft.AspNetCore.Localization;
using System.Globalization;
using Microsoft.Extensions.Options;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
@ -9,6 +15,29 @@ builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor(); builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WeatherForecastService>(); builder.Services.AddSingleton<WeatherForecastService>();
builder.Services.AddHttpClient();
builder.Services.AddBlazorise()
.AddBootstrapProviders()
.AddFontAwesomeIcons();
// Add the controller of the app
builder.Services.AddControllers();
// Add the localization to the app and specify the resources path
builder.Services.AddLocalization(opts => { opts.ResourcesPath = "Resources"; });
// Configure the localtization
builder.Services.Configure<RequestLocalizationOptions>(options =>
{
// Set the default culture of the web site
options.DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US"));
// Declare the supported culture
options.SupportedCultures = new List<CultureInfo> { new CultureInfo("en-US"), new CultureInfo("fr-FR") };
options.SupportedUICultures = new List<CultureInfo> { new CultureInfo("en-US"), new CultureInfo("fr-FR") };
});
var app = builder.Build(); var app = builder.Build();
// Configure the HTTP request pipeline. // Configure the HTTP request pipeline.
@ -25,6 +54,21 @@ app.UseStaticFiles();
app.UseRouting(); app.UseRouting();
// Get the current localization options
var options = ((IApplicationBuilder)app).ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>();
if (options?.Value != null)
{
// use the default localization
app.UseRequestLocalization(options.Value);
}
// Add the controller to the endpoint
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.MapBlazorHub(); app.MapBlazorHub();
app.MapFallbackToPage("/_Host"); app.MapFallbackToPage("/_Host");

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Description" xml:space="preserve">
<value>Cette page regroupe la liste des jetons (nom utilisateur et le mot de passe) du site.</value>
</data>
<data name="FirstN" xml:space="preserve">
<value>Nom de famille</value>
</data>
<data name="LastN" xml:space="preserve">
<value>Prénom</value>
</data>
<data name="Password" xml:space="preserve">
<value>Mot de passe</value>
</data>
<data name="Title" xml:space="preserve">
<value>Jetons utilisateurs</value>
</data>
<data name="Username" xml:space="preserve">
<value>Nom d'utilisateur</value>
</data>
</root>

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Description" xml:space="preserve">
<value>This is the token list of users.</value>
</data>
<data name="FirstN" xml:space="preserve">
<value>First name</value>
</data>
<data name="LastN" xml:space="preserve">
<value>Last name</value>
</data>
<data name="Password" xml:space="preserve">
<value>Password</value>
</data>
<data name="Title" xml:space="preserve">
<value>User token</value>
</data>
<data name="Username" xml:space="preserve">
<value>Username</value>
</data>
</root>

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Activity" xml:space="preserve">
<value>Activité</value>
</data>
<data name="Ban" xml:space="preserve">
<value>Utilisateurs bannis</value>
</data>
<data name="Global" xml:space="preserve">
<value>Vue d'ensemble</value>
</data>
<data name="Report" xml:space="preserve">
<value>Signalement</value>
</data>
<data name="Ticket" xml:space="preserve">
<value>Ticket utilisateur</value>
</data>
<data name="Token" xml:space="preserve">
<value>Jetons d'utilisateurs</value>
</data>
</root>

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Activity" xml:space="preserve">
<value>Activities</value>
</data>
<data name="Ban" xml:space="preserve">
<value>Ban users</value>
</data>
<data name="Global" xml:space="preserve">
<value>Global view</value>
</data>
<data name="Report" xml:space="preserve">
<value>Reports</value>
</data>
<data name="Ticket" xml:space="preserve">
<value>Tickets</value>
</data>
<data name="Token" xml:space="preserve">
<value>Tokens</value>
</data>
</root>

@ -0,0 +1,42 @@
@using System.Globalization
@inject NavigationManager NavigationManager
<p>
<label>
<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);
}
}
}

@ -3,13 +3,21 @@
<PageTitle>HeartTrack</PageTitle> <PageTitle>HeartTrack</PageTitle>
<div class="page"> <div class="page">
<div class="sidebar"> <div class="sidebar @NavMenuCssClass" @onclick="ToggleNavMenu">
<NavMenu /> <NavMenu />
</div> </div>
<main> <main>
<div class="top-row px-4"> <div class="top-row px-4 auth">
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a> <div class="container-fluid toggler-container">
<button title="Navigation menu" class="navbar-toggler custom-toggler" @onclick="ToggleNavMenu">
<span class="navbat-toggler-icon"></span>
</button>
</div>
@* Messages, notifs et pp compte à mettre *@
<div class="px-4">
<CultureSelector />
</div>
</div> </div>
<article class="content px-4"> <article class="content px-4">
@ -18,3 +26,13 @@
</main> </main>
</div> </div>
@code {
private bool collapseNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
}

@ -1,40 +1,40 @@
<div class="top-row ps-3 navbar navbar-dark"> <div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid"> <div class="container-fluid">
<a class="navbar-brand" href="">HeartTrack</a> <a class="navbar-brand" href="">@Localizer["Panel"]</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div> </div>
</div> </div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu"> <div>
<nav class="flex-column"> <nav class="flex-column">
<div class="nav-item px-3"> <div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All"> <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home <span class="oi oi-home" aria-hidden="true"></span> @Localizer["Global"]
</NavLink> </NavLink>
</div> </div>
<div class="nav-item px-3"> <div class="nav-item px-3">
<NavLink class="nav-link" href="counter"> <NavLink class="nav-link" href="tickets">
<span class="oi oi-plus" aria-hidden="true"></span> Counter <span class="oi oi-plus" aria-hidden="true"></span> @Localizer["Ticket"]
</NavLink> </NavLink>
</div> </div>
<div class="nav-item px-3"> <div class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata"> <NavLink class="nav-link" href="reports">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data <span class="oi oi-list-rich" aria-hidden="true"></span> @Localizer["Report"]
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="activities">
<span class="oi oi-list-rich" aria-hidden="true"></span> @Localizer["Activity"]
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="banned-users">
<span class="oi oi-list-rich" aria-hidden="true"></span> @Localizer["Ban"]
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="tokens">
<span class="oi oi-list-rich" aria-hidden="true"></span> @Localizer["Tokens"]
</NavLink> </NavLink>
</div> </div>
</nav> </nav>
</div> </div>
@code {
private bool collapseNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
}

@ -0,0 +1,12 @@
using HeartTrack.Pages;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
namespace HeartTrack.Shared
{
public partial class NavMenu
{
[Inject]
public IStringLocalizer<Tokens> Localizer { get; set; }
}
}

@ -1,16 +1,19 @@
.navbar-toggler { /* Bouton rétrécicement de menu */
background-color: rgba(255, 255, 255, 0.1); .navbar-toggler {
background-color: black;
} }
/* En-tête */
.top-row { .top-row {
height: 3.5rem; height: 3.5rem;
background-color: rgba(0,0,0,0.4); background-color: darkblue;
} }
.navbar-brand { .navbar-brand {
font-size: 1.1rem; font-size: 1.1rem;
} }
/* Icons */
.oi { .oi {
width: 2rem; width: 2rem;
font-size: 1.1rem; font-size: 1.1rem;
@ -40,19 +43,22 @@
line-height: 3rem; line-height: 3rem;
} }
/* Rectangle items*/
.nav-item ::deep a.active { .nav-item ::deep a.active {
background-color: rgba(255,255,255,0.25); background-color: black;
color: white; color: white;
} }
/* Hover des items */
.nav-item ::deep a:hover { .nav-item ::deep a:hover {
background-color: rgba(255,255,255,0.1); background-color: rgba(255,255,255,0.1);
color: white; color: white;
} }
@media (min-width: 641px) { @media (min-width: 641px) {
/* Activer ou non le bouton défilement menu*/
.navbar-toggler { .navbar-toggler {
display: none; display: block;
} }
.collapse { .collapse {

@ -8,4 +8,4 @@
@using Microsoft.JSInterop @using Microsoft.JSInterop
@using HeartTrack @using HeartTrack
@using HeartTrack.Shared @using HeartTrack.Shared
@using Blazorise.DataGrid

File diff suppressed because it is too large Load Diff

@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "6.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,10 @@
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

@ -0,0 +1,10 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

@ -1,9 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // Ce code a été généré par un outil.
// Version du runtime :4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// the code is regenerated. // le code est régénéré.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -13,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("HeartTrack")] [assembly: System.Reflection.AssemblyCompanyAttribute("HeartTrack")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e6eca871930a2077a38dceded406de68248059ea")]
[assembly: System.Reflection.AssemblyProductAttribute("HeartTrack")] [assembly: System.Reflection.AssemblyProductAttribute("HeartTrack")]
[assembly: System.Reflection.AssemblyTitleAttribute("HeartTrack")] [assembly: System.Reflection.AssemblyTitleAttribute("HeartTrack")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
38cc9ccf40333f347fc65f7d395d082767aa7d5d d30ed4a3a42cee40f2ca209ab170f57dc5eeac4fd8080332dd4fcbae3a663d09

@ -9,53 +9,75 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = HeartTrack build_property.RootNamespace = HeartTrack
build_property.RootNamespace = HeartTrack build_property.RootNamespace = HeartTrack
build_property.ProjectDir = /Users/Perederii/SAE/git/Admin/Sources/HeartTrack/ build_property.ProjectDir = C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.RazorLangVersion = 6.0 build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames = build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes = build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = /Users/Perederii/SAE/git/Admin/Sources/HeartTrack build_property.MSBuildProjectDirectory = C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack
build_property._RazorSourceGeneratorDebug = build_property._RazorSourceGeneratorDebug =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/App.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/App.razor]
build_metadata.AdditionalFiles.TargetPath = QXBwLnJhem9y build_metadata.AdditionalFiles.TargetPath = QXBwLnJhem9y
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Pages/Counter.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Activities.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvQ291bnRlci5yYXpvcg== build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQWN0aXZpdGllcy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Pages/FetchData.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/BannedUsers.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvRmV0Y2hEYXRhLnJhem9y build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQmFubmVkVXNlcnMucmF6b3I=
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Pages/Index.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/FetchData.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvSW5kZXgucmF6b3I= build_metadata.AdditionalFiles.TargetPath = UGFnZXNcRmV0Y2hEYXRhLnJhem9y
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Shared/SurveyPrompt.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Index.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkL1N1cnZleVByb21wdC5yYXpvcg== build_metadata.AdditionalFiles.TargetPath = UGFnZXNcSW5kZXgucmF6b3I=
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/_Imports.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Reports.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcUmVwb3J0cy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Tickets.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcVGlja2V0cy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Tokens.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcVG9rZW5zLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Shared/CultureSelector.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXEN1bHR1cmVTZWxlY3Rvci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Shared/SurveyPrompt.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXFN1cnZleVByb21wdC5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = X0ltcG9ydHMucmF6b3I= build_metadata.AdditionalFiles.TargetPath = X0ltcG9ydHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Shared/MainLayout.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Shared/MainLayout.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkL01haW5MYXlvdXQucmF6b3I= build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXE1haW5MYXlvdXQucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-qmqi31untx build_metadata.AdditionalFiles.CssScope = b-ts9d0a3b1i
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Shared/NavMenu.razor] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Shared/NavMenu.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkL05hdk1lbnUucmF6b3I= build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXE5hdk1lbnUucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-0uf983aptq build_metadata.AdditionalFiles.CssScope = b-57l1plxqa0
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Pages/Error.cshtml] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Error.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvRXJyb3IuY3NodG1s build_metadata.AdditionalFiles.TargetPath = UGFnZXNcRXJyb3IuY3NodG1s
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Pages/_Host.cshtml] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/_Host.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0hvc3QuY3NodG1s build_metadata.AdditionalFiles.TargetPath = UGFnZXNcX0hvc3QuY3NodG1s
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =
[/Users/Perederii/SAE/git/Admin/Sources/HeartTrack/Pages/_Layout.cshtml] [C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/_Layout.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXMvX0xheW91dC5jc2h0bWw= build_metadata.AdditionalFiles.TargetPath = UGFnZXNcX0xheW91dC5jc2h0bWw=
build_metadata.AdditionalFiles.CssScope = build_metadata.AdditionalFiles.CssScope =

@ -1 +1 @@
5860763757f4f08c7ebdea1b3a94a18109f17861 d5ac7ab69059af111e9d7125adeb7b174ca570725d4b64a544cca7bd11ac7ca0

@ -1,9 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // Ce code a été généré par un outil.
// Version du runtime :4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// the code is regenerated. // le code est régénéré.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

@ -0,0 +1 @@
c63d2a571d8336634ecbf160550214c50149e1f4299792f26181df7f54f2a67c

@ -0,0 +1,60 @@
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\appsettings.Development.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\appsettings.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\HeartTrack.staticwebassets.runtime.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\HeartTrack.exe
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\HeartTrack.deps.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\HeartTrack.runtimeconfig.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\HeartTrack.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\HeartTrack.pdb
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.AssemblyInfoInputs.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.AssemblyInfo.cs
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.csproj.CoreCompileInputs.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.MvcApplicationPartsAssemblyInfo.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.RazorAssemblyInfo.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.RazorAssemblyInfo.cs
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\staticwebassets.build.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\staticwebassets.development.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\staticwebassets\msbuild.HeartTrack.Microsoft.AspNetCore.StaticWebAssets.props
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\staticwebassets\msbuild.build.HeartTrack.props
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\staticwebassets\msbuild.buildMultiTargeting.HeartTrack.props
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\staticwebassets\msbuild.buildTransitive.HeartTrack.props
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\staticwebassets.pack.json
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\scopedcss\Shared\MainLayout.razor.rz.scp.css
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\scopedcss\Shared\NavMenu.razor.rz.scp.css
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\scopedcss\bundle\HeartTrack.styles.css
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\scopedcss\projectbundle\HeartTrack.bundle.scp.css
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\refint\HeartTrack.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.pdb
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.genruntimeconfig.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\ref\HeartTrack.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Blazorise.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Blazorise.Bootstrap.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Blazorise.DataGrid.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Blazorise.Icons.FontAwesome.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Blazorise.Licensing.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\DeepCloner.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.AspNetCore.Authorization.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.AspNetCore.Components.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.AspNetCore.Components.Forms.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.AspNetCore.Components.Web.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.AspNetCore.Metadata.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.Extensions.DependencyInjection.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.JSInterop.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\System.IO.Pipelines.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.csproj.AssemblyReference.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.csproj.CopyComplete
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.Extensions.Localization.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.Extensions.Localization.Abstractions.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.Extensions.Options.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.Extensions.Primitives.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\fr-FR\HeartTrack.resources.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.Resources.Pages.Tokens.resources
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.Resources.Pages.Tokens.fr-FR.resources
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.csproj.GenerateResource.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\fr-FR\HeartTrack.resources.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.Resources.Shared.NavMenu.resources
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.Resources.Shared.NavMenu.fr-FR.resources

@ -0,0 +1 @@
b697da2d2ec0b83741efb99944ab2bb34ef0e8e826aafab9bced5b852431d007

@ -0,0 +1,71 @@
.page[b-ts9d0a3b1i] {
position: relative;
display: flex;
flex-direction: column;
}
main[b-ts9d0a3b1i] {
flex: 1;
}
.sidebar[b-ts9d0a3b1i] {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row[b-ts9d0a3b1i] {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row[b-ts9d0a3b1i] a, .top-row .btn-link[b-ts9d0a3b1i] {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child[b-ts9d0a3b1i] {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth)[b-ts9d0a3b1i] {
display: none;
}
.top-row.auth[b-ts9d0a3b1i] {
justify-content: space-between;
}
.top-row a[b-ts9d0a3b1i], .top-row .btn-link[b-ts9d0a3b1i] {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page[b-ts9d0a3b1i] {
flex-direction: row;
}
.sidebar[b-ts9d0a3b1i] {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row[b-ts9d0a3b1i] {
position: sticky;
top: 0;
z-index: 1;
}
.top-row[b-ts9d0a3b1i], article[b-ts9d0a3b1i] {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}

@ -0,0 +1,69 @@
/* Bouton rétrécicement de menu */
.navbar-toggler[b-57l1plxqa0] {
background-color: black;
}
/* En-tête */
.top-row[b-57l1plxqa0] {
height: 3.5rem;
background-color: darkblue;
}
.navbar-brand[b-57l1plxqa0] {
font-size: 1.1rem;
}
/* Icons */
.oi[b-57l1plxqa0] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-57l1plxqa0] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-57l1plxqa0] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-57l1plxqa0] {
padding-bottom: 1rem;
}
.nav-item[b-57l1plxqa0] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
/* Rectangle items*/
.nav-item[b-57l1plxqa0] a.active {
background-color: black;
color: white;
}
/* Hover des items */
.nav-item[b-57l1plxqa0] a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
/* Activer ou non le bouton défilement menu*/
.navbar-toggler[b-57l1plxqa0] {
display: block;
}
.collapse[b-57l1plxqa0] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

@ -0,0 +1,142 @@
/* _content/HeartTrack/Shared/MainLayout.razor.rz.scp.css */
.page[b-ts9d0a3b1i] {
position: relative;
display: flex;
flex-direction: column;
}
main[b-ts9d0a3b1i] {
flex: 1;
}
.sidebar[b-ts9d0a3b1i] {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row[b-ts9d0a3b1i] {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row[b-ts9d0a3b1i] a, .top-row .btn-link[b-ts9d0a3b1i] {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child[b-ts9d0a3b1i] {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth)[b-ts9d0a3b1i] {
display: none;
}
.top-row.auth[b-ts9d0a3b1i] {
justify-content: space-between;
}
.top-row a[b-ts9d0a3b1i], .top-row .btn-link[b-ts9d0a3b1i] {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page[b-ts9d0a3b1i] {
flex-direction: row;
}
.sidebar[b-ts9d0a3b1i] {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row[b-ts9d0a3b1i] {
position: sticky;
top: 0;
z-index: 1;
}
.top-row[b-ts9d0a3b1i], article[b-ts9d0a3b1i] {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
/* _content/HeartTrack/Shared/NavMenu.razor.rz.scp.css */
/* Bouton rétrécicement de menu */
.navbar-toggler[b-57l1plxqa0] {
background-color: black;
}
/* En-tête */
.top-row[b-57l1plxqa0] {
height: 3.5rem;
background-color: darkblue;
}
.navbar-brand[b-57l1plxqa0] {
font-size: 1.1rem;
}
/* Icons */
.oi[b-57l1plxqa0] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-57l1plxqa0] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-57l1plxqa0] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-57l1plxqa0] {
padding-bottom: 1rem;
}
.nav-item[b-57l1plxqa0] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
/* Rectangle items*/
.nav-item[b-57l1plxqa0] a.active {
background-color: black;
color: white;
}
/* Hover des items */
.nav-item[b-57l1plxqa0] a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
/* Activer ou non le bouton défilement menu*/
.navbar-toggler[b-57l1plxqa0] {
display: block;
}
.collapse[b-57l1plxqa0] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

@ -0,0 +1,142 @@
/* _content/HeartTrack/Shared/MainLayout.razor.rz.scp.css */
.page[b-ts9d0a3b1i] {
position: relative;
display: flex;
flex-direction: column;
}
main[b-ts9d0a3b1i] {
flex: 1;
}
.sidebar[b-ts9d0a3b1i] {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row[b-ts9d0a3b1i] {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row[b-ts9d0a3b1i] a, .top-row .btn-link[b-ts9d0a3b1i] {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child[b-ts9d0a3b1i] {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth)[b-ts9d0a3b1i] {
display: none;
}
.top-row.auth[b-ts9d0a3b1i] {
justify-content: space-between;
}
.top-row a[b-ts9d0a3b1i], .top-row .btn-link[b-ts9d0a3b1i] {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page[b-ts9d0a3b1i] {
flex-direction: row;
}
.sidebar[b-ts9d0a3b1i] {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row[b-ts9d0a3b1i] {
position: sticky;
top: 0;
z-index: 1;
}
.top-row[b-ts9d0a3b1i], article[b-ts9d0a3b1i] {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
/* _content/HeartTrack/Shared/NavMenu.razor.rz.scp.css */
/* Bouton rétrécicement de menu */
.navbar-toggler[b-57l1plxqa0] {
background-color: black;
}
/* En-tête */
.top-row[b-57l1plxqa0] {
height: 3.5rem;
background-color: darkblue;
}
.navbar-brand[b-57l1plxqa0] {
font-size: 1.1rem;
}
/* Icons */
.oi[b-57l1plxqa0] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-57l1plxqa0] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-57l1plxqa0] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-57l1plxqa0] {
padding-bottom: 1rem;
}
.nav-item[b-57l1plxqa0] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
/* Rectangle items*/
.nav-item[b-57l1plxqa0] a.active {
background-color: black;
color: white;
}
/* Hover des items */
.nav-item[b-57l1plxqa0] a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
/* Activer ou non le bouton défilement menu*/
.navbar-toggler[b-57l1plxqa0] {
display: block;
}
.collapse[b-57l1plxqa0] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,81 @@
{
"Files": [
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\obj\\Debug\\net6.0\\scopedcss\\projectbundle\\HeartTrack.bundle.scp.css",
"PackagePath": "staticwebassets\\HeartTrack.bundle.scp.css"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\bootstrap\\bootstrap.min.css",
"PackagePath": "staticwebassets\\css\\bootstrap\\bootstrap.min.css"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\bootstrap\\bootstrap.min.css.map",
"PackagePath": "staticwebassets\\css\\bootstrap\\bootstrap.min.css.map"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\FONT-LICENSE",
"PackagePath": "staticwebassets\\css\\open-iconic"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\ICON-LICENSE",
"PackagePath": "staticwebassets\\css\\open-iconic"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\README.md",
"PackagePath": "staticwebassets\\css\\open-iconic\\README.md"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\font\\css\\open-iconic-bootstrap.min.css",
"PackagePath": "staticwebassets\\css\\open-iconic\\font\\css\\open-iconic-bootstrap.min.css"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.eot",
"PackagePath": "staticwebassets\\css\\open-iconic\\font\\fonts\\open-iconic.eot"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.otf",
"PackagePath": "staticwebassets\\css\\open-iconic\\font\\fonts\\open-iconic.otf"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.svg",
"PackagePath": "staticwebassets\\css\\open-iconic\\font\\fonts\\open-iconic.svg"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.ttf",
"PackagePath": "staticwebassets\\css\\open-iconic\\font\\fonts\\open-iconic.ttf"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.woff",
"PackagePath": "staticwebassets\\css\\open-iconic\\font\\fonts\\open-iconic.woff"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\css\\site.css",
"PackagePath": "staticwebassets\\css\\site.css"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\fake-data.json",
"PackagePath": "staticwebassets\\fake-data.json"
},
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\favicon.ico",
"PackagePath": "staticwebassets\\favicon.ico"
},
{
"Id": "obj\\Debug\\net6.0\\staticwebassets\\msbuild.HeartTrack.Microsoft.AspNetCore.StaticWebAssets.props",
"PackagePath": "build\\Microsoft.AspNetCore.StaticWebAssets.props"
},
{
"Id": "obj\\Debug\\net6.0\\staticwebassets\\msbuild.build.HeartTrack.props",
"PackagePath": "build\\HeartTrack.props"
},
{
"Id": "obj\\Debug\\net6.0\\staticwebassets\\msbuild.buildMultiTargeting.HeartTrack.props",
"PackagePath": "buildMultiTargeting\\HeartTrack.props"
},
{
"Id": "obj\\Debug\\net6.0\\staticwebassets\\msbuild.buildTransitive.HeartTrack.props",
"PackagePath": "buildTransitive\\HeartTrack.props"
}
],
"ElementsToRemove": []
}

@ -0,0 +1,244 @@
<Project>
<ItemGroup>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\bootstrap\bootstrap.min.css))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/bootstrap/bootstrap.min.css</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\css\bootstrap\bootstrap.min.css))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\bootstrap\bootstrap.min.css.map))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/bootstrap/bootstrap.min.css.map</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\css\bootstrap\bootstrap.min.css.map))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\FONT-LICENSE))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/FONT-LICENSE</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\css\open-iconic\FONT-LICENSE))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\font\css\open-iconic-bootstrap.min.css))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/font/css/open-iconic-bootstrap.min.css</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\css\open-iconic\font\css\open-iconic-bootstrap.min.css))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\font\fonts\open-iconic.eot))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/font/fonts/open-iconic.eot</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\css\open-iconic\font\fonts\open-iconic.eot))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\font\fonts\open-iconic.otf))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/font/fonts/open-iconic.otf</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\css\open-iconic\font\fonts\open-iconic.otf))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\font\fonts\open-iconic.svg))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/font/fonts/open-iconic.svg</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\css\open-iconic\font\fonts\open-iconic.svg))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\font\fonts\open-iconic.ttf))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/font/fonts/open-iconic.ttf</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\css\open-iconic\font\fonts\open-iconic.ttf))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\font\fonts\open-iconic.woff))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/font/fonts/open-iconic.woff</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\css\open-iconic\font\fonts\open-iconic.woff))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\ICON-LICENSE))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/ICON-LICENSE</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\css\open-iconic\ICON-LICENSE))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\open-iconic\README.md))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/open-iconic/README.md</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\css\open-iconic\README.md))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\site.css))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>css/site.css</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\css\site.css))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\fake-data.json))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>fake-data.json</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\fake-data.json))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\favicon.ico))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>favicon.ico</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\favicon.ico))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\HeartTrack.bundle.scp.css))">
<SourceType>Package</SourceType>
<SourceId>HeartTrack</SourceId>
<ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
<BasePath>_content/HeartTrack</BasePath>
<RelativePath>HeartTrack.bundle.scp.css</RelativePath>
<AssetKind>All</AssetKind>
<AssetMode>Reference</AssetMode>
<AssetRole>Primary</AssetRole>
<RelatedAsset></RelatedAsset>
<AssetTraitName>ScopedCss</AssetTraitName>
<AssetTraitValue>ProjectBundle</AssetTraitValue>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\HeartTrack.bundle.scp.css))</OriginalItemSpec>
</StaticWebAsset>
</ItemGroup>
</Project>

@ -0,0 +1,3 @@
<Project>
<Import Project="Microsoft.AspNetCore.StaticWebAssets.props" />
</Project>

@ -0,0 +1,3 @@
<Project>
<Import Project="..\build\HeartTrack.props" />
</Project>

@ -0,0 +1,3 @@
<Project>
<Import Project="..\buildMultiTargeting\HeartTrack.props" />
</Project>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save