Spaces:
Sleeping
Sleeping
File size: 10,029 Bytes
6db0915 b3fa49d 6db0915 b3fa49d 6db0915 b1f9e13 6db0915 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | @inject SignInManager<IdentityUser> SignInManager
@inject UserManager<IdentityUser> UserManager
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] — DanStore</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" />
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
</head>
<body>
<header>
<nav class="border-b border-brand-gray-400 relative" style="border-color: #adb5bd;">
<div class="max-w-7xl mx-auto px-4 flex items-center justify-between h-16">
<a href="/" class="font-heading text-2xl font-bold" style="color: #2a2a3d;">DanStore</a>
<div class="hidden lg:flex items-center gap-6">
<a href="/" class="text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Home</a>
<a href="/home/shop" class="text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Shop</a>
<a href="/cart" class="text-sm font-medium transition-colors duration-200 relative" style="color: #6c757d;">
<i class="fas fa-shopping-bag"></i>
</a>
@if (SignInManager.IsSignedIn(User))
{
@if (User.IsInRole("Admin"))
{
<a href="/admin" class="text-sm font-medium transition-colors duration-200" style="color: #2a2a3d; font-weight: 700;">Admin Panel</a>
}
<a href="/account/profile" class="text-sm font-medium transition-colors duration-200" style="color: #6c757d;">@User.Identity?.Name</a>
<form asp-controller="Account" asp-action="Logout" method="post" class="inline">
<button type="submit" class="text-sm font-medium transition-colors duration-200 btn btn-sm btn-outline-secondary" style="border: none; background: none; color: #6c757d; cursor: pointer;">Logout</button>
</form>
}
else
{
<a href="/account/login" class="text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Login</a>
<a href="/account/register" class="text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Register</a>
}
</div>
<button id="mobile-menu-btn" class="lg:hidden flex items-center text-sm font-medium" style="color: #6c757d; background: none; border: none; cursor: pointer; padding: 0.5rem;">
<i class="fas fa-bars text-lg"></i>
</button>
</div>
<div id="mobile-menu" class="hidden lg:hidden absolute top-full left-0 w-full bg-white shadow-lg border-t z-50" style="border-color: #adb5bd;">
<div class="px-4 py-3 space-y-3">
<a href="/" class="block text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Home</a>
<a href="/home/shop" class="block text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Shop</a>
<a href="/cart" class="block text-sm font-medium transition-colors duration-200" style="color: #6c757d;">
<i class="fas fa-shopping-bag mr-2"></i>Cart
</a>
@if (SignInManager.IsSignedIn(User))
{
@if (User.IsInRole("Admin"))
{
<a href="/admin" class="block text-sm font-medium" style="color: #2a2a3d; font-weight: 700;">Admin Panel</a>
}
<a href="/account/profile" class="block text-sm font-medium transition-colors duration-200" style="color: #6c757d;">@User.Identity?.Name</a>
<form asp-controller="Account" asp-action="Logout" method="post">
<button type="submit" class="block text-sm font-medium transition-colors duration-200" style="color: #6c757d; background: none; border: none; cursor: pointer; padding: 0;">Logout</button>
</form>
}
else
{
<a href="/account/login" class="block text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Login</a>
<a href="/account/register" class="block text-sm font-medium transition-colors duration-200" style="color: #6c757d;">Register</a>
}
</div>
</div>
</nav>
</header>
<main>
@RenderBody()
</main>
<footer class="mt-8 sm:mt-16 py-6 sm:py-12" style="background: #2a2a3d;">
<div class="max-w-7xl mx-auto px-4">
<div class="grid grid-cols-2 md:grid-cols-4 gap-4 sm:gap-6">
<div>
<a href="/" class="font-heading text-xl sm:text-2xl font-bold" style="color: #fff;">DanStore</a>
<p class="text-xs sm:text-sm mt-2 sm:mt-3 leading-relaxed" style="color: #d4d8dd; max-width: 280px;">
Your trusted online marketplace in Pakistan. Quality products, secure payments, and fast delivery.
</p>
</div>
<div>
<h4 class="text-xs sm:text-sm font-semibold uppercase tracking-wide mb-2 sm:mb-3" style="color: #fff;">Shop</h4>
<ul class="space-y-1 sm:space-y-1.5">
<li><a href="/" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">All Products</a></li>
<li><a href="/#new-arrivals" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">New Arrivals</a></li>
<li><a href="/#best-sellers" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">Best Sellers</a></li>
</ul>
</div>
<div>
<h4 class="text-xs sm:text-sm font-semibold uppercase tracking-wide mb-2 sm:mb-3" style="color: #fff;">Help</h4>
<ul class="space-y-1 sm:space-y-1.5">
<li><a href="/home/faq" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">FAQ</a></li>
<li><a href="/home/contact" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">Contact Us</a></li>
</ul>
</div>
<div>
<h4 class="text-xs sm:text-sm font-semibold uppercase tracking-wide mb-2 sm:mb-3" style="color: #fff;">Account</h4>
<ul class="space-y-1 sm:space-y-1.5">
<li><a href="/account/login" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">Login</a></li>
<li><a href="/account/register" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">Register</a></li>
<li><a href="/account/profile" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">Profile</a></li>
<li><a href="/account/orders" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">Orders</a></li>
<li><a href="/cart" class="text-xs sm:text-sm transition-colors duration-200" style="color: #d4d8dd;">Cart</a></li>
</ul>
</div>
</div>
<div class="border-t mt-4 sm:mt-6 pt-4 sm:pt-6 text-center text-xs sm:text-sm" style="border-color: #8a9aa8; color: #d4d8dd;">
© 2026 DanStore. All rights reserved.
</div>
</div>
</footer>
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha256-Cg1VW4QlW4kNRmBmBvq1KmC26hB1sH9VGQk2qN2jW4=" crossorigin="anonymous"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
var toasts = document.querySelectorAll('.alert-toast');
toasts.forEach(function(t) {
setTimeout(function() {
t.style.transition = 'opacity 0.3s';
t.style.opacity = '0';
setTimeout(function() { t.remove(); }, 300);
}, 2000);
});
document.querySelectorAll('.password-toggle').forEach(function(btn) {
btn.addEventListener('click', function() {
var input = this.parentElement.querySelector('input');
var icon = this.querySelector('i');
if (input.type === 'password') {
input.type = 'text';
icon.classList.replace('fa-eye', 'fa-eye-slash');
} else {
input.type = 'password';
icon.classList.replace('fa-eye-slash', 'fa-eye');
}
});
});
});
</script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>
|