Communications

Contact Page

Two-column contact page with a complete form system and triple-fallback email sending. Features animated left panel with status indicator and clickable social grid.

Left-এ profile + contact info, right-এ animated form। EmailJS fail হলে Web3Forms, সেটাও fail হলে mailto — triple-fallback system।

Contact/contact.html Triple Fallback Live Status Dot
…/Contact/contact.html
AVAILABLE
Layout Structure

Two-Column Layout

পুরো page CSS Grid দিয়ে দুই column-এ ভাগ — left: profile info panel, right: contact form।

Left Panel — Info
Profile photo, name, subtitle, animated "Available" status with pulsing green dot, 3 direct contact items (Email, Location, Response Time), and 5-icon social grid.
Profile info সব এক জায়গায় — hover করলে contact items scale up হয়।
Right Panel — Form
Full contact form: Name, Email, Subject, Message textarea. Submit button shows loading spinner. Success/error message overlay appears after sending.
Submit করলে button-এ spinner চলে। Send হলে success message, fail হলে error — সব animated।
Status Indicator
Pulsing green dot showing "Available for Projects". CSS statusPulse animation: box-shadow grows and fades in 2.5s loop. Color: #22c55e.
Green dot টি CSS animation দিয়ে চলমান। "Available" = সবুজ, busy হলে হলুদ করা যাবে।
Mobile Responsive
Below 768px: stacks to single column. Left panel becomes top strip, form below. Desktop-only horizontal line decorators hidden on mobile.
Mobile-এ একটার নিচে আরেকটা stack হয়। Desktop redirect হয় না — contact page responsive।
Email System

Triple-Fallback Sending

Form submit হলে পর্যায়ক্রমে তিনটি method চেষ্টা করে — যেটা কাজ করে সেটা দিয়ে email পাঠায়।

PRIMARY
EmailJS
SDK-based · auto-reply to sender · template variables · direct gmail send
FALLBACK 1
Web3Forms
REST API · no SDK needed · works even if EmailJS quota exceeded
FALLBACK 2
mailto:
Native OS email client · zero dependency · always available
EmailJS Auto-Reply
Primary EmailJS call-এ sender-কে automatically একটি reply email যায়। Template ID: stored in JS config। Service ID + Template ID + Public Key তিনটি পৃথক variable-এ রাখা। কোনো backend নেই — সব client-side।
Form Structure

Form Fields

FieldTypeValidationPurpose
nametext inputrequired, minlength 2Sender's full name
emailemail inputrequired, email formatReply-to address for auto-reply
subjecttext inputrequiredEmail subject line
messagetextarearequired, minlength 10Main message body
Submit buttonbuttonShows spinner during send, disabled while loading
Social Links

Social Grid

Left panel-এর নিচে ৫টি social icon — hover করলে প্রতিটি তার brand color-এ glow করে।

Animations

CSS Animations

AnimationElementEffect
statusPulseGreen status dotbox-shadow expands from 0→5px and fades, 2.5s loop
formSlideForm panelslides in from right on page load (0.6s ease)
infoFadeInfo panelfades + slides in from left on page load
Hover scaleContact itemstranslateX(6px) on hover
SpinnerSubmit buttonCSS spin keyframe on fa-spinner icon during send