danstore / Views /Shared /_Layout.cshtml
Danishathugging's picture
Sync from GitHub via hub-sync
b3fa49d verified
Raw
History Blame Contribute Delete
10 kB
@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;">
&copy; 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>