181 lines
8.0 KiB
HTML
181 lines
8.0 KiB
HTML
{{ define "layout" }}
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>SynLotto</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="/static/css/site.css">
|
|
</head>
|
|
|
|
<body class="d-flex flex-column min-vh-100">
|
|
|
|
<!-- Topbar -->
|
|
<nav class="navbar navbar-expand-lg navbar-light bg-light px-3">
|
|
<a class="navbar-brand d-flex align-items-center" href="/">
|
|
<img src="/static/img/logo.png" alt="Logo" height="30" class="me-2">
|
|
<span>SynLotto</span>
|
|
</a>
|
|
<div class="ms-auto d-flex align-items-center gap-3">
|
|
{{ if .User }}
|
|
{{ if .IsAdmin }}
|
|
<!-- Admin Dropdown -->
|
|
<div class="dropdown">
|
|
<a class="nav-link text-dark" href="#" id="adminDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="bi bi-shield-lock fs-5 position-relative"></i>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end dropdown-admin-box shadow-sm" aria-labelledby="adminDropdown">
|
|
<li class="dropdown-header text-center fw-bold">Admin Menu</li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li class="text-center"><a href="/admin/dashboard" class="dropdown-item">Tools</a></li>
|
|
<li class="text-center"><a href="/admin/dashboard" class="dropdown-item">Audit Logs</a></li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li class="text-center"><a href="/admin/dashboard" class="dropdown-item">Open Dashboard</a></li>
|
|
</ul>
|
|
</div>
|
|
{{ end }}
|
|
<!-- Notification Dropdown -->
|
|
<div class="dropdown">
|
|
<a class="nav-link text-dark" href="#" id="notificationDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="bi bi-bell fs-5 position-relative">
|
|
<span class="position-absolute top-0 start-0 translate-middle badge rounded-pill bg-warning text-dark" style="transform: translate(-40%, -50%)">
|
|
3
|
|
</span>
|
|
</i>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end dropdown-notification-box shadow-sm" aria-labelledby="notificationDropdown">
|
|
<li class="dropdown-header text-center fw-bold">Notifications</li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
|
|
<!-- Example notification -->
|
|
<li class="px-3 py-2">
|
|
<div class="d-flex align-items-start">
|
|
<i class="bi bi-info-circle text-primary me-2 fs-4"></i>
|
|
<div>
|
|
<div class="fw-semibold">System Update</div>
|
|
<small class="text-muted">A new lottery draw has been posted.</small>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
|
|
<li><hr class="dropdown-divider"></li>
|
|
|
|
<li class="px-3 py-2">
|
|
<div class="d-flex align-items-start">
|
|
<i class="bi bi-check-circle text-success me-2 fs-4"></i>
|
|
<div>
|
|
<div class="fw-semibold">Sync Complete</div>
|
|
<small class="text-muted">All results are up-to-date.</small>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li class="text-center"><a href="/notifications" class="dropdown-item">View all notifications</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Message Dropdown -->
|
|
<div class="dropdown">
|
|
<a class="nav-link text-dark" href="#" id="messageDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="bi bi-envelope fs-5 position-relative">
|
|
<!-- Unread badge (example: 2 messages) -->
|
|
<span class="position-absolute top-0 start-0 translate-middle badge rounded-pill bg-danger text-dark" style="transform: translate(-40%, -50%)">
|
|
2
|
|
</span>
|
|
</i>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end dropdown-message-box shadow-sm" aria-labelledby="messageDropdown" style="min-width: 300px;">
|
|
<li class="dropdown-header text-center fw-bold">Messages</li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
|
|
<!-- Example message item -->
|
|
<li class="px-3 py-2">
|
|
<div class="d-flex align-items-start">
|
|
<i class="bi bi-person-circle me-2 fs-4 text-secondary"></i>
|
|
<div>
|
|
<div class="fw-semibold">Admin</div>
|
|
<small class="text-muted">Welcome to SynLotto!</small>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li class="text-center"><a href="/messages" class="dropdown-item">View all messages</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- User Greeting -->
|
|
<span class="navbar-text">Hello, {{ .User.Username }}</span>
|
|
<a class="btn btn-outline-danger btn-xs" href="/logout">Logout</a>
|
|
{{ else }}
|
|
<a class="btn btn-outline-primary btn-sm" href="/login">Login</a>
|
|
{{ end }}
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Main Layout -->
|
|
<div class="container-fluid flex-grow-1">
|
|
<div class="row">
|
|
<!-- Sidebar -->
|
|
<nav class="col-md-2 d-none d-md-block bg-light sidebar pt-3">
|
|
<div class="position-sticky">
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item">
|
|
<a class="nav-link d-flex justify-content-between align-items-center" data-bs-toggle="collapse" href="#lotterySubmenu" role="button" aria-expanded="false" aria-controls="lotterySubmenu">
|
|
<strong>Lottery Results</strong>
|
|
<i class="bi bi-chevron-down small"></i>
|
|
</a>
|
|
<div class="collapse ps-3" id="lotterySubmenu">
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item"><a class="nav-link" href="/lottery/today">Today's Results</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/results/lotto">Lotto</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/results/thunderball">Thunderball</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/results/euromillions">EuroMillions</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/results/Set For Life">Set For Life</a></li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link d-flex justify-content-between align-items-center" data-bs-toggle="collapse" href="#statisticsSubmenu" role="button" aria-expanded="false" aria-controls="statisticsSubmenu">
|
|
<strong>Statistics</strong>
|
|
</a>
|
|
<div class="collapse ps-3" id="statisticsSubmenu">
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item"><a class="nav-link" href="/lottery/today">Today's Results</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/lottery/history">Lotto</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/lottery/stats">Thunderball</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/lottery/history">Set For Life</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="/lottery/stats">EuroMillions</a></li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li class="nav-item"><strong class="nav-link">Syndicate</strong></li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Main Content -->
|
|
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 pt-4">
|
|
{{ if .Flash }}
|
|
<div class="alert alert-info" role="alert">
|
|
{{ .Flash }}
|
|
</div>
|
|
{{ end }}
|
|
{{ template "content" . }}
|
|
</main>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Footer -->
|
|
<footer class="bg-light text-center text-muted py-3 mt-auto border-top">
|
|
<small>© xxx SynLotto. All rights reserved. | <a href="/privacy">Privacy Policy</a> | <a href="/privacy">Terms & Conditions</a> | <a href="/privacy">Contact Us </a></small>
|
|
</footer>
|
|
|
|
<!-- JS -->
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
|
</body>
|
|
</html>
|
|
{{ end }}
|