Added missing localization, fixed missing order name

This commit is contained in:
2025-11-29 23:20:18 +01:00
parent f930d9e408
commit db8f2fcdf1
14 changed files with 548 additions and 32 deletions

View File

@@ -1,5 +1,8 @@
@using OneForMe.Services
@inject LocalizationService Localizer
@{
ViewData["Title"] = "Login";
ViewData["Title"] = Localizer["Login"];
}
<div class="container mt-5">
@@ -7,25 +10,25 @@
<div class="col-md-6">
<div class="card shadow">
<div class="card-body p-5">
<h2 class="text-center mb-4">Login</h2>
<h2 class="text-center mb-4">@Localizer["Login"]</h2>
<form id="loginForm">
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<label for="email" class="form-label">@Localizer["Email"]</label>
<input type="email" class="form-control" id="email" name="email" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<label for="password" class="form-label">@Localizer["Password"]</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<button type="submit" class="btn btn-primary w-100">Login</button>
<button type="submit" class="btn btn-primary w-100">@Localizer["Login"]</button>
</form>
<hr>
<p class="text-center">Don't have an account? <a asp-controller="AuthView" asp-action="Register">Register here</a></p>
<p class="text-center">@Localizer["DontHaveAccount"] <a asp-controller="Account" asp-action="Register">@Localizer["RegisterHere"]</a></p>
<div id="message" class="mt-3"></div>
</div>
@@ -52,16 +55,13 @@ document.getElementById('loginForm').addEventListener('submit', async (e) => {
});
if (response.ok) {
messageDiv.innerHTML = '<div class="alert alert-success">Login successful! Redirecting...</div>';
setTimeout(() => {
window.location.href = '/';
}, 1500);
window.location.href = '/';
} else {
const error = await response.json();
messageDiv.innerHTML = `<div class="alert alert-danger">${error.message}</div>`;
}
} catch (error) {
messageDiv.innerHTML = `<div class="alert alert-danger">An error occurred: ${error.message}</div>`;
messageDiv.innerHTML = `<div class="alert alert-danger">@Localizer["AnErrorOccurred"] ${error.message}</div>`;
}
});
</script>

View File

@@ -1,5 +1,8 @@
@using OneForMe.Services
@inject LocalizationService Localizer
@{
ViewData["Title"] = "Register";
ViewData["Title"] = Localizer["Register"];
}
<div class="container mt-5">
@@ -7,30 +10,30 @@
<div class="col-md-6">
<div class="card shadow">
<div class="card-body p-5">
<h2 class="text-center mb-4">Register</h2>
<h2 class="text-center mb-4">@Localizer["Register"]</h2>
<form id="registerForm">
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<label for="email" class="form-label">@Localizer["Email"]</label>
<input type="email" class="form-control" id="email" name="email" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<label for="password" class="form-label">@Localizer["Password"]</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<div class="mb-3">
<label for="confirmPassword" class="form-label">Confirm Password</label>
<label for="confirmPassword" class="form-label">@Localizer["ConfirmPassword"]</label>
<input type="password" class="form-control" id="confirmPassword" name="confirmPassword" required>
</div>
<button type="submit" class="btn btn-primary w-100">Register</button>
<button type="submit" class="btn btn-primary w-100">@Localizer["Register"]</button>
</form>
<hr>
<p class="text-center">Already have an account? <a href="/auth/login">Login here</a></p>
<p class="text-center">@Localizer["AlreadyHaveAccount"] <a asp-controller="Account" asp-action="Login">@Localizer["LoginHere"]</a></p>
<div id="message" class="mt-3"></div>
</div>
@@ -49,7 +52,7 @@ document.getElementById('registerForm').addEventListener('submit', async (e) =>
const messageDiv = document.getElementById('message');
if (password !== confirmPassword) {
messageDiv.innerHTML = '<div class="alert alert-danger">Passwords do not match!</div>';
messageDiv.innerHTML = '<div class="alert alert-danger">@Localizer["PasswordsDoNotMatch"]</div>';
return;
}
@@ -63,9 +66,9 @@ document.getElementById('registerForm').addEventListener('submit', async (e) =>
});
if (response.ok) {
messageDiv.innerHTML = '<div class="alert alert-success">Registration successful! Redirecting to login...</div>';
messageDiv.innerHTML = '<div class="alert alert-success">@Localizer["RegistrationSuccessful"]</div>';
setTimeout(() => {
window.location.href = '/AuthView/Login';
window.location.href = '/Account/Login';
}, 1500);
} else {
const error = await response.json();
@@ -73,7 +76,7 @@ document.getElementById('registerForm').addEventListener('submit', async (e) =>
messageDiv.innerHTML = `<div class="alert alert-danger">${errorMessages}</div>`;
}
} catch (error) {
messageDiv.innerHTML = `<div class="alert alert-danger">An error occurred: ${error.message}</div>`;
messageDiv.innerHTML = `<div class="alert alert-danger">@Localizer["AnErrorOccurred"] ${error.message}</div>`;
}
});
</script>

View File

@@ -12,7 +12,7 @@
<div class="col-md-12">
<h1>@Localizer.Get("Welcome")</h1>
<p>@Localizer.Get("LoggedInAs"): <strong>@User.Identity?.Name</strong></p>
<a href="/AuthViewController/Logout" class="btn btn-danger">@Localizer.Get("Logout")</a>
<a href="/Account/Logout" class="btn btn-danger">@Localizer.Get("Logout")</a>
</div>
</div>
@@ -57,7 +57,7 @@
<div class="col-md-6 mb-3">
<div class="card shadow">
<div class="card-body">
<h5 class="card-title">@order.CreatorName</h5>
<h5 class="card-title">@order.Name</h5>
<p class="card-text">
<small class="text-muted">@Localizer.Get("Code"): <strong>@order.OrderCode</strong></small><br>
<small class="text-muted">@Localizer.Get("Created"): @order.CreatedAt.ToString("MMM dd, yyyy HH:mm")</small><br>

View File

@@ -14,8 +14,8 @@
<form method="post" id="createOrderForm">
<div class="mb-3">
<label for="creatorName" class="form-label">@Localizer["OrderName"]</label>
<input type="text" class="form-control" id="creatorName" name="creatorName" placeholder="e.g., Pizza Party" required>
<label for="Name" class="form-label">@Localizer["OrderName"]</label>
<input type="text" class="form-control" id="Name" name="Name" placeholder="e.g., Pizza Party" required>
<small class="text-muted">@Localizer["GiveOrderName"]</small>
</div>

View File

@@ -12,7 +12,7 @@
<div class="col-md-8">
<div class="card shadow mb-4">
<div class="card-body">
<h2>@Model.CreatorName</h2>
<h2>@Model.Name</h2>
<p class="text-muted">@Localizer.Get("Code"): <strong>@Model.OrderCode</strong></p>
<p>@Localizer.Get("CreatedBy"): <strong>@Model.CreatorName</strong></p>
<p>@Localizer.Get("Status"): <span class="badge @(Model.IsClosed ? "bg-danger" : "bg-success")">@(Model.IsClosed ? Localizer.Get("Closed") : Localizer.Get("Open"))</span></p>

View File

@@ -23,10 +23,15 @@
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
</li>
</ul>
@if (User.Identity?.IsAuthenticated ?? false)
{
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
<a class="nav-link text-dark" asp-area="" asp-controller="Account" asp-action="Logout">Logout</a>
</li>
</ul>
}
</div>
</div>
</nav>