Files
hnsau/templates/payment.html
Nathan Woodburn 3cfb7f1ebb
All checks were successful
Build Docker / Build Image (push) Successful in 55s
feat: Update theme switcher to work on mobile
2025-08-07 00:43:23 +10:00

204 lines
11 KiB
HTML

<!DOCTYPE html>
<html data-bs-theme="auto" lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>Payment - HNSAU</title>
<meta name="theme-color" content="#ffffff">
<link rel="canonical" href="https://hns.au/payment">
<meta property="og:url" content="https://hns.au/payment">
<meta name="twitter:description" content="Handshake Australia; The leading hub for Australians leveraging the decentralized web, powered by Handshake.">
<meta name="twitter:image" content="https://hns.au/assets/img/HNSAU-social.webp">
<meta name="twitter:title" content="HNS AU">
<meta property="og:type" content="website">
<meta property="og:title" content="HNS AU">
<meta name="twitter:card" content="summary_large_image">
<meta property="og:description" content="Handshake Australia; The leading hub for Australians leveraging the decentralized web, powered by Handshake.">
<meta name="description" content="Handshake Australia; The leading hub for Australians leveraging the decentralized web, powered by Handshake.">
<meta property="og:image" content="https://hns.au/assets/img/HNSAU-social.webp">
<script>
(function() {
// JavaScript snippet handling Dark/Light mode switching
const getStoredTheme = () => localStorage.getItem('theme');
const setStoredTheme = theme => localStorage.setItem('theme', theme);
const forcedTheme = document.documentElement.getAttribute('data-bss-forced-theme');
const getPreferredTheme = () => {
if (forcedTheme) return forcedTheme;
const storedTheme = getStoredTheme();
if (storedTheme) {
return storedTheme;
}
const pageTheme = document.documentElement.getAttribute('data-bs-theme');
if (pageTheme) {
return pageTheme;
}
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
const setTheme = theme => {
if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.documentElement.setAttribute('data-bs-theme', 'dark');
} else {
document.documentElement.setAttribute('data-bs-theme', theme);
}
}
setTheme(getPreferredTheme());
const showActiveTheme = (theme, focus = false) => {
const themeSwitchers = [].slice.call(document.querySelectorAll('.theme-switcher'));
if (!themeSwitchers.length) return;
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
element.classList.remove('active');
element.setAttribute('aria-pressed', 'false');
});
for (const themeSwitcher of themeSwitchers) {
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
btnToActivate.classList.add('active');
btnToActivate.setAttribute('aria-pressed', 'true');
}
}
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
const storedTheme = getStoredTheme();
if (storedTheme !== 'light' && storedTheme !== 'dark') {
setTheme(getPreferredTheme());
}
});
window.addEventListener('DOMContentLoaded', () => {
showActiveTheme(getPreferredTheme());
document.querySelectorAll('[data-bs-theme-value]')
.forEach(toggle => {
toggle.addEventListener('click', (e) => {
e.preventDefault();
const theme = toggle.getAttribute('data-bs-theme-value');
setStoredTheme(theme);
setTheme(theme);
showActiveTheme(theme);
})
})
});
})();
</script>
<link rel="icon" type="image/png" sizes="600x627" href="/assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="600x627" href="/assets/img/favicon-light.png" media="(prefers-color-scheme: dark)">
<link rel="icon" type="image/png" sizes="600x627" href="/assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="600x627" href="/assets/img/favicon-light.png" media="(prefers-color-scheme: dark)">
<link rel="icon" type="image/png" sizes="600x627" href="/assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="600x627" href="/assets/img/favicon.png">
<link rel="icon" type="image/png" sizes="600x627" href="/assets/img/favicon.png">
<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
<link rel="manifest" href="/manifest.json" crossorigin="use-credentials">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:400,400i,700,700i,600,600i&amp;display=swap">
<link rel="stylesheet" href="/assets/css/bss-overrides.css">
<link rel="stylesheet" href="/assets/css/Hero-Features-icons.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.css">
<link rel="stylesheet" href="/assets/css/theme.css">
<link rel="stylesheet" href="/assets/css/vanilla-zoom.min.css">
<script async src="https://umami.woodburn.au/script.js" data-website-id="15852010-8d3c-4553-92fc-2d6ac31098e8"></script>
{{handshake_scripts | safe}}
</head>
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
<li class="nav-item"><a class="nav-link" href="/blog" style="color: var(--bs-primary);">Blog</a></li>
<li class="nav-item"><a class="nav-link" href="/links" style="color: var(--bs-primary);">Links</a></li>
<li class="nav-item"><a class="nav-link" href="/#about" style="color: var(--bs-primary);">About</a></li>
<li class="nav-item"><a class="nav-link" href="https://domains.hns.au" style="color: var(--bs-primary);">Domains</a></li>
<li class="nav-item"><a class="nav-link" href="/#contact" style="color: var(--bs-primary);">Contact</a></li>
</ul>
</div>
</div>
</nav>
<main class="page payment-page">
<section class="clean-block payment-form dark">
<div class="container">
<div class="block-heading">
<h2 class="text-info">Payment</h2>
<p>All payments are to be made in HNS</p>
</div>
<form method="post">
<div class="products">
<h3 class="title">Checkout</h3>{{cart|safe}}
<div class="total"><span>Total</span><span class="price">{{total_hns}} HNS</span></div>
</div>
<div class="card-details">
<h3 class="title">Postage Details</h3>
<h1 style="color: rgb(255,0,0);">{{error}}</h1>
<div class="row">
<div class="col-12">
<div class="mb-3"><label class="form-label" for="name">Name</label><input class="form-control" type="text" placeholder="Name" name="name" data-bs-theme="light" value="{{name}}"></div>
</div>
<div class="col-12">
<div class="mb-3"><label class="form-label" for="email">Email</label><input class="form-control" type="email" name="email" data-bs-theme="light" placeholder="Email" value="{{email}}"></div>
</div>
<div class="col-12">
<div class="mb-3"><label class="form-label" for="mobile">Mobile</label><input class="form-control" type="tel" name="mobile" value="{{mobile}}" placeholder="Mobile" data-bs-theme="light"></div>
</div>
<div class="col-12">
<div class="mb-3"><label class="form-label" for="address">Address</label><input class="form-control" type="text" id="address-1" placeholder="Address" name="address" data-bs-theme="light" value="{{address}}"></div>
</div>
<div class="col-12">
<div class="mb-3"><label class="form-label" for="country">Country</label><input class="form-control" type="text" id="address-2" placeholder="Country" name="country" data-bs-theme="light" value="{{country}}"></div>
</div>
<div class="col-sm-12">
<div class="mb-3"><button class="btn btn-primary d-block w-100" type="submit">Proceed</button></div>
</div>
</div>
</div>
</form>
</div>
</section>
</main>
<footer class="page-footer dark" style="background: var(--bs-body-bg);color: var(--bs-body-color);">
<div class="container">
<div class="row">
<div class="col-sm-3">
<h5 style="color: var(--bs-body-color);">Get started</h5>
<ul>
<li><a href="/" style="color: var(--bs-body-color);">Home</a></li>
<li><a href="/links" style="color: var(--bs-body-color);">Links</a></li>
</ul>
</div>
<div class="col-sm-3">
<h5 style="color: var(--bs-body-color);">Contact</h5>
<ul>
<li><a href="https://discord.gg/WJ6vpjuQv5" target="_blank" style="color: var(--bs-body-color);">Discord</a></li>
<li><a href="/email" target="_blank" style="color: var(--bs-body-color);">Email</a></li>
</ul>
</div>
</div>
</div>
<div class="footer-copyright" style="background: var(--bs-body-bg);border-style: none;">
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.js"></script>
<script src="/assets/js/vanilla-zoom.js"></script>
<script src="/assets/js/theme.js"></script>
</body>
</html>