From 917224e741b81766691fc9f0347769dd0bea9d15 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Mon, 27 Jul 2026 17:52:36 +0000 Subject: [PATCH] Deploy --- .../sections/SowetoConnectSection.tsx | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 src/components/sections/SowetoConnectSection.tsx diff --git a/src/components/sections/SowetoConnectSection.tsx b/src/components/sections/SowetoConnectSection.tsx new file mode 100644 index 0000000..8ba5d7c --- /dev/null +++ b/src/components/sections/SowetoConnectSection.tsx @@ -0,0 +1,134 @@ +'use client' + +import { useVulaContent } from '@/hooks/useVulaContent' +import { Camera, Clock, Globe, Mail, MapPin, MessageCircle, Phone, Shield } from 'lucide-react' + +import Image from 'next/image' + +export default function SowetoConnectSection() { + const { items, loading } = useVulaContent('business_hours') + + // All hooks must be at the top — this is safe because done before early returns + if (loading) { + return ( +
+
+
+ ) + } + if (items.length === 0) return null + + const hours = items.map((item) => { + const d = item.data as { + day_of_week?: string + open_time?: string + close_time?: string + is_closed?: boolean + note?: string + } + return { + day: d.day_of_week || '', + open: d.open_time || '', + close: d.close_time || '', + closed: d.is_closed || false, + note: d.note || '' + } + }) + + return ( +
+
+

+ Soweto Connect +

+

+ Real brand. Real location. Real people. Reach us directly or come through — we serve from the heart of Soweto. +

+ +
+ {/* Business Hours */} +
+
+ +

Opening Hours

+
+
    + {hours.map((h, i) => ( +
  • + {h.day} + + {h.closed ? 'Closed' : `${h.open} – ${h.close}`} + +
  • + ))} +
+ {hours.some((h) => h.note) && ( +

{hours.find((h) => h.note)?.note}

+ )} +
+ + {/* Mini Map – Soweto Roots */} +
+
+ +

Rooted in Soweto

+
+
+ Soweto township view +
+

+ Based in Orlando East, Soweto — every drop is packed from our community studio. +

+
+ + {/* Contact + Policies */} +
+
+ +

Get in Touch

+
+ +
+
+ + Shipping & Returns +
+

+ Free shipping in SA on orders over R800. International shipping via DHL (7–14 days). + 14-day return window for unworn items. Full policy at checkout. +

+
+
+ + +
+
+
+
+
+ ) +} \ No newline at end of file