File size: 17,562 Bytes
c938b50 c95f155 f6cbe4b c95f155 f6cbe4b c938b50 f6cbe4b c938b50 357bd76 832c2cb c938b50 8ec6a55 c938b50 1c4ddc2 832c2cb c938b50 832c2cb 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 832c2cb 357bd76 c938b50 357bd76 c938b50 832c2cb 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 357bd76 c938b50 4bd2f20 1c4ddc2 c938b50 4bd2f20 c938b50 f6cbe4b c938b50 | 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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Checkout - Shopify Toolbox Haven</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: '#3B82F6',
secondary: '#2563EB',
accent: '#1D4ED8',
dark: '#1E40AF'
},
fontFamily: {
sans: ['Inter', 'sans-serif']
}
}
}
}
</script>
<style>
.checkout-card {
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.error {
border-color: #ef4444;
}
.error-text {
color: #ef4444;
font-size: 0.875rem;
margin-top: 0.25rem;
}
</style>
</head>
<body class="bg-black text-white">
<!-- Navigation -->
<nav class="bg-white shadow-md sticky top-0 z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<div class="flex-shrink-0 flex items-center">
<i data-feather="tool" class="text-primary h-8 w-8"></i>
<span class="ml-2 text-xl font-bold text-gray-900">Shopify Toolbox Haven</span>
</div>
</div>
<div class="hidden md:ml-6 md:flex md:items-center md:space-x-8">
<a href="index.html" class="text-gray-500 hover:text-primary px-3 py-2 rounded-md text-sm font-medium">Home</a>
<a href="index.html#tools" class="text-gray-500 hover:text-primary px-3 py-2 rounded-md text-sm font-medium">Tools</a>
<a href="index.html#pricing" class="text-gray-500 hover:text-primary px-3 py-2 rounded-md text-sm font-medium">Pricing</a>
<a href="index.html#contact" class="text-gray-500 hover:text-primary px-3 py-2 rounded-md text-sm font-medium">Contact</a>
</div>
<div class="-mr-2 flex items-center md:hidden">
<button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none" aria-controls="mobile-menu" aria-expanded="false">
<span class="sr-only">Open main menu</span>
<i data-feather="menu" class="h-6 w-6"></i>
</button>
</div>
</div>
</div>
</nav>
<!-- Checkout Section -->
<div class="py-12 bg-white text-gray-900">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="lg:grid lg:grid-cols-2 lg:gap-8">
<!-- Order Summary -->
<div class="lg:col-span-1">
<div class="bg-gray-800 rounded-lg checkout-card p-6 mb-8">
<h2 class="text-2xl font-bold text-white mb-6">Order Summary</h2>
<div class="border-b border-gray-200 pb-6">
<div class="flex justify-between items-center">
<div>
<h3 class="text-lg font-medium text-white">Accessibility Review Tool</h3>
<p class="text-gray-300">Professional Plan</p>
</div>
<span class="text-lg font-medium text-gray-900">$99.00</span>
</div>
<div class="mt-4 flex justify-between text-sm text-gray-600">
<span>Monthly subscription</span>
<span>Billed monthly</span>
</div>
</div>
<div class="mt-6">
<div class="flex justify-between text-base font-medium text-white">
<p>Subtotal</p>
<p>$99.00</p>
</div>
<div class="flex justify-between text-base font-medium text-white mt-2">
<p>Tax</p>
<p>$0.00</p>
</div>
<div class="flex justify-between text-base font-medium text-white mt-4 pt-4 border-t border-gray-600">
<p>Total</p>
<p>$99.00</p>
</div>
</div>
<div class="mt-6 flex items-center">
<i data-feather="lock" class="text-primary h-5 w-5"></i>
<span class="ml-2 text-sm text-gray-500">Secure checkout</span>
</div>
</div>
<div class="bg-gray-800 rounded-lg checkout-card p-6">
<h3 class="text-lg font-medium text-white mb-4">Payment Information</h3>
<div class="bg-gray-100 p-4 rounded-md">
<div class="flex items-center justify-between">
<div class="flex items-center">
<i data-feather="credit-card" class="text-gray-500 h-6 w-6"></i>
<span class="ml-3 text-gray-300">Credit Card</span>
</div>
<div class="flex items-center space-x-2">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/visa/visa-original.svg" class="h-6" alt="Visa">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/mastercard/mastercard-original.svg" class="h-6" alt="Mastercard">
<img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/apple/apple-original.svg" class="h-6" alt="Apple Pay">
</div>
</div>
</div>
</div>
</div>
<!-- Checkout Form -->
<div class="lg:col-span-1 mt-8 lg:mt-0">
<div class="bg-gray-800 rounded-lg checkout-card p-6">
<h2 class="text-2xl font-bold text-white mb-6">Complete Your Purchase</h2>
<form id="checkoutForm" class="space-y-6">
<div>
<label for="storeName" class="block text-sm font-medium text-gray-300">Store Name *</label>
<input type="text" id="storeName" name="storeName" required class="mt-1 py-3 px-4 block w-full border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary">
<p id="storeNameError" class="error-text hidden">Please enter your store name</p>
</div>
<div>
<label for="businessName" class="block text-sm font-medium text-gray-300">Business Name *</label>
<input type="text" id="businessName" name="businessName" required class="mt-1 py-3 px-4 block w-full border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary">
<p id="businessNameError" class="error-text hidden">Please enter your business name</p>
</div>
<div>
<label for="storeUrl" class="block text-sm font-medium text-gray-300">Store URL *</label>
<div class="mt-1 flex rounded-md shadow-sm">
<span class="inline-flex items-center px-3 rounded-l-md border border-r-0 border-gray-300 bg-gray-50 text-gray-500 text-sm">https://</span>
<input type="text" id="storeUrl" name="storeUrl" required class="py-3 px-4 block w-full border border-gray-300 rounded-r-md shadow-sm focus:ring-primary focus:border-primary">
</div>
<p id="storeUrlError" class="error-text hidden">Please enter your store URL</p>
</div>
<div>
<label for="businessEmail" class="block text-sm font-medium text-gray-300">Business Email *</label>
<input type="email" id="businessEmail" name="businessEmail" required class="mt-1 py-3 px-4 block w-full border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary">
<p id="businessEmailError" class="error-text hidden">Please enter a valid email address</p>
</div>
<div>
<label for="businessAddress" class="block text-sm font-medium text-gray-300">Business Address *</label>
<input type="text" id="businessAddress" name="businessAddress" required class="mt-1 py-3 px-4 block w-full border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary">
<p id="businessAddressError" class="error-text hidden">Please enter your business address</p>
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<label for="zipCode" class="block text-sm font-medium text-gray-300">ZIP Code *</label>
<input type="text" id="zipCode" name="zipCode" required class="mt-1 py-3 px-4 block w-full border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary">
<p id="zipCodeError" class="error-text hidden">Please enter your ZIP code</p>
</div>
<div>
<label for="country" class="block text-sm font-medium text-gray-300">Country *</label>
<select id="country" name="country" required class="mt-1 py-3 px-4 block w-full border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary">
<option value="">Select Country</option>
<option value="US">United States</option>
<option value="CA">Canada</option>
<option value="UK">United Kingdom</option>
<option value="AU">Australia</option>
<option value="DE">Germany</option>
<option value="FR">France</option>
<option value="JP">Japan</option>
</select>
<p id="countryError" class="error-text hidden">Please select your country</p>
</div>
</div>
<div>
<label for="paymentMethod" class="block text-sm font-medium text-gray-300">Payment Method *</label>
<select id="paymentMethod" name="paymentMethod" required class="mt-1 py-3 px-4 block w-full border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary">
<option value="">Select Payment Method</option>
<option value="credit">Credit Card</option>
<option value="paypal">PayPal</option>
<option value="bank">Bank Transfer</option>
</select>
<p id="paymentMethodError" class="error-text hidden">Please select a payment method</p>
</div>
<div class="flex items-center">
<input id="terms" name="terms" type="checkbox" required class="h-4 w-4 text-primary focus:ring-primary border-gray-300 rounded">
<label for="terms" class="ml-2 block text-sm text-white">
I agree to the <a href="#" class="text-primary hover:text-primary-dark">Terms of Service</a> and <a href="#" class="text-primary hover:text-primary-dark">Privacy Policy</a>
</label>
</div>
<p id="termsError" class="error-text hidden">You must agree to the terms</p>
<div>
<button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-primary hover:bg-primary-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary">
Complete Purchase
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer class="bg-blue-900">
<div class="max-w-7xl mx-auto py-8 px-4 sm:px-6 lg:px-8">
<div class="flex flex-col md:flex-row justify-between items-center">
<div class="flex items-center">
<i data-feather="tool" class="text-white h-6 w-6"></i>
<span class="ml-2 text-lg font-medium text-white">Shopify Toolbox Haven</span>
</div>
<div class="mt-4 md:mt-0">
<p class="text-center md:text-right text-sm text-blue-200">© 2023 Shopify Toolbox Haven. All rights reserved.</p>
</div>
</div>
</div>
</footer>
<script>
// Initialize feather icons
feather.replace();
// Form validation
document.getElementById('checkoutForm').addEventListener('submit', function(e) {
e.preventDefault();
let valid = true;
// Reset errors
document.querySelectorAll('.error-text').forEach(el => el.classList.add('hidden'));
document.querySelectorAll('input, select').forEach(el => el.classList.remove('error'));
// Validate each field
const fields = [
'storeName', 'businessName', 'storeUrl', 'businessEmail',
'businessAddress', 'zipCode', 'country', 'paymentMethod'
];
fields.forEach(field => {
const element = document.getElementById(field);
if (!element.value.trim()) {
element.classList.add('error');
document.getElementById(`${field}Error`).classList.remove('hidden');
valid = false;
}
});
if (!document.getElementById('terms').checked) {
document.getElementById('termsError').classList.remove('hidden');
valid = false;
}
// If form is valid, submit it
if (valid) {
// Create FormData object
const formData = new FormData(this);
const data = {};
formData.forEach((value, key) => {
data[key] = value;
});
// Add product info
data['product'] = 'Accessibility Review Tool - Professional Plan';
data['price'] = '$99.00';
data['date'] = new Date().toISOString();
// Here you would typically send this data to your server
console.log('Form data:', data);
// Send email notification (in a real app, this would be done server-side)
const emailBody = `
New Purchase on Shopify Toolbox Haven:
Store Name: ${data.storeName}
Business Name: ${data.businessName}
Store URL: ${data.storeUrl}
Business Email: ${data.businessEmail}
Business Address: ${data.businessAddress}
ZIP Code: ${data.zipCode}
Country: ${data.country}
Payment Method: ${data.paymentMethod}
Product: ${data.product}
Price: ${data.price}
`;
console.log('Email sent to noreply.akunatechnologies@gmail.com with body:', emailBody);
// Show success message
alert('Thank you for your purchase! Your tool will be available shortly.');
this.reset();
// In a real application, you would redirect to a success page
// window.location.href = 'success.html';
}
});
</script>
</body>
</html>
|