Repository navigation
Pages and Components
Lavesh Paryani edited this page Sep 26, 2026
·
1 revision
All routes are hash routes under https://stackified.github.io/euphoric/#/..., declared in
frontend/src/App.jsx.
| Route | File | Content and data source |
|---|---|---|
/ |
pages/Home.jsx |
Hero, ServicesPreview, QuickActionBox, EventsPreview, GalleryPreview, AboutEuphoric
|
/about |
pages/About.jsx |
Brand story and mission (text in the component) |
/services |
pages/Services.jsx |
Twelve event types (corporate, wedding, exhibition, college, charity, festival, fashion show, inauguration, social, live concert, private party, club) |
/gallery |
pages/Gallery.jsx |
Photo grid from utils/imageImports.js with a modal viewer and previous / next navigation |
/events |
pages/Events.jsx |
Event cards from the Redux events slice (data/events.json) |
/contact |
pages/Contact.jsx |
Phone, WhatsApp, email and Instagram links, plus a "save contact" button that generates a .vcf file in the browser |
/links |
pages/Links.jsx |
Link-in-bio style list (Instagram accounts, video drafts, YouTube) |
/enquiry |
pages/Enquiry.jsx |
Enquiry form (name, email, phone, message) sent through EmailJS |
Navbar items: Home, Upcoming Events, Gallery, Services, Contact. The Footer adds a Videos link.
These files are complete but switched off in App.jsx, Navbar.jsx and Home.jsx (commented out),
so they can be re-enabled without new code:
| File | What it does |
|---|---|
pages/Videos.jsx + components/videos/VideoGallery.jsx
|
Video grid with hover previews, remembered playback position, keyboard navigation (arrows, space, escape) and a full-screen view |
components/videos/VideoPlayer.jsx |
Custom player: seek bar, volume, fullscreen, keyboard shortcuts, buffering state, start time |
components/FeaturedVideos.jsx |
Home-page video showcase linking to /videos
|
pages/Feedbacks.jsx |
Reviews from data/reviews.json plus a feedback form sent through EmailJS |
The videos they use live in frontend/src/assets/ under Git LFS and are listed in
utils/videoImports.js with titles and descriptions.
| Component | Role |
|---|---|
Navbar.jsx |
Fixed, responsive navigation with a mobile menu |
Footer.jsx |
Quick links and copyright line |
Hero.jsx |
Full-screen hero with image background and contact buttons (call, WhatsApp, email, Instagram) |
ServicesPreview.jsx, EventsPreview.jsx, GalleryPreview.jsx
|
Home-page teasers for the full pages |
QuickActionBox.jsx |
WhatsApp and Instagram call-to-action buttons |
AboutEuphoric.jsx |
About section on the home page |
CookieBanner.jsx |
Consent banner; choice stored in localStorage through the cookies slice |
Alert.jsx + context/AlertContext.jsx + hooks/useAlert.js
|
Toast notifications (used by the forms) |
Loader.jsx, PageLoader.jsx
|
Spinner and first-load overlay |
| To change | Edit |
|---|---|
| Events |
frontend/src/data/events.json (id, title, date, location, image, description) |
| Gallery photos | Add the file to frontend/src/assets/, then import it and add it to the arrays in utils/imageImports.js
|
| Services | The services array in pages/Services.jsx
|
| Social and contact links |
Hero.jsx, QuickActionBox.jsx, Contact.jsx, Links.jsx
|
| Enquiry email destination | The EmailJS template (and to_email in pages/Enquiry.jsx) |
Every content change needs a rebuild, which happens automatically on push to main.
EUPHORIC LIVE