Files
hrynco-notification-service/HrynCo.NotificationService.Web/Views/Shared/_Layout.cshtml
T
Anatolii Grynchuk 2a0a5f737d feat: add MVC Razor admin UI for email templates
- GetAllEmailTemplatesQuery + handler (new GetAll use case)
- IEmailTemplateRepository.GetAllAsync + EF implementation
- AdminTemplatesController: Index, Create, Edit, Save, Delete
- EmailTemplateEditViewModel with IsNew/PageTitle helpers
- Views/_ViewStart, _ViewImports, Shared/_Layout (Bootstrap 5)
- Shared/_EditorLayout (chained layout for all edit screens)
- Views/AdminTemplates/Index (table with edit/delete actions)
- Views/AdminTemplates/Edit (card form, readonly composite key on edit)
- Program.cs: AddControllersWithViews, UseStaticFiles, MapDefaultControllerRoute

Ref: IT-634

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-02 02:06:08 +03:00

58 lines
2.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@{
var currentController = ViewContext.RouteData.Values["controller"]?.ToString() ?? "";
bool isTemplates = currentController.Equals("AdminTemplates", StringComparison.OrdinalIgnoreCase);
bool isChannels = currentController.Equals("AdminChannels", StringComparison.OrdinalIgnoreCase);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>@ViewData["Title"] Notification Service</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous" />
<style>
body { background-color: #f8f9fa; }
.sidebar { min-height: calc(100vh - 56px); background-color: #212529; padding-top: 1rem; }
.sidebar .nav-link { color: #adb5bd; border-radius: .375rem; margin-bottom: .25rem; }
.sidebar .nav-link:hover { color: #fff; background-color: #343a40; }
.sidebar .nav-link.active { color: #fff; background-color: #0d6efd; }
.main-content { padding: 2rem; }
</style>
</head>
<body>
<nav class="navbar navbar-dark bg-dark px-3">
<a class="navbar-brand fw-bold" href="/">📧 Notification Service</a>
</nav>
<div class="container-fluid">
<div class="row">
<nav class="col-md-2 d-none d-md-block sidebar py-3">
<ul class="nav flex-column px-2">
<li class="nav-item">
<a class="nav-link @(isTemplates ? "active" : "")" href="/admin/templates">
📋 Email Templates
</a>
</li>
<li class="nav-item">
<a class="nav-link @(isChannels ? "active" : "")" href="/admin/channels">
📡 Email Channels
</a>
</li>
</ul>
</nav>
<main class="col-md-10 ms-sm-auto main-content">
@RenderBody()
</main>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-YvpcrYf0tY3lHB60NNkmXc4s9bIOgUxi8T/jzmGBE+rYG8O9HP+CyEb1BQGE8B8Z"
crossorigin="anonymous"></script>
</body>
</html>