UI
This commit is contained in:
20
StandManager/Components/AppHeader.razor
Normal file
20
StandManager/Components/AppHeader.razor
Normal file
@ -0,0 +1,20 @@
|
||||
<header class="navbar navbar-expand-lg navbar-transparent bg-red py-3" data-bs-theme="dark">
|
||||
<div class="container position-relative">
|
||||
|
||||
<img src="/Logo_dac.png" alt="Logo DAC" class="d-block mx-auto" style="height: 80px;" />
|
||||
|
||||
<div class="collapse navbar-collapse position-absolute end-0 top-50 translate-middle-y pe-3">
|
||||
<nav class="navbar-nav ms-auto">
|
||||
<div class="nav-item">
|
||||
<a class="nav-link text-white" href="/management"><span class="nav-link-title">Management</span></a>
|
||||
</div>
|
||||
<div class="nav-item">
|
||||
<a class="nav-link text-white" href="/scan"><span class="nav-link-title">Scansione</span></a>
|
||||
</div>
|
||||
<div class="nav-item">
|
||||
<a class="nav-link text-white" href="/registrazione"><span class="nav-link-title">Registrazione</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@ -117,7 +117,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-4 mb-3">
|
||||
<RadzenFormField Text="Data Iscrizione Dal" Variant="Variant.Flat" Style="width: 100%;">
|
||||
<RadzenFormField Text="Giorno presenza" Variant="Variant.Flat" Style="width: 100%;">
|
||||
<RadzenDatePicker @bind-Value=@iscrizione.GiornoPresenza Name="GiornoPresenza" ShowCalendarWeek ShowTime="false" DateFormat="dd/MM/yyyy" />
|
||||
</RadzenFormField>
|
||||
<ValidationMessage For="@(() => iscrizione.GiornoPresenza)" />
|
||||
|
||||
@ -15,23 +15,7 @@
|
||||
|
||||
<AuthorizeView>
|
||||
<Authorized>
|
||||
<header class="navbar navbar-expand-lg navbar-transparent bg-red py-3" data-bs-theme="dark">
|
||||
<div class="container position-relative">
|
||||
|
||||
<img src="/Logo_dac.png" alt="Logo DAC" class="d-block mx-auto" style="height: 80px;" />
|
||||
|
||||
<div class="collapse navbar-collapse position-absolute end-0 top-50 translate-middle-y pe-3">
|
||||
<nav class="navbar-nav ms-auto">
|
||||
<div class="nav-item">
|
||||
<a class="nav-link text-white" href="/management"><span class="nav-link-title">Management</span></a>
|
||||
</div>
|
||||
<div class="nav-item">
|
||||
<a class="nav-link text-white" href="/scan"><span class="nav-link-title">Scansione</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<AppHeader />
|
||||
</Authorized>
|
||||
|
||||
<NotAuthorized>
|
||||
|
||||
@ -9,23 +9,7 @@
|
||||
@rendermode InteractiveServer
|
||||
|
||||
<PageTitle>Iscrizione Evento</PageTitle>
|
||||
<header class="navbar navbar-expand-lg navbar-transparent bg-red py-3" data-bs-theme="dark">
|
||||
<div class="container position-relative">
|
||||
|
||||
<img src="/Logo_dac.png" alt="Logo DAC" class="d-block mx-auto" style="height: 80px;" />
|
||||
|
||||
<div class="collapse navbar-collapse position-absolute end-0 top-50 translate-middle-y pe-3">
|
||||
<nav class="navbar-nav ms-auto">
|
||||
<div class="nav-item">
|
||||
<a class="nav-link text-white" href="/management"><span class="nav-link-title">Management</span></a>
|
||||
</div>
|
||||
<div class="nav-item">
|
||||
<a class="nav-link text-white" href="/scan"><span class="nav-link-title">Scansione</span></a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<AppHeader />
|
||||
<div class="container my-5 py-3">
|
||||
<ClienteToggle ValueChanged="onClienteToggleChanged" />
|
||||
@if (showCodiceCliente)
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
@rendermode InteractiveServer
|
||||
|
||||
<PageTitle>Scan</PageTitle>
|
||||
|
||||
<AppHeader />
|
||||
<header class="hero pb-0">
|
||||
<div class="container">
|
||||
<div class="mb-3">
|
||||
@ -40,7 +40,7 @@
|
||||
<strong>Errore:</strong> @errorMessage
|
||||
</div>
|
||||
}
|
||||
|
||||
<Footer />
|
||||
@code {
|
||||
private ElementReference videoRef;
|
||||
private DotNetObjectReference<Scan>? objRef;
|
||||
|
||||
24
StandManager/wwwroot/js/webcam.js
Normal file
24
StandManager/wwwroot/js/webcam.js
Normal file
@ -0,0 +1,24 @@
|
||||
window.webcamInterop = {
|
||||
start: async (videoElement) => {
|
||||
try {
|
||||
const stream = await navigator.mediaDevices.getUserMedia({
|
||||
video: { facingMode: "environment" }
|
||||
});
|
||||
videoElement.srcObject = stream;
|
||||
} catch (err) {
|
||||
console.error("Errore webcam:", err);
|
||||
}
|
||||
},
|
||||
capture: (videoElement) => {
|
||||
const canvas = document.createElement("canvas");
|
||||
canvas.width = videoElement.videoWidth;
|
||||
canvas.height = videoElement.videoHeight;
|
||||
canvas.getContext("2d").drawImage(videoElement, 0, 0);
|
||||
return canvas.toDataURL("image/jpeg");
|
||||
},
|
||||
stop: (videoElement) => {
|
||||
if (videoElement && videoElement.srcObject) {
|
||||
videoElement.srcObject.getTracks().forEach(track => track.stop());
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user