Added localization

This commit is contained in:
2025-11-29 22:34:54 +01:00
parent 6819d1e38b
commit f930d9e408
9 changed files with 605 additions and 91 deletions

View File

@@ -1,16 +1,18 @@
@using OneForMe.Controllers
@using Microsoft.AspNetCore.Localization
@using OneForMe.Services
@inject LocalizationService Localizer
@model DashboardViewModel
@{
ViewData["Title"] = "Dashboard";
ViewData["Title"] = Localizer.Get("Welcome");
}
<div class="container mt-5">
<div class="row mb-4">
<div class="col-md-12">
<h1>Welcome to OneForMe</h1>
<p>Logged in as: <strong>@User.Identity?.Name</strong></p>
<a href="/AuthView/Logout" class="btn btn-danger">Logout</a>
<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>
</div>
</div>
@@ -18,9 +20,9 @@
<div class="col-md-6">
<div class="card shadow">
<div class="card-body">
<h5 class="card-title">Create New Order</h5>
<p class="card-text">Start a new group order and invite friends</p>
<a href="/order/create" class="btn btn-primary">Create Order</a>
<h5 class="card-title">@Localizer.Get("CreateNewOrder")</h5>
<p class="card-text">@Localizer.Get("StartGroupOrder")</p>
<a href="/order/create" class="btn btn-primary">@Localizer.Get("CreateNewOrder")</a>
</div>
</div>
</div>
@@ -28,12 +30,12 @@
<div class="col-md-6">
<div class="card shadow">
<div class="card-body">
<h5 class="card-title">Join Order</h5>
<p class="card-text">Join an existing order using the order code</p>
<h5 class="card-title">@Localizer.Get("JoinOrder")</h5>
<p class="card-text">@Localizer.Get("JoinExistingOrder")</p>
<form method="get" action="/order/join" class="mb-3">
<div class="input-group">
<input type="text" class="form-control" name="code" placeholder="Enter order code" required>
<button class="btn btn-success" type="submit">Join</button>
<input type="text" class="form-control" name="code" placeholder="@Localizer.Get("EnterOrderCode")" required>
<button class="btn btn-success" type="submit">@Localizer.Get("Join")</button>
</div>
</form>
</div>
@@ -46,7 +48,7 @@
<!-- Created Orders -->
<div class="row mb-4">
<div class="col-md-12">
<h3>My Created Orders</h3>
<h3>@Localizer.Get("MyCreatedOrders")</h3>
@if (Model.CreatedOrders.Any())
{
<div class="row">
@@ -57,20 +59,20 @@
<div class="card-body">
<h5 class="card-title">@order.CreatorName</h5>
<p class="card-text">
<small class="text-muted">Code: <strong>@order.OrderCode</strong></small><br>
<small class="text-muted">Created: @order.CreatedAt.ToString("MMM dd, yyyy HH:mm")</small><br>
<small>Items: @order.MenuItems.Count | Orders: @order.OrderItems.Count</small>
<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>
<small>@Localizer.Get("Items"): @order.MenuItems.Count | @Localizer.Get("Orders"): @order.OrderItems.Count</small>
</p>
<p class="text-success"><strong>Total: $@order.OrderItems.Sum(oi => oi.MenuItem.Price * oi.Quantity).ToString("F2")</strong></p>
<p class="text-success"><strong>@Localizer.Get("Total"): $@order.OrderItems.Sum(oi => oi.MenuItem.Price * oi.Quantity).ToString("F2")</strong></p>
<div class="d-flex gap-2">
<a href="/order/details?code=@order.OrderCode" class="btn btn-sm btn-primary">View</a>
<a href="/order/details?code=@order.OrderCode" class="btn btn-sm btn-primary">@Localizer.Get("View")</a>
@if (!order.IsClosed)
{
<a href="/order/close?code=@order.OrderCode" class="btn btn-sm btn-danger">Close Order</a>
<a href="/order/close?code=@order.OrderCode" class="btn btn-sm btn-danger">@Localizer.Get("CloseOrder")</a>
}
else
{
<span class="badge bg-secondary">Closed</span>
<span class="badge bg-secondary">@Localizer.Get("Closed")</span>
}
</div>
</div>
@@ -81,7 +83,7 @@
}
else
{
<div class="alert alert-info">You haven't created any orders yet.</div>
<div class="alert alert-info">@Localizer.Get("NoCreatedOrders")</div>
}
</div>
</div>
@@ -91,7 +93,7 @@
<!-- Joined Orders -->
<div class="row">
<div class="col-md-12">
<h3>Orders I Joined</h3>
<h3>@Localizer.Get("OrdersIJJoined")</h3>
@if (Model.JoinedOrders.Any())
{
<div class="row">
@@ -103,16 +105,16 @@
<div class="card-body">
<h5 class="card-title">@order.CreatorName</h5>
<p class="card-text">
<small class="text-muted">Code: <strong>@order.OrderCode</strong></small><br>
<small class="text-muted">Created by: @order.CreatorName</small><br>
<small>My items: @myItems.Count</small>
<small class="text-muted">@Localizer.Get("Code"): <strong>@order.OrderCode</strong></small><br>
<small class="text-muted">@Localizer.Get("CreatedBy"): @order.CreatorName</small><br>
<small>@Localizer.Get("MyItems"): @myItems.Count</small>
</p>
<p class="text-warning"><strong>I owe: $@myItems.Sum(oi => oi.MenuItem.Price * oi.Quantity).ToString("F2")</strong></p>
<p class="text-warning"><strong>@Localizer.Get("IOwe"): $@myItems.Sum(oi => oi.MenuItem.Price * oi.Quantity).ToString("F2")</strong></p>
<div class="d-flex gap-2">
<a href="/order/join?code=@order.OrderCode" class="btn btn-sm btn-primary">View</a>
<a href="/order/join?code=@order.OrderCode" class="btn btn-sm btn-primary">@Localizer.Get("View")</a>
@if (!order.IsClosed)
{
<a href="/order/join?code=@order.OrderCode" class="btn btn-sm btn-success">Add More</a>
<a href="/order/join?code=@order.OrderCode" class="btn btn-sm btn-success">@Localizer.Get("AddMore")</a>
}
</div>
</div>
@@ -123,7 +125,7 @@
}
else
{
<div class="alert alert-info">You haven't joined any orders yet.</div>
<div class="alert alert-info">@Localizer.Get("NoJoinedOrders")</div>
}
</div>
</div>