Update pages, components, and add stock images for visual layout enhancements

This commit is contained in:
R-Bharathraj
2026-06-30 13:36:16 +05:30
parent 9b93fa0d07
commit 7175adb0db
36 changed files with 340 additions and 604 deletions

View File

@@ -1,6 +1,7 @@
'use client';
import React from 'react';
import Image from 'next/image';
import GSAPAnimator from '@/components/GSAPAnimator';
import dynamic from 'next/dynamic';
@@ -13,11 +14,18 @@ export default function ContactsPage() {
{/* ── HERO ── */}
<section style={{
padding: '120px 8% 100px', background: '#07070d',
margin: '0 20px 20px', borderRadius: '0 0 24px 24px',
padding: '120px 8% 100px', background: 'radial-gradient(ellipse 120% 90% at 78% 0%, #2e2350 0%, #221b3e 38%, #191529 100%)',
margin: '0 20px 20px', borderRadius: '0 0 32px 32px',
position: 'relative', overflow: 'hidden',
display: 'flex', alignItems: 'center',
}}>
{/* Background photo */}
<Image src="/images/stock/contacts.jpg" alt="" fill priority style={{ objectFit: 'cover', objectPosition: 'top center', opacity: 0.9 }} />
<div style={{ position: 'absolute', inset: 0, background: 'linear-gradient(180deg, rgba(25,21,41,0.1) 0%, rgba(25,21,41,0.55) 85%)' }} />
<div style={{ position: 'absolute', inset: 0, background: 'radial-gradient(ellipse 60% 65% at 50% 48%, rgba(18,14,30,0.78) 0%, rgba(18,14,30,0.35) 60%, transparent 100%)' }} />
{/* Accent blobs */}
<div style={{ position: 'absolute', top: '-10%', left: '-8%', width: 480, height: 480, borderRadius: '50%', background: 'radial-gradient(circle, rgba(244,190,40,0.2) 0%, transparent 70%)', pointerEvents: 'none' }} />
<div style={{ position: 'absolute', bottom: '-18%', right: '-6%', width: 440, height: 440, borderRadius: '50%', background: 'radial-gradient(circle, rgba(167,139,250,0.18) 0%, transparent 70%)', pointerEvents: 'none' }} />
{/* Grid texture */}
<div style={{
position: 'absolute', inset: 0, pointerEvents: 'none',
@@ -25,14 +33,16 @@ export default function ContactsPage() {
backgroundSize: '60px 60px',
}} />
<div style={{ position: 'relative', zIndex: 2, width: '100%', display: 'grid', gridTemplateColumns: '1fr auto', alignItems: 'center', gap: '6vw' }}>
<div style={{ maxWidth: 680 }}>
<div style={{ position: 'relative', zIndex: 2, width: '100%', display: 'flex', flexDirection: 'column', alignItems: 'center', textAlign: 'center' }}>
<div style={{ maxWidth: 760 }}>
<div style={{
fontSize: 11, fontWeight: 700, letterSpacing: '0.2em', textTransform: 'uppercase',
color: '#f4be28', fontFamily: 'Manrope, sans-serif', marginBottom: 28,
display: 'flex', alignItems: 'center', gap: 12,
color: '#f4be28', fontFamily: 'Sora, sans-serif', marginBottom: 32,
display: 'inline-flex', alignItems: 'center', gap: 10,
padding: '8px 18px', borderRadius: 100,
background: 'rgba(244,190,40,0.08)', border: '1px solid rgba(244,190,40,0.22)',
}}>
<span style={{ width: 32, height: 1, background: '#f4be28', display: 'block' }} />Contact
<span style={{ width: 6, height: 6, borderRadius: '50%', background: '#f4be28', display: 'block' }} />Contact
</div>
<h1 data-gsap="heading" style={{
fontSize: 'clamp(48px, 8vw, 120px)', fontWeight: 900,
@@ -44,14 +54,14 @@ export default function ContactsPage() {
</h1>
<p data-gsap="text" style={{
fontSize: 'clamp(16px, 1.5vw, 20px)', lineHeight: 1.75,
color: 'rgba(255,255,255,0.42)', fontFamily: 'Manrope, sans-serif',
maxWidth: 540, margin: 0,
color: 'rgba(255,255,255,0.55)', fontFamily: 'Sora, sans-serif',
maxWidth: 540, margin: '0 auto',
}}>
Tell us about your store and your goals. Our team will get back to you within one business day.
</p>
{/* Quick contact chips */}
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 12, marginTop: 44 }}>
<div style={{ display: 'flex', flexWrap: 'wrap', justifyContent: 'center', gap: 12, marginTop: 44 }}>
{[
{ label: 'loyalydigital@gmail.com', href: 'mailto:loyalydigital@gmail.com' },
{ label: 'Coimbatore, TN', href: undefined },
@@ -60,9 +70,9 @@ export default function ContactsPage() {
<span style={{
display: 'inline-flex', alignItems: 'center', gap: 8,
padding: '10px 18px', borderRadius: 100,
background: 'rgba(255,255,255,0.05)', border: '1px solid rgba(255,255,255,0.1)',
fontSize: 14, fontWeight: 600, color: 'rgba(255,255,255,0.7)',
fontFamily: 'Manrope, sans-serif',
background: 'rgba(255,255,255,0.07)', border: '1px solid rgba(255,255,255,0.14)',
fontSize: 14, fontWeight: 600, color: 'rgba(255,255,255,0.8)',
fontFamily: 'Sora, sans-serif',
}}>
<span style={{ width: 6, height: 6, borderRadius: '50%', background: '#f4be28', display: 'block' }} />
{c.label}
@@ -74,45 +84,6 @@ export default function ContactsPage() {
})}
</div>
</div>
{/* Message preview widget */}
<div className="pw-widget-col" style={{ flexShrink: 0, width: 320 }}>
<div style={{
borderRadius: 24, padding: '24px',
background: 'linear-gradient(145deg,#0e0e13 0%,#16161d 100%)',
border: '1px solid rgba(244,190,40,0.15)',
boxShadow: '0 40px 100px rgba(0,0,0,0.6)',
}}>
{/* Header */}
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 18, paddingBottom: 16, borderBottom: '1px solid rgba(255,255,255,0.06)' }}>
<div>
<div style={{ fontSize: 13, fontWeight: 700, color: '#fff', fontFamily: 'Manrope, sans-serif' }}>New Message</div>
<div style={{ fontSize: 11, color: 'rgba(255,255,255,0.28)', fontFamily: 'Manrope, sans-serif', marginTop: 2 }}>loyalydigital@gmail.com</div>
</div>
<span style={{ fontSize: 10, color: '#4ade80', fontWeight: 700, background: 'rgba(74,222,128,0.1)', border: '1px solid rgba(74,222,128,0.28)', padding: '4px 10px', borderRadius: 100, fontFamily: 'Manrope, sans-serif' }}>● LIVE</span>
</div>
{/* Incoming message */}
<div style={{ background: 'rgba(255,255,255,0.04)', borderRadius: 16, padding: '14px 16px', marginBottom: 12, border: '1px solid rgba(255,255,255,0.07)' }}>
<div style={{ fontSize: 11, color: 'rgba(255,255,255,0.3)', fontFamily: 'Manrope, sans-serif', marginBottom: 8 }}>From: A Retail Partner</div>
<div style={{ fontSize: 13, color: 'rgba(255,255,255,0.68)', fontFamily: 'Manrope, sans-serif', lineHeight: 1.65 }}>"We'd love to explore how Loyaly.ai can drive footfall and loyalty for our chain of stores..."</div>
</div>
{/* Reply */}
<div style={{ background: 'rgba(244,190,40,0.07)', borderRadius: 16, padding: '14px 16px', marginBottom: 20, border: '1px solid rgba(244,190,40,0.2)' }}>
<div style={{ fontSize: 11, color: 'rgba(255,255,255,0.3)', fontFamily: 'Manrope, sans-serif', marginBottom: 8 }}>Loyaly.ai</div>
<div style={{ fontSize: 13, color: 'rgba(255,255,255,0.68)', fontFamily: 'Manrope, sans-serif', lineHeight: 1.65 }}>We'll be in touch within one business day. Let's build something great together! </div>
</div>
{/* Contact details */}
{[
{ icon: '📍', text: 'Coimbatore, Tamil Nadu' },
{ icon: '✉️', text: 'loyalydigital@gmail.com' },
{ icon: '⏱', text: 'Response within 24 hours' },
].map((c, i) => (
<div key={i} style={{ display: 'flex', alignItems: 'center', gap: 10, padding: '9px 0', borderTop: i > 0 ? '1px solid rgba(255,255,255,0.05)' : 'none' }}>
<span style={{ fontSize: 14, width: 20, textAlign: 'center' }}>{c.icon}</span>
<span style={{ fontSize: 12, color: 'rgba(255,255,255,0.42)', fontFamily: 'Manrope, sans-serif' }}>{c.text}</span>
</div>
))}
</div>
</div>
</div>
</section>