Files
Plushealthtech/plushealthtech/Pages/Shared/_Layout.cshtml
T
Clive b7809615c7
Gitea CI/CD / build (push) Successful in 1m40s
Connect form email.
2026-08-20 15:55:24 +10:00

200 lines
11 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - Plus Health Tech | Interoperable Clinical Decision Support & Patient Management</title>
<link rel="stylesheet" href="~/css/tailwind.css" />
<!-- FontAwesome for Icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="icon" type="image/x-icon" href="~/img/favicon.ico">
<script defer src="https://analytics.rokoh.com/script.js" data-website-id="1abdd171-c4c5-4785-9029-32407da60056"></script>
</head>
<body class="bg-slate-50 text-slate-800 font-sans antialiased selection:bg-brand-light selection:text-brand-dark">
<!-- Header / Navigation -->
<header class="sticky top-0 z-50 bg-white/90 backdrop-blur-md border-b border-slate-100 shadow-xs">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-20 flex items-center justify-between">
<!-- Logo -->
<a href="/" class="flex items-center gap-3">
<img src="https://www.plushealthtech.com/img/plushealthtech-logo.png" alt="Plus Health Tech Logo" class="h-10 w-auto object-contain">
</a>
<!-- Desktop Nav Links -->
<nav class="hidden md:flex items-center gap-8 font-medium text-sm text-slate-600">
<a href="/ClinicalDecisionSupport" class="hover:text-brand transition-colors">CDS</a>
<a href="/PatientManagement" class="hover:text-brand transition-colors">Patient Management</a>
<a href="/Veterinary" class="hover:text-brand transition-colors">Veterinary</a>
<a href="/About" class="hover:text-brand transition-colors">About</a>
<a href="/Careers" class="hover:text-brand transition-colors">Careers</a>
<a href="/Contact" class="hover:text-brand transition-colors">Contact</a>
<a href="https://blog.plushealthtech.com" class="hover:text-brand transition-colors">Blog</a>
</nav>
<!-- Action Buttons -->
<div class="hidden md:flex items-center gap-4">
<a href="/SignIn" class="text-sm font-semibold text-slate-700 hover:text-brand px-4 py-2">Sign In</a>
<a href="/RequestDemo" class="bg-[#1c8098] hover:bg-[#145f72] text-white text-sm font-semibold px-5 py-2.5 rounded-xl shadow-sm transition-all shadow-brand/20">
Request Demo
</a>
</div>
<!-- Mobile Menu Toggle -->
<button id="mobile-menu-toggle" class="md:hidden text-slate-600 focus:outline-none" aria-controls="mobile-menu" aria-expanded="false">
<i class="fa-solid fa-bars text-xl"></i>
</button>
</div>
<!-- Mobile Menu -->
<div id="mobile-menu" class="hidden md:hidden border-t border-slate-100 bg-white px-4 sm:px-6 pt-2 pb-6">
<nav class="flex flex-col font-medium text-sm text-slate-600">
<a href="/ClinicalDecisionSupport" class="py-2 hover:text-brand transition-colors">CDS</a>
<a href="/PatientManagement" class="py-2 hover:text-brand transition-colors">Patient Management</a>
<a href="/Veterinary" class="py-2 hover:text-brand transition-colors">Veterinary</a>
<a href="/About" class="py-2 hover:text-brand transition-colors">About</a>
<a href="/Careers" class="py-2 hover:text-brand transition-colors">Careers</a>
<a href="/Contact" class="py-2 hover:text-brand transition-colors">Contact</a>
<a href="https://blog.plushealthtech.com" class="py-2 hover:text-brand transition-colors">Blog</a>
</nav>
<div class="mt-4 flex flex-col gap-2">
<a href="/SignIn" class="text-sm font-semibold text-slate-700 hover:text-brand px-4 py-2.5 text-center border border-slate-200 rounded-xl transition-colors">Sign In</a>
<a href="/RequestDemo" class="bg-[#1c8098] hover:bg-[#145f72] text-white text-sm font-semibold px-5 py-2.5 rounded-xl text-center shadow-sm shadow-brand/20 transition-colors">Request Demo</a>
</div>
</div>
</header>
@RenderBody()
<!-- Footer -->
<footer class="bg-slate-950 text-slate-400 py-16 border-t border-slate-900">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 grid grid-cols-1 md:grid-cols-5 gap-10">
<div class="space-y-4">
<img src="~/img/plushealthtech-logo.png" alt="Plus Health Tech" class="h-8 w-auto brightness-200">
<p class="text-xs text-slate-500">
Interoperable Clinical Decision Support, Patient Management, and Veterinary Software Solutions.
</p>
</div>
<div>
<h5 class="text-white text-sm font-semibold mb-4">Solutions</h5>
<ul class="space-y-2 text-xs">
<li><a href="/ClinicalDecisionSupport" class="hover:text-white transition-colors">Clinical Decision Support</a></li>
<li><a href="/PatientManagement" class="hover:text-white transition-colors">Patient Management</a></li>
<li><a href="/Veterinary" class="hover:text-white transition-colors">Veterinarian Solutions</a></li>
</ul>
</div>
<div>
<h5 class="text-white text-sm font-semibold mb-4">Company</h5>
<ul class="space-y-2 text-xs">
<li><a href="/About" class="hover:text-white transition-colors">About Us</a></li>
<li><a href="/Careers" class="hover:text-white transition-colors">Careers</a></li>
<li><a href="/Contact" class="hover:text-white transition-colors">Contact</a></li>
</ul>
</div>
<div>
<h5 class="text-white text-sm font-semibold mb-4">Legal</h5>
<ul class="space-y-2 text-xs">
<li><a href="/Privacy" class="hover:text-white transition-colors">Privacy Policy</a></li>
<li><a href="/Terms" class="hover:text-white transition-colors">Terms &amp; Conditions</a></li>
</ul>
</div>
<div>
<h5 class="text-white text-sm font-semibold mb-4">Connect</h5>
<p class="text-xs text-slate-500 mb-4">Subscribe to our technical updates and newsletter.</p>
<form id="newsletter-form" action="/Subscribe" method="post">
@Html.AntiForgeryToken()
<div class="flex gap-2">
<input type="email" name="Email" required aria-label="Email address" placeholder="Enter email" class="bg-slate-900 border border-slate-800 text-xs px-3 py-2 rounded-lg text-white focus:outline-none focus:border-brand w-full">
<button type="submit" class="bg-[#1c8098] hover:bg-[#145f72] text-white text-xs px-4 py-2 rounded-lg font-semibold transition-colors">Join</button>
</div>
<p id="newsletter-message" class="mt-2 text-xs" hidden></p>
</form>
</div>
</div>
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 mt-12 pt-8 border-t border-slate-900 text-center text-xs text-slate-600">
&copy; @DateTime.Now.Year Plus Health Tech. All rights reserved.
</div>
</footer>
<script>
(function () {
var toggle = document.getElementById('mobile-menu-toggle');
var menu = document.getElementById('mobile-menu');
if (!toggle || !menu) return;
var icon = toggle.querySelector('i');
function setIcon(open) {
icon.classList.toggle('fa-bars', !open);
icon.classList.toggle('fa-xmark', open);
}
toggle.addEventListener('click', function () {
var open = menu.classList.toggle('hidden') === false;
setIcon(open);
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
});
// Close the menu when a link is tapped
menu.querySelectorAll('a').forEach(function (link) {
link.addEventListener('click', function () {
menu.classList.add('hidden');
setIcon(false);
toggle.setAttribute('aria-expanded', 'false');
});
});
})();
</script>
<script>
// Footer "Connect" newsletter form — posts to /Subscribe and shows
// the result inline instead of navigating away.
(function () {
var form = document.getElementById('newsletter-form');
if (!form) return;
var input = form.querySelector('input[type="email"]');
var button = form.querySelector('button[type="submit"]');
var message = document.getElementById('newsletter-message');
function show(ok, text) {
message.textContent = text;
message.classList.toggle('text-emerald-400', ok);
message.classList.toggle('text-red-400', !ok);
message.hidden = false;
}
form.addEventListener('submit', async function (event) {
event.preventDefault();
var email = input.value.trim();
if (!email) {
show(false, 'Please enter your email address.');
return;
}
button.disabled = true;
try {
var response = await fetch(form.action, {
method: 'POST',
// FormData picks up the Email input plus the antiforgery token.
body: new URLSearchParams(new FormData(form)),
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }
});
var payload = null;
try { payload = await response.json(); } catch (e) { /* non-JSON response */ }
if (response.ok && payload && payload.success) {
input.value = '';
show(true, payload.message || "You're on the list — thanks for subscribing!");
} else {
show(false, (payload && payload.message) || "We couldn't sign you up right now. Please try again later.");
}
} catch (err) {
show(false, 'Something went wrong. Please try again later.');
} finally {
button.disabled = false;
}
});
})();
</script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>