diff --git a/frontend/src/components/Contact.jsx b/frontend/src/components/Contact.jsx index e2f598b..20f67e4 100644 --- a/frontend/src/components/Contact.jsx +++ b/frontend/src/components/Contact.jsx @@ -1,11 +1,13 @@ import React, { useState, useEffect } from 'react'; import { motion } from 'framer-motion'; +import { MapPin, Phone, Mail, Instagram, MessageCircle, Globe, Clock, ShieldAlert } from 'lucide-react'; import { fadeIn, slideUp, staggerChildren } from '../utils/motionVariants'; +import { SpotlightCard } from './ui/spotlight-card'; +import { FlowButton } from './ui/flow-button'; const Contact = () => { const [contactInfo, setContactInfo] = useState(null); const [loading, setLoading] = useState(true); - const [error, setError] = useState(null); useEffect(() => { // Temporary disable API calls to prevent 404 errors @@ -18,7 +20,7 @@ const Contact = () => { facebook: 'SatgasPPKPTPolije', twitter: '@SatgasPPKPTPolije' }; - + setContactInfo(mockContactInfo); setLoading(false); }, []); @@ -35,250 +37,181 @@ const Contact = () => { const contactMethods = [ { - icon: ( - - - - ), - label: 'Telepon', + icon: , + label: 'Telepon Kantor', value: contact.phone, href: `tel:${contact.phone}`, - color: 'text-primary' + color: 'text-blue-500', + spotlight: 'rgba(59, 130, 246, 0.2)' }, { - icon: ( - - - - ), - label: 'Email', + icon: , + label: 'Email Resmi', value: contact.email, href: `mailto:${contact.email}`, - color: 'text-primary' + color: 'text-purple-500', + spotlight: 'rgba(168, 85, 247, 0.2)' }, { - icon: ( - - - - ), - label: 'WhatsApp', + icon: , + label: 'Instagram', + value: contact.instagram, + href: `https://instagram.com/${contact.instagram?.replace('@', '')}`, + color: 'text-pink-500', + spotlight: 'rgba(236, 72, 153, 0.2)' + }, + { + icon: , + label: 'WhatsApp Admin', value: contact.whatsapp, href: `https://wa.me/${contact.whatsapp?.replace(/[^0-9]/g, '')}`, - color: 'text-accent' - } - ]; - - const socialMedia = [ - { - name: 'Instagram', - icon: ( - - - - ), - href: `https://instagram.com/${contact.instagram?.replace('@', '')}`, - color: 'hover:text-pink-600' + color: 'text-green-500', + spotlight: 'rgba(34, 197, 94, 0.2)' } ]; return ( -
- {/* Background Pattern */} -
-
-
+
+ {/* Background Decorations */} +
+
+
{/* Section Header */} - - Hubungi Kami - - Kami siap membantu Anda. Jangan ragu untuk menghubungi kami melalui berbagai metode komunikasi yang tersedia. - +

+ Kami siap membantu Anda. Jangan ragu untuk menghubungi kami melalui berbagai saluran komunikasi yang tersedia. Privasi Anda adalah prioritas kami. +

- {/* Loading State */} - {loading && ( - -
-
-

Memuat informasi kontak...

-
-
- )} - - {/* Contact Content */} {!loading && ( -
- {/* Contact Information */} - -
-

Informasi Kontak

- - {/* Contact Methods */} -
- {contactMethods.map((method, index) => ( - + {/* Left Column: Contact Info & Emergency */} +
+ + {/* Emergency Card */} + +
+
+ +
+
+

Bantuan Darurat 24/7

+

+ Jika Anda dalam situasi darurat atau bahaya, segera hubungi tim Satgas PPKS melalui saluran khusus ini. +

+ +
+
+
+ + {/* General Contact Info */} +
+ {contactMethods.map((method, index) => ( + + -
-
- {method.icon} -
+
+ {method.icon}
-
+ + {/* Operating Hours */} +
+
+ +

Jam Operasional Kantor

+
+
    +
  • + Senin - Jumat + 08.00 - 16.00 WIB +
  • +
  • + Sabtu - Minggu + Tutup (Kecuali Darurat) +
  • +
+
+
+ + {/* Right Column: Map */} +
+ +
+ + + {/* Map Overlay Info */} +
+
+ +
+
Kampus Politeknik Negeri Jember
+

{contact.address}

+ - {method.value} + Buka di Google Maps →
- - ))} -
- - {/* Address */} -
-
-
- - - -
-
-

Alamat

-

{contact.address}

- - {/* Social Media */} -
-

Ikuti Kami

-
- {socialMedia.map((social, index) => ( - - {social.icon} - - ))} -
-
-
- - - {/* Emergency Contact */} - -
-
-
- - - -
-

Butuh Bantuan Darurat?

-

- Jika Anda atau orang lain berada dalam situasi darurat, segera hubungi kami untuk respons cepat 24/7. -

-
- -
- - - - - Hubungi WhatsApp Darurat - - - -
- - - - Respons 24/7 - Privasi Terjamin -
-
-
-
-
+ +
)}
diff --git a/frontend/src/components/Footer.jsx b/frontend/src/components/Footer.jsx index bb4decd..3d84f6e 100644 --- a/frontend/src/components/Footer.jsx +++ b/frontend/src/components/Footer.jsx @@ -1,237 +1,134 @@ import React from 'react'; import { motion } from 'framer-motion'; -import { fadeIn } from '../utils/motionVariants'; +import { Facebook, Instagram, Twitter, Linkedin, Heart, Shield, Mail, Phone, MapPin } from 'lucide-react'; const Footer = () => { const currentYear = new Date().getFullYear(); - const quickLinks = [ - { name: 'Beranda', href: '#hero' }, - { name: 'Tentang Kami', href: '#about' }, - { name: 'Layanan', href: '#services' }, - { name: 'Artikel', href: '/artikel' }, - { name: 'Kontak', href: '#contact' } - ]; - - const services = [ - { name: 'WhatsApp Reporting', href: 'https://wa.me/6281234567890' }, - { name: 'Form Reporting', href: '/artikel' }, - { name: 'Konsultasi', href: '#contact' }, - { name: 'Pendampingan', href: '#contact' } - ]; + const footerLinks = { + 'Menu Utama': [ + { name: 'Beranda', href: '#hero' }, + { name: 'Tentang Kami', href: '#about' }, + { name: 'Layanan', href: '#services' }, + { name: 'Artikel', href: '/artikel' }, + ], + 'Layanan': [ + { name: 'Pelaporan Online', href: '#services' }, + { name: 'Konsultasi Psikologi', href: '#contact' }, + { name: 'Pendampingan Hukum', href: '#contact' }, + { name: 'Edukasi & Sosialisasi', href: '/artikel' }, + ], + 'Bantuan': [ + { name: 'Kontak Darurat', href: '#contact' }, + { name: 'Prosedur Lapor', href: '#services' }, + { name: 'FAQ', href: '#faq' }, + { name: 'Kebijakan Privasi', href: '#' }, + ] + }; const socialLinks = [ - { - name: 'Instagram', - icon: ( - - - - ), - href: 'https://instagram.com/satgasppkpt_polije' - } + { icon: , href: 'https://instagram.com/satgasppkpt_polije', label: 'Instagram' }, + { icon: , href: '#', label: 'Twitter' }, + { icon: , href: '#', label: 'Facebook' }, + { icon: , href: '#', label: 'LinkedIn' }, ]; return ( -