Files
SkyArtShop/website/public/contact.html

671 lines
23 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
2025-12-19 20:44:46 -06:00
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Contact Us - Sky Art Shop</title>
<link
href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap"
rel="stylesheet"
/>
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css"
/>
<link rel="stylesheet" href="/assets/css/theme-colors.css" />
2026-01-01 22:24:30 -06:00
<link rel="stylesheet" href="/assets/css/main.css?v=1735692100" />
<link rel="stylesheet" href="/assets/css/navbar.css?v=1767233028" />
<link rel="stylesheet" href="/assets/css/page-overrides.css?v=1736790001" />
2026-01-04 17:52:37 -06:00
<link rel="stylesheet" href="/assets/css/cart-wishlist.css" />
<link rel="stylesheet" href="/assets/css/shopping.css" />
2026-01-01 22:24:30 -06:00
<link rel="stylesheet" href="/assets/css/responsive.css" />
<link
rel="stylesheet"
href="/assets/css/navbar-mobile-fix.css?v=1736790000"
/>
2025-12-19 20:44:46 -06:00
<style>
@media (max-width: 768px) {
#contactForm > div[style*="grid-template-columns"] {
grid-template-columns: 1fr !important;
}
}
</style>
2026-01-01 22:24:30 -06:00
<link rel="stylesheet" href="/assets/css/theme-colors.css" />
2025-12-19 20:44:46 -06:00
</head>
<body>
<script>
window.__bodyReady = true;
</script>
<!-- Modern Navigation -->
<div class="sticky-banner-wrapper">
<nav class="modern-navbar">
<div class="navbar-wrapper">
<div class="navbar-brand">
<a href="/home" class="brand-link">
<img
src="/uploads/cat-png-1767324141436-368259437.png"
alt="Sky Art Shop Logo"
class="brand-logo"
/>
<span class="brand-name">Sky' Art Shop</span>
</a>
</div>
2025-12-19 20:44:46 -06:00
<div class="navbar-menu">
<ul class="nav-menu-list">
<li class="nav-item">
<a href="/home" class="nav-link">Home</a>
</li>
<li class="nav-item">
<a href="/shop" class="nav-link">Shop</a>
</li>
<li class="nav-item">
<a href="/portfolio" class="nav-link">Portfolio</a>
</li>
<li class="nav-item">
<a href="/about" class="nav-link">About</a>
</li>
<li class="nav-item">
<a href="/blog" class="nav-link">Blog</a>
</li>
<li class="nav-item">
<a href="/contact" class="nav-link active">Contact</a>
</li>
</ul>
</div>
2025-12-19 20:44:46 -06:00
<div class="navbar-actions">
<div class="action-item wishlist-dropdown-wrapper">
<button
class="action-btn"
id="wishlistToggle"
aria-label="Wishlist"
>
<i class="bi bi-heart"></i>
<span class="action-badge" id="wishlistCount">0</span>
</button>
<div class="action-dropdown wishlist-dropdown" id="wishlistPanel">
<div class="dropdown-head">
<h3>My Wishlist</h3>
<button class="dropdown-close" id="wishlistClose">
<i class="bi bi-x-lg"></i>
</button>
</div>
<div class="dropdown-body" id="wishlistContent">
<p class="empty-state">Your wishlist is empty</p>
</div>
<div class="dropdown-foot">
<a href="/shop" class="btn-outline">Continue Shopping</a>
</div>
</div>
</div>
<div class="action-item cart-dropdown-wrapper">
<button
class="action-btn"
id="cartToggle"
aria-label="Shopping Cart"
>
<i class="bi bi-cart3"></i>
<span class="action-badge" id="cartCount">0</span>
</button>
<div class="action-dropdown cart-dropdown" id="cartPanel">
<div class="dropdown-head">
<h3>Shopping Cart</h3>
<button class="dropdown-close" id="cartClose">
<i class="bi bi-x-lg"></i>
</button>
</div>
<div class="dropdown-body" id="cartContent">
<p class="empty-state">Your cart is empty</p>
</div>
<div class="dropdown-foot">
<div class="cart-summary">
<span class="summary-label">Subtotal:</span>
<span class="summary-value" id="cartSubtotal">$0.00</span>
</div>
<a href="/checkout" class="btn-primary-full"
>Proceed to Checkout</a
>
<a href="/shop" class="btn-text">Continue Shopping</a>
</div>
</div>
</div>
2025-12-19 20:44:46 -06:00
<button
class="mobile-toggle"
id="mobileMenuToggle"
aria-label="Menu"
2025-12-19 20:44:46 -06:00
>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
<span class="toggle-line"></span>
</button>
</div>
</div>
2025-12-19 20:44:46 -06:00
<div class="mobile-menu" id="mobileMenu">
<div class="mobile-menu-header">
<span class="mobile-brand">Sky' Art Shop</span>
<button class="mobile-close" id="mobileMenuClose">
<i class="bi bi-x-lg"></i>
</button>
</div>
<ul class="mobile-menu-list">
<li><a href="/home" class="mobile-link">Home</a></li>
<li><a href="/shop" class="mobile-link">Shop</a></li>
<li><a href="/portfolio" class="mobile-link">Portfolio</a></li>
<li><a href="/about" class="mobile-link">About</a></li>
<li><a href="/blog" class="mobile-link">Blog</a></li>
<li><a href="/contact" class="mobile-link">Contact</a></li>
</ul>
</div>
</nav>
</div>
2025-12-19 20:44:46 -06:00
<!-- Contact Hero -->
<section
class="contact-hero"
style="
2026-01-01 22:24:30 -06:00
background: linear-gradient(135deg, #f6ccde 0%, #fcb1d8 100%);
padding: 40px 0 30px;
color: #202023;
2025-12-19 20:44:46 -06:00
text-align: center;
"
>
<div class="container">
2026-01-01 22:24:30 -06:00
<h1
style="
font-size: 2.5rem;
margin-bottom: 16px;
font-weight: 700;
color: #202023;
"
>
2025-12-19 20:44:46 -06:00
Get In Touch
</h1>
<p
style="
font-size: 1.1rem;
2026-01-01 22:24:30 -06:00
color: #202023;
opacity: 0.9;
2025-12-19 20:44:46 -06:00
max-width: 600px;
margin: 0 auto;
"
>
Have questions or feedback? We'd love to hear from you. Send us a
message and we'll respond as soon as possible.
</p>
</div>
2025-12-19 20:44:46 -06:00
</section>
<!-- Business Contact Information -->
2025-12-24 00:13:23 -06:00
<section
style="padding: 60px 0 40px; background: white"
id="contactInfoSection"
>
2025-12-19 20:44:46 -06:00
<div class="container" style="max-width: 1000px">
2025-12-24 00:13:23 -06:00
<div style="text-align: center; padding: 40px">
2025-12-19 20:44:46 -06:00
<div
2025-12-24 00:13:23 -06:00
class="loading-spinner"
2025-12-19 20:44:46 -06:00
style="
2025-12-24 00:13:23 -06:00
border: 4px solid #f3f3f3;
2026-01-04 17:52:37 -06:00
border-top: 4px solid #fcb1d8;
2025-12-24 00:13:23 -06:00
border-radius: 50%;
width: 50px;
height: 50px;
animation: spin 1s linear infinite;
margin: 0 auto 20px;
2025-12-19 20:44:46 -06:00
"
2025-12-24 00:13:23 -06:00
></div>
<p>Loading contact information...</p>
</div>
</div>
</section>
2025-12-24 00:13:23 -06:00
<style>
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Contact card hover effects */
#contactInfoSection [style*="border: 2px solid"]:hover {
2026-01-04 17:52:37 -06:00
border-color: #fcb1d8 !important;
2025-12-24 00:13:23 -06:00
transform: translateY(-4px);
2026-01-04 17:52:37 -06:00
box-shadow: 0 8px 16px rgba(252, 177, 216, 0.2);
2025-12-24 00:13:23 -06:00
}
</style>
2025-12-19 20:44:46 -06:00
<!-- Contact Form Section -->
<section
class="contact-section"
style="padding: 80px 0; background: #f8f9fa"
>
<div class="container" style="max-width: 800px">
<div style="text-align: center; margin-bottom: 40px">
<h2
style="
font-size: 2rem;
font-weight: 700;
2026-01-04 17:52:37 -06:00
color: #202023;
2025-12-19 20:44:46 -06:00
margin-bottom: 12px;
"
>
Send Us a Message
</h2>
2026-01-04 17:52:37 -06:00
<p style="font-size: 1rem; color: #202023">
2025-12-19 20:44:46 -06:00
Fill out the form below and we'll get back to you within 24 hours
</p>
</div>
<div
class="contact-form-wrapper"
style="
background: white;
border-radius: 16px;
padding: 48px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
"
>
<form
id="contactForm"
style="display: flex; flex-direction: column; gap: 16px"
>
<!-- Name and Email Row -->
<div
style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px"
>
<!-- Name Field -->
<div class="form-group">
<label
for="name"
style="
display: block;
font-weight: 600;
margin-bottom: 8px;
color: #2d3436;
font-size: 15px;
"
>
Full Name <span style="color: #ff6b6b">*</span>
</label>
<input
type="text"
id="name"
name="name"
required
placeholder="John Doe"
style="
width: 100%;
padding: 14px 16px;
border: 2px solid #e1e8ed;
border-radius: 8px;
font-size: 15px;
transition: all 0.3s;
font-family: 'Roboto', sans-serif;
"
2026-01-04 17:52:37 -06:00
onfocus="this.style.borderColor='#FCB1D8'; this.style.outline='none';"
2025-12-19 20:44:46 -06:00
onblur="this.style.borderColor='#e1e8ed';"
/>
</div>
<!-- Email Field -->
<div class="form-group">
<label
for="email"
style="
display: block;
font-weight: 600;
margin-bottom: 8px;
2026-01-04 17:52:37 -06:00
color: #202023;
2025-12-19 20:44:46 -06:00
font-size: 15px;
"
>
2026-01-04 17:52:37 -06:00
Email Address <span style="color: #fcb1d8">*</span>
2025-12-19 20:44:46 -06:00
</label>
<input
type="email"
id="email"
name="email"
required
placeholder="john@example.com"
style="
width: 100%;
padding: 14px 16px;
border: 2px solid #e1e8ed;
border-radius: 8px;
font-size: 15px;
transition: all 0.3s;
font-family: 'Roboto', sans-serif;
"
2026-01-04 17:52:37 -06:00
onfocus="this.style.borderColor='#FCB1D8'; this.style.outline='none';"
2025-12-19 20:44:46 -06:00
onblur="this.style.borderColor='#e1e8ed';"
/>
</div>
</div>
2025-12-19 20:44:46 -06:00
<!-- Phone and Subject Row -->
<div
style="display: grid; grid-template-columns: 1fr 1fr; gap: 16px"
>
<!-- Phone Field -->
<div class="form-group">
<label
for="phone"
style="
display: block;
font-weight: 600;
margin-bottom: 8px;
2026-01-04 17:52:37 -06:00
color: #202023;
2025-12-19 20:44:46 -06:00
font-size: 15px;
"
>
Phone Number
2026-01-04 17:52:37 -06:00
<span style="color: #202023; font-weight: 400; opacity: 0.6"
>(Optional)</span
>
2025-12-19 20:44:46 -06:00
</label>
<input
type="tel"
id="phone"
name="phone"
placeholder="(123) 456-7890"
style="
width: 100%;
padding: 14px 16px;
border: 2px solid #e1e8ed;
border-radius: 8px;
font-size: 15px;
transition: all 0.3s;
font-family: 'Roboto', sans-serif;
"
2026-01-04 17:52:37 -06:00
onfocus="this.style.borderColor='#FCB1D8'; this.style.outline='none';"
2025-12-19 20:44:46 -06:00
onblur="this.style.borderColor='#e1e8ed';"
/>
</div>
<!-- Subject Field -->
<div class="form-group">
<label
for="subject"
style="
display: block;
font-weight: 600;
margin-bottom: 8px;
color: #2d3436;
font-size: 15px;
"
>
Subject <span style="color: #ff6b6b">*</span>
</label>
<input
type="text"
id="subject"
name="subject"
required
placeholder="How can we help you?"
style="
width: 100%;
padding: 14px 16px;
border: 2px solid #e1e8ed;
border-radius: 8px;
font-size: 15px;
transition: all 0.3s;
font-family: 'Roboto', sans-serif;
"
2026-01-04 17:52:37 -06:00
onfocus="this.style.borderColor='#FCB1D8'; this.style.outline='none';"
2025-12-19 20:44:46 -06:00
onblur="this.style.borderColor='#e1e8ed';"
/>
</div>
</div>
<!-- Message Field -->
<div class="form-group">
<label
for="message"
style="
display: block;
font-weight: 600;
margin-bottom: 8px;
2026-01-04 17:52:37 -06:00
color: #202023;
2025-12-19 20:44:46 -06:00
font-size: 15px;
"
>
2026-01-04 17:52:37 -06:00
Full Name <span style="color: #fcb1d8">*</span>
2025-12-19 20:44:46 -06:00
</label>
<textarea
id="message"
name="message"
required
rows="6"
placeholder="Tell us more about your inquiry..."
style="
width: 100%;
padding: 14px 16px;
border: 2px solid #e1e8ed;
border-radius: 8px;
font-size: 15px;
transition: all 0.3s;
resize: vertical;
font-family: 'Roboto', sans-serif;
line-height: 1.6;
"
2026-01-04 17:52:37 -06:00
onfocus="this.style.borderColor='#FCB1D8'; this.style.outline='none';"
2025-12-19 20:44:46 -06:00
onblur="this.style.borderColor='#e1e8ed';"
></textarea>
</div>
<!-- Submit Button -->
<div style="margin-top: 8px">
<button
type="submit"
style="
width: 100%;
padding: 16px 32px;
2026-01-04 17:52:37 -06:00
background: linear-gradient(135deg, #f6ccde 0%, #fcb1d8 100%);
color: #202023;
2025-12-19 20:44:46 -06:00
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s;
font-family: 'Roboto', sans-serif;
"
2026-01-04 17:52:37 -06:00
onmouseover="this.style.transform='translateY(-2px)'; this.style.boxShadow='0 8px 20px rgba(252,177,216,0.4)';"
2025-12-19 20:44:46 -06:00
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none';"
>
<i class="bi bi-send" style="margin-right: 8px"></i>
Send Message
</button>
</div>
<!-- Success/Error Message -->
<div
id="formMessage"
style="
display: none;
padding: 16px;
border-radius: 8px;
text-align: center;
font-weight: 500;
"
></div>
</form>
</div>
2025-12-19 20:44:46 -06:00
</div>
</section>
<footer class="footer">
2025-12-19 20:44:46 -06:00
<div class="container">
<div class="footer-grid">
<div class="footer-col">
<h3 class="footer-title">Sky Art Shop</h3>
<p class="footer-text">
Your destination for unique art pieces and creative supplies.
</p>
<div class="social-links">
<a href="#" class="social-link"><i class="bi bi-facebook"></i></a>
<a href="#" class="social-link"
><i class="bi bi-instagram"></i
></a>
<a href="#" class="social-link"><i class="bi bi-twitter"></i></a>
<a href="#" class="social-link"
><i class="bi bi-pinterest"></i
></a>
</div>
2025-12-19 20:44:46 -06:00
</div>
<div class="footer-col">
<h4 class="footer-heading">Shop</h4>
<ul class="footer-links">
2026-01-01 22:24:30 -06:00
<li><a href="/shop">All Products</a></li>
<li><a href="/shop?category=paintings">Paintings</a></li>
<li><a href="/shop?category=prints">Prints</a></li>
<li><a href="/shop?category=supplies">Art Supplies</a></li>
2025-12-19 20:44:46 -06:00
</ul>
</div>
<div class="footer-col">
<h4 class="footer-heading">About</h4>
<ul class="footer-links">
2026-01-01 22:24:30 -06:00
<li><a href="/about">Our Story</a></li>
<li><a href="/portfolio">Portfolio</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="/contact">Contact</a></li>
2025-12-19 20:44:46 -06:00
</ul>
</div>
<div class="footer-col">
<h4 class="footer-heading">Customer Service</h4>
<ul class="footer-links">
2026-01-01 22:24:30 -06:00
<li><a href="/shipping-info">Shipping Info</a></li>
<li><a href="/returns">Returns</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/privacy">Privacy Policy</a></li>
2025-12-19 20:44:46 -06:00
</ul>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2025 Sky Art Shop. All rights reserved.</p>
</div>
2025-12-19 20:44:46 -06:00
</div>
</footer>
2026-01-01 22:24:30 -06:00
<script src="/assets/js/page-transitions.js?v=1766709739"></script>
<script src="/assets/js/back-button-control.js?v=1766723554"></script>
<script src="/assets/js/main.js"></script>
2025-12-24 00:13:23 -06:00
<script src="/assets/js/navigation.js"></script>
<script src="/assets/js/cart.js"></script>
2025-12-19 20:44:46 -06:00
<script src="/assets/js/shopping.js"></script>
<script>
// Handle contact form submission
document
.getElementById("contactForm")
.addEventListener("submit", async function (e) {
e.preventDefault();
const formMessage = document.getElementById("formMessage");
const submitButton = e.target.querySelector('button[type="submit"]');
const originalButtonText = submitButton.innerHTML;
// Disable button and show loading state
submitButton.disabled = true;
submitButton.innerHTML =
'<i class="bi bi-hourglass-split" style="margin-right: 8px;"></i>Sending...';
// Get form data
const formData = {
name: document.getElementById("name").value,
email: document.getElementById("email").value,
phone: document.getElementById("phone").value,
subject: document.getElementById("subject").value,
message: document.getElementById("message").value,
timestamp: new Date().toISOString(),
};
try {
// Simulate API call (replace with actual endpoint when ready)
await new Promise((resolve) => setTimeout(resolve, 1500));
// Show success message
formMessage.style.display = "block";
formMessage.style.background = "#d4edda";
formMessage.style.color = "#155724";
formMessage.style.border = "1px solid #c3e6cb";
formMessage.innerHTML =
'<i class="bi bi-check-circle" style="margin-right: 8px;"></i>Thank you! Your message has been sent successfully. We\'ll get back to you soon.';
// Reset form
e.target.reset();
// Log to console (for now)
console.log("Contact form submitted:", formData);
} catch (error) {
// Show error message
formMessage.style.display = "block";
formMessage.style.background = "#f8d7da";
formMessage.style.color = "#721c24";
formMessage.style.border = "1px solid #f5c6cb";
formMessage.innerHTML =
'<i class="bi bi-exclamation-circle" style="margin-right: 8px;"></i>Oops! Something went wrong. Please try again or email us directly.';
console.error("Contact form error:", error);
} finally {
// Re-enable button
submitButton.disabled = false;
submitButton.innerHTML = originalButtonText;
// Hide message after 5 seconds
setTimeout(() => {
formMessage.style.display = "none";
}, 5000);
}
});
2025-12-24 00:13:23 -06:00
// Load contact information from API
async function loadContactInfo() {
try {
const response = await fetch("/api/pages/contact");
const data = await response.json();
if (data.success && data.page) {
const section = document.getElementById("contactInfoSection");
section.innerHTML = `
<div class="container" style="max-width: 1000px">
${data.page.content}
</div>
`;
// Update meta tags
if (data.page.metatitle) {
document.title = data.page.metatitle;
}
if (data.page.metadescription) {
const metaDesc = document.querySelector(
'meta[name="description"]'
);
if (metaDesc) {
metaDesc.content = data.page.metadescription;
}
}
}
} catch (error) {
console.error("Error loading contact info:", error);
document.getElementById("contactInfoSection").innerHTML =
'<div class="container"><p style="text-align:center;">Error loading contact information.</p></div>';
}
}
// Load content when page loads
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", loadContactInfo);
} else {
loadContactInfo();
}
2025-12-19 20:44:46 -06:00
</script>
<script src="/assets/js/shop-system.js"></script>
2025-12-19 20:44:46 -06:00
</body>
</html>