{"version":3,"sources":["components/NavBar.js","components/CustomCarousel.js","components/QuickLinks.js","components/SermonHighlights.js","components/MinistrySnippet.js","components/GalleryHighlight.js","components/HeroSection.js","components/about_content_components/AboutGCBC.js","components/about_content_components/TheGospel.js","components/about_content_components/OurHistory.js","components/about_content_components/MeetPastor.js","components/about_content_components/Doctrine.js","components/About.js","components/Footer.js","components/ministry_content_components/OurMinistry.js","components/ministry_content_components/Youth.js","components/ministry_content_components/ChildrenMin.js","components/ministry_content_components/OutReach.js","components/ministry_content_components/MusicSchool.js","components/ministry_content_components/Giving.js","components/Ministry.js","components/SermonVideos.js","components/Contact.js","components/Gallery.js","App.js","index.js"],"names":["NavBar","scrolled","setScrolled","useState","expanded","setExpanded","useEffect","handleScroll","offset","window","scrollY","addEventListener","removeEventListener","React","createElement","Navbar","expand","fixed","onToggle","className","concat","style","alignItems","zIndex","Container","LinkContainer","to","Brand","src","alt","width","height","Toggle","aria-controls","Collapse","id","Nav","NavDropdown","title","Item","as","Link","onClick","CustomCarousel","_ref","data","slideContent","time","description","buttonText","Carousel","prevIcon","nextIcon","map","item","index","content","key","Caption","href","target","rel","QuickLinks","SermonHighlights","apiKey","channelId","videos","setVideos","loading","setLoading","error","setError","async","apiUrl","response","fetch","ok","Error","json","items","console","fetchVideos","video","videoId","handleVideoClick","open","snippet","Date","publishedAt","toLocaleDateString","allow","allowFullScreen","MinistrySnippet","fluid","Row","Col","md","images","breakpointColumnsObj","default","992","768","576","GalleryHighlight","photoIndex","setPhotoIndex","isOpen","setIsOpen","Masonry","breakpointCols","columnClassName","image","LazyLoad","once","FontAwesomeIcon","icon","faCirclePlus","size","Lightbox","mainSrc","nextSrc","length","prevSrc","onCloseRequest","onMovePrevRequest","onMoveNextRequest","imageCaption","enableZoom","HeroSection","AboutGCBCContent","cleanHtml","DOMPurify","sanitize","aboutContentData","body","dangerouslySetInnerHTML","__html","marginRight","TheGospel","OurHistory","MeetPastor","margin","objectFit","float","Doctrine","statements","Accordion","defaultActiveKey","statement","eventKey","String","Header","Body","About","activeSection","setActiveSection","location","useLocation","sectionContentComponents","AboutGCBC","sectionBanners","currenHash","hash","replace","isActive","section","nogutters","padding","ListGroup","Object","keys","action","active","toUpperCase","paddingTop","renderContent","ContentComponent","Footer","faPhone","fontSize","textAlign","faMobileAlt","faEnvelope","Image","faFacebookF","faYoutube","faInstagram","OurMinistry","ministryContentData","Youth","ChildrenMin","OutReach","outreachContent","sanitizedCards","cards","card","backgroundImage","MusicSchool","Giving","cardData","cleanTitle","cleanDescription","svg","marginBottom","Ministry","fetchYouTubeVideos","pageToken","arguments","undefined","searchTerm","filter","URL","encodeURIComponent","message","VideoCard","handleVideoSelect","lg","Card","Img","variant","thumbnails","medium","url","SermonVideos","_ref2","selectedVideo","setSelectedVideo","setSearchTerm","nextPageToken","setNextPageToken","prevPageToken","setPrevPageToken","setFilter","handleSearch","event","preventDefault","handlePageChange","token","position","top","left","right","bottom","display","justifyContent","backgroundColor","Spinner","animation","Alert","InputGroup","FormControl","placeholder","value","onChange","e","onKeyDown","Button","DropdownButton","onSelect","Dropdown","Pagination","Prev","Next","Modal","show","onHide","handleClose","dialogClassName","aria-labelledby","centered","closeButton","Title","border","Contact","formik","useFormik","initialValues","firstName","lastName","email","phone","messageType","validationSchema","Yup","required","test","isValidPhoneNumber","onSubmit","values","emailjs","send","then","log","status","text","alert","err","backgroundImageRef","useRef","isImageLoaded","setImageLoaded","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","threshold","current","observe","unobserve","faMapMarkerAlt","Form","noValidate","handleSubmit","sm","Group","controlId","color","marginLeft","Control","assign","type","getFieldProps","isInvalid","touched","errors","Feedback","PhoneInput","defaultCountry","setFieldValue","onBlur","setFieldTouched","Check","label","rows","disabled","isSubmitting","referrerPolicy","Gallery","1100","700","500","ScrollToTop","scrollTo","App","BrowserRouter","Routes","Route","path","element","Fragment","slides","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.5d35086d.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Navbar, Nav, NavDropdown, Container } from 'react-bootstrap';\nimport './NavBar.css';\nimport { LinkContainer } from 'react-router-bootstrap';\nimport { Link } from 'react-router-dom';\n\nfunction NavBar() {\n const [scrolled, setScrolled] = useState(false);\n const [expanded, setExpanded] = useState(false); \n\n useEffect(() => {\n \n const handleScroll = () => {\n const offset = window.scrollY;\n if (offset > 200) {\n setScrolled(true);\n } else {\n setScrolled(false);\n }\n };\n \n // Attach the event listener directly to the window object\n window.addEventListener('scroll', handleScroll);\n \n // Cleanup function to remove the event listener\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n return (\n setExpanded(!expanded)}\n className={`mynavbar ${scrolled ? \"navbar-scrolled\" : \"\"} ${expanded ? \"expanded\" : \"\"}`}\n style={{alignItems: 'center', zIndex: 999}}> \n \n \n \n \"GCBC\n \n \n \n \n \n \n \n \n );\n}\n\nexport default NavBar;\n","import React, { useState } from 'react'\nimport Carousel from 'react-bootstrap/Carousel';\nimport './CustomCarousel.css'\n\nfunction CustomCarousel({data}) {\n\n const slideContent = [\n {\n title: \"SUNDAY SERVICE\",\n time: \"9:00 AM to 11:00 AM\",\n description: \"Join us this Sunday for worship services and fellowship.\",\n buttonText: \"MORE\"\n },\n {\n title: \"WEDNESDAY PRAYER\",\n time: \"7:00 PM\",\n description: \"Join us in prayer, where faith unites and blessings abound.\",\n buttonText: \"MORE\"\n },\n {\n title: \"SATURDAY PRAYER\",\n time: \"8:00 AM\",\n description: \"Awaken your spirit every Saturday. Join us in fervent prayer.\",\n buttonText: \"MORE\"\n }\n ];\n\n return (\n chevron_left}\n nextIcon={chevron_right}\n className='custom-carousel'>\n {data.map((item, index) => {\n const content = slideContent[index];\n return (\n \n {item.alt}\n \n

{content.title}

\n

{content.time}

\n

{content.description}

\n {content.buttonText}\n
\n
\n );\n })}\n
\n );\n}\n\nexport default CustomCarousel","import React from 'react';\nimport './QuickLinks.css'; \n\nconst QuickLinks = () => {\n return (\n
\n
\n

NEW HERE?

\n

Explore our church family and what we believe.

\n GET STARTED\n
\n
\n

SUNDAY'S ONLINE

\n

Be part of our Sunday service - wherever you are.

\n JOIN NOW\n
\n
\n

GIVING

\n

Support our ministry through your contributions.

\n LEARN MORE\n
\n
\n );\n};\n\nexport default QuickLinks;\n","import React, { useState, useEffect } from 'react';\nimport './SermonHighlights.css';\n\nconst SermonHighlights = ({ apiKey, channelId }) => {\n const [videos, setVideos] = useState([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n const fetchVideos = async () => {\n const apiUrl = `https://www.googleapis.com/youtube/v3/search?key=${apiKey}&channelId=${channelId}&part=snippet,id&order=relevance&type=video&maxResults=4`;\n\n try {\n const response = await fetch(apiUrl);\n if (!response.ok) {\n throw new Error('Network response was not ok');\n }\n const data = await response.json();\n setVideos(data.items);\n } catch (error) {\n setError('Failed to fetch videos. Please try again later.');\n console.error('Error fetching data: ', error);\n } finally {\n setLoading(false);\n }\n };\n\n fetchVideos();\n }, []);\n\n if (loading) {\n return
Loading...
;\n }\n\n if (error) {\n return
Error: {error}
;\n }\n\n const handleVideoClick = (videoId) => {\n window.open(`https://www.youtube.com/watch?v=${videoId}`, '_blank');\n };\n\n return (\n
\n

Sermon Highlights

\n
\n {videos.map((video) => (\n
\n
handleVideoClick(video.id.videoId)}>\n

{video.snippet.title}

\n

{new Date(video.snippet.publishedAt).toLocaleDateString()}

\n
\n
\n \n
\n
\n ))}\n
\n
\n MORE\n
\n
\n );\n\n};\n\nexport default SermonHighlights;\n","import React from 'react';\nimport { Container, Row, Col, Button } from 'react-bootstrap';\nimport './MinistrySnippet.css';\n\nconst MinistrySnippet = () => {\n return (\n \n \n \n {/* Image is set via CSS */}\n \n \n
\n

Our Ministry

\n
\n
\n

\n Grace Community Baptist Church extends support to Evangelists, Pastors, and Missionaries, focusing on rural areas. Regular pastors' conferences and outreach to villages aim for financial aid, edification, and encouragement. Our mission centres on unity with Christ, the 'Great Commission,' and sharing resources for God's glory through various ministries.\n

\n
\n
\n READ MORE\n
\n \n
\n
\n );\n};\n\nexport default MinistrySnippet;\n","import React, { useState } from 'react';\nimport { Container } from 'react-bootstrap';\nimport Lightbox from 'react-image-lightbox';\nimport Masonry from 'react-masonry-css';\nimport 'react-image-lightbox/style.css'; \nimport './GalleryHighlight.css';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCirclePlus } from '@fortawesome/free-solid-svg-icons';\nimport LazyLoad from 'react-lazyload';\n\nconst images = [\n '/gallery_files/01.jpg',\n '/gallery_files/02.jpg',\n '/gallery_files/04.jpg',\n '/gallery_files/05.jpg',\n '/gallery_files/06.jpg',\n];\n\nconst breakpointColumnsObj = {\n default: 2,\n 992: 2,\n 768: 2,\n 576: 1\n};\n\nconst GalleryHighlight = () => {\n const [photoIndex, setPhotoIndex] = useState(0);\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n \n

Our Gallery

\n

Explore the heart of our church, one image at a time, in our captivating gallery.

\n \n {images.map((image, index) => (\n \n {\n setPhotoIndex(index);\n setIsOpen(true);\n }}\n alt={`Gallery image ${index + 1}`}\n />\n \n ))}\n \n
\n \n \n \n
\n {isOpen && (\n setIsOpen(false)}\n onMovePrevRequest={() =>\n setPhotoIndex((photoIndex + images.length - 1) % images.length)\n }\n onMoveNextRequest={() =>\n setPhotoIndex((photoIndex + 1) % images.length)\n }\n imageCaption={`Image ${photoIndex + 1} of ${images.length}`}\n enableZoom={true}\n />\n )}\n
\n );\n};\n\nexport default GalleryHighlight;\n","import React from 'react';\nimport { Container, Row, Col } from 'react-bootstrap';\nimport './HeroSection.css';\n\nconst HeroSection = () => {\n return (\n
\n \n \n \n
\n

\"For by Grace are ye saved through faith; and that not of yourselves: It is the Gift of God\" Eph. 2:8

\n

Grace Community Baptist Church exists for the glory of God.\n We believe in Christ-centered corporate worship and in living holy lives for\n the service of the Lord. Central to the health of the church is a focus on the\n Bible as the authoritative guide for our lives and prayer as the means of\n communicating with God.\n

\n
\n \n
\n
\n
\n );\n};\n\nexport default HeroSection;\n","import React from 'react';\nimport aboutContentData from './aboutContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst AboutGCBCContent = () => {\n const cleanHtml = DOMPurify.sanitize(aboutContentData['about-gcbc'].body);\n\n return (\n
\n

{aboutContentData['about-gcbc'].title}

\n

\n
\n
\n );\n};\n\nexport default AboutGCBCContent;\n","import React from 'react';\nimport aboutContentData from './aboutContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst TheGospel = () => {\n const cleanHtml = DOMPurify.sanitize(aboutContentData['the-gospel'].body);\n\n return (\n
\n

{aboutContentData['the-gospel'].title}

\n

\n
\n
\n );\n};\n\nexport default TheGospel;\n","import React from 'react';\nimport aboutContentData from './aboutContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst OurHistory = () => {\n const cleanHtml = DOMPurify.sanitize(aboutContentData['our-history'].body);\n\n return (\n
\n

{aboutContentData['our-history'].title}

\n

\n
\n
\n );\n};\n\nexport default OurHistory;\n","import React from 'react';\nimport aboutContentData from './aboutContentData.json'; \nimport DOMPurify from 'dompurify';\n\nconst MeetPastor = () => {\n const { title, image } = aboutContentData['meet-the-pastor'];\n const cleanHtml = DOMPurify.sanitize(aboutContentData['meet-the-pastor'].body);\n\n return (\n
\n

{title}

\n

\n
\n \"Rev.\n
\n
\n
\n
\n
\n );\n}\n\nexport default MeetPastor;\n","import React from 'react';\nimport Accordion from 'react-bootstrap/Accordion';\nimport aboutContentData from './aboutContentData.json'; \nimport DOMPurify from 'dompurify';\n\nconst Doctrine = () => {\n const statements = aboutContentData['statement-of-faith'].statements;\n\n return (\n
\n

{aboutContentData['statement-of-faith'].title}

\n

\n

{aboutContentData['statement-of-faith'].body}

\n \n {statements.map((statement, index) => (\n \n \n
\n \n \n
\n \n \n ))}\n \n
\n );\n};\n\nexport default Doctrine;\n","import React, { useState, useEffect } from 'react';\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\nimport { useLocation } from 'react-router-dom';\nimport './About.css';\nimport LazyLoad from 'react-lazyload';\n\nimport AboutGCBC from './about_content_components/AboutGCBC';\nimport TheGospel from './about_content_components/TheGospel';\nimport OurHistory from './about_content_components/OurHistory';\nimport MeetPastor from './about_content_components/MeetPastor';\nimport Doctrine from './about_content_components/Doctrine';\n\nconst About = () => {\n const [activeSection, setActiveSection] = useState('about-gcbc');\n const location = useLocation();\n\n // Define the mapping of section keys to their content components\n const sectionContentComponents = {\n 'about-gcbc': AboutGCBC,\n 'the-gospel': TheGospel,\n 'our-history': OurHistory,\n 'meet-the-pastor': MeetPastor,\n 'statement-of-faith': Doctrine\n };\n\n const sectionBanners = {\n 'about-gcbc': '/about_banners/1.jpg',\n 'the-gospel': '/about_banners/2.jpg',\n 'our-history': '/about_banners/3.jpg',\n 'meet-the-pastor': '/about_banners/4.jpg',\n 'statement-of-faith': '/about_banners/5.jpg'\n };\n\n useEffect(() => {\n const currenHash = location.hash.replace('#', '');\n setActiveSection(currenHash || 'about-gcbc');\n }, [location.hash]);\n\n // Function to render content dynamically based on the active section\n const renderContent = () => {\n const ContentComponent = sectionContentComponents[activeSection];\n return ContentComponent ? : null;\n };\n // Function to determine if a ListGroup.Item should be highlighted\n const isActive = (section) => activeSection === section;\n\n const getBannerImage = () => sectionBanners[activeSection];\n\n return (\n \n \n \n \n \"Banner\"\n\n \n \n \n \n \n \n {Object.keys(sectionContentComponents).map((section) => (\n setActiveSection(section)}\n active={isActive(section)}\n className=\"list-item\"\n >\n

{section.replace(/-/g, ' ').toUpperCase()}

\n \n ))}\n
\n \n \n {renderContent()}\n \n
\n
\n );\n};\n\nexport default About;\n\n","import React from 'react';\nimport { Container, Row, Col, Image } from 'react-bootstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faFacebookF, faYoutube, faInstagram } from '@fortawesome/free-brands-svg-icons';\nimport { faPhone, faMobileAlt, faEnvelope } from '@fortawesome/free-solid-svg-icons';\nimport { Link } from 'react-router-dom';\nimport './Footer.css';\n\nconst Footer = () => {\n return (\n
\n \n \n \n
Location
\n

199, Adrin Cross Roads, Secunderbad - 500009, Telangana, INDIA

\n \n \n
Contact
\n
\n \n +91-40-27720979\n
\n
\n \n +91-9849073444\n
\n
\n \n dr.emmanuel.damara@gmail.com\n
\n \n \n
Useful Links
\n
    \n
  • Home
  • \n
  • About
  • \n
  • Ministries
  • \n
  • Sermons
  • \n
  • Gallery
  • \n
  • Contact
  • \n
\n \n \n \"Logo\"\n
\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n \n

© 2024 Grace Community Baptist Church All Rights Reserved

\n \n
\n
\n
\n );\n};\n\nexport default Footer;\n","import React from 'react';\nimport ministryContentData from './ministryContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst OurMinistry = () => {\n const cleanHtml = DOMPurify.sanitize(ministryContentData['our-ministry'].body);\n\n return (\n
\n

{ministryContentData['our-ministry'].title}

\n

\n
\n
\n );\n};\n\nexport default OurMinistry;\n","import React from 'react';\nimport ministryContentData from './ministryContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst Youth = () => {\n const cleanHtml = DOMPurify.sanitize(ministryContentData['youth'].body);\n\n return (\n
\n

{ministryContentData['youth'].title}

\n

\n
\n
\n );\n};\n\nexport default Youth;\n","import React from 'react';\nimport ministryContentData from './ministryContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst ChildrenMin = () => {\n const cleanHtml = DOMPurify.sanitize(ministryContentData['children'].body);\n\n return (\n
\n

{ministryContentData['children'].title}

\n

\n
\n
\n );\n};\n\nexport default ChildrenMin;\n","import React from 'react';\nimport ministryContentData from './ministryContentData.json';\nimport DOMPurify from 'dompurify';\n\n\nconst OutReach = () => {\n // Assuming that the import and the JSON data is now being correctly handled\n const outreachContent = ministryContentData['outreach'];\n\n // Sanitize the title and description for each card\n const sanitizedCards = outreachContent.cards.map(card => ({\n ...card,\n title: DOMPurify.sanitize(card.title),\n description: DOMPurify.sanitize(card.description)\n }));\n\n return (\n
\n

{outreachContent.title}

\n
\n {sanitizedCards.map((card, index) => (\n
\n
\n
\n
\n
\n
\n ))}\n
\n
\n );\n};\n\nexport default OutReach;\n","import React from 'react';\nimport ministryContentData from './ministryContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst MusicSchool = () => {\n const cleanHtml = DOMPurify.sanitize(ministryContentData['music-school'].body);\n\n return (\n
\n

{ministryContentData['music-school'].title}

\n

\n
\n
\n );\n};\n\nexport default MusicSchool;\n","import React from 'react';\nimport ministryContentData from './ministryContentData.json';\nimport DOMPurify from 'dompurify';\n\nconst Giving = () => {\n const cleanHtml = DOMPurify.sanitize(ministryContentData['giving'].body);\n const cardData = ministryContentData['giving'].card[0];\n const cleanTitle = cardData.title;\n const cleanDescription = cardData.description;\n\n return (\n
\n

{ministryContentData['giving'].title}

\n
\n Donate\n
\n
\n
\n
\n
\n );\n};\n\nexport default Giving;","import React, { useState, useEffect } from 'react';\nimport { Container, Row, Col, ListGroup } from 'react-bootstrap';\nimport { useLocation } from 'react-router-dom';\nimport LazyLoad from 'react-lazyload';\nimport './Ministry.css';\n\nimport OurMinistry from './ministry_content_components/OurMinistry';\nimport Youth from './ministry_content_components/Youth';\nimport ChildrenMin from './ministry_content_components/ChildrenMin';\nimport OutReach from './ministry_content_components/OutReach';\nimport MusicSchool from './ministry_content_components/MusicSchool';\nimport Giving from './ministry_content_components/Giving';\n\nconst Ministry = () => {\n const [activeSection, setActiveSection] = useState('our-ministry');\n const location = useLocation();\n\n // Define the mapping of section keys to their content components\n const sectionContentComponents = {\n 'our-ministry': OurMinistry,\n 'youth': Youth,\n 'children': ChildrenMin,\n 'outreach': OutReach,\n 'music-school': MusicSchool,\n 'giving': Giving\n };\n\n const sectionBanners = {\n 'our-ministry': '/ministry_banners/1.jpg',\n 'youth': '/ministry_banners/2.jpg',\n 'children': '/ministry_banners/3.jpg',\n 'outreach': '/ministry_banners/4.jpg',\n 'music-school': '/ministry_banners/5.jpg',\n 'giving': '/ministry_banners/6.jpg'\n };\n\n useEffect(() => {\n const currenHash = location.hash.replace('#', '');\n setActiveSection(currenHash || 'our-ministry');\n }, [location.hash]);\n\n // Function to render content dynamically based on the active section\n const renderContent = () => {\n const ContentComponent = sectionContentComponents[activeSection];\n return ContentComponent ? : null;\n };\n // Function to determine if a ListGroup.Item should be highlighted\n const isActive = (section) => activeSection === section;\n\n const getBannerImage = () => sectionBanners[activeSection];\n\n return (\n \n \n \n \n \"Banner\"\n\n \n \n \n \n \n \n {Object.keys(sectionContentComponents).map((section) => (\n setActiveSection(section)}\n active={isActive(section)}\n className=\"list-item\"\n >\n

{section.replace(/-/g, ' ').toUpperCase()}

\n \n ))}\n
\n \n \n {renderContent()}\n \n
\n
\n );\n};\n\nexport default Ministry;\n\n","import React, { useState, useEffect } from 'react';\nimport { Container, Row, Col, Card, Button, Modal, InputGroup, FormControl, Spinner, Alert, Pagination, Dropdown, DropdownButton } from 'react-bootstrap';\nimport LazyLoad from 'react-lazyload';\nimport './SermonVideos.css';\n\n// Helper function to fetch data from the YouTube API\nconst fetchYouTubeVideos = async (apiKey, channelId, pageToken = '', searchTerm = '', filter = 'date') => {\n let URL = `https://www.googleapis.com/youtube/v3/search?key=${apiKey}&channelId=${channelId}&part=snippet,id&order=${filter}&maxResults=6&type=video&pageToken=${pageToken}`;\n if (searchTerm) {\n URL += `&q=${encodeURIComponent(searchTerm)}`;\n }\n if (pageToken) {\n URL += `&pageToken=${pageToken}`;\n }\n const response = await fetch(URL);\n const data = await response.json();\n if (!response.ok) {\n throw new Error(data.error.message);\n }\n return data;\n};\n\n// Video Card Component\nconst VideoCard = ({ video, handleVideoSelect }) => (\n \n handleVideoSelect(video)} className=\"card-override\">\n \n \n
{video.snippet.title}
\n
\n
\n \n);\n\n// Main Component\nconst SermonVideos = ({ apiKey, channelId }) => {\n const [videos, setVideos] = useState([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n const [selectedVideo, setSelectedVideo] = useState(null);\n const [searchTerm, setSearchTerm] = useState('');\n const [nextPageToken, setNextPageToken] = useState('');\n const [prevPageToken, setPrevPageToken] = useState('');\n const [filter, setFilter] = useState('date');\n\n useEffect(() => {\n fetchVideos();\n }, []); // Empty dependency array means this effect will only run once on mount\n\n const fetchVideos = async (pageToken = '') => {\n setLoading(true);\n try {\n const data = await fetchYouTubeVideos(apiKey, channelId, pageToken, searchTerm, filter);\n setVideos(data.items);\n setNextPageToken(data.nextPageToken || '');\n setPrevPageToken(data.prevPageToken || '');\n } catch (error) {\n setError(error.message);\n } finally {\n setLoading(false);\n }\n };\n\n const handleFilterChange = (eventKey) => {\n setFilter(eventKey);\n fetchVideos(); // Fetch videos again with the new filter\n };\n\n const handleSearch = (event) => {\n event.preventDefault();\n fetchVideos(); // Resets to the first page of results\n };\n\n const handlePageChange = (token) => {\n fetchVideos(token);\n };\n\n const handleVideoSelect = (video) => {\n setSelectedVideo(video);\n };\n\n const handleClose = () => setSelectedVideo(null);\n\n if (loading) {\n return (\n
\n \n
\n );\n }\n\n if (error) {\n return {error};\n }\n\n return (\n \n \n \n \n
\n
\n

\n Sermons\n

\n
\n \n \n \n \n \n \n setSearchTerm(e.target.value)}\n onKeyDown={(e) => e.key === 'Enter' && handleSearch(e)}\n />\n \n \n \n \n \n Most Recent\n Most Viewed\n Top Rated\n \n \n \n {videos.map((video) => (\n \n ))}\n \n \n {prevPageToken && handlePageChange(prevPageToken)} />}\n {nextPageToken && handlePageChange(nextPageToken)} />}\n \n \n {selectedVideo && (\n \n \n \n

{selectedVideo.snippet.title}

\n
\n
\n \n \n \n
\n )}\n \n );\n};\n\nexport default SermonVideos;\n\n","import React, { useRef, useEffect, useState } from 'react';\nimport { Row, Col, Form, Button } from 'react-bootstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faPhone, faMobileAlt, faEnvelope, faMapMarkerAlt } from '@fortawesome/free-solid-svg-icons';\nimport { faFacebookF, faYoutube, faInstagram } from '@fortawesome/free-brands-svg-icons';\nimport emailjs from '@emailjs/browser';\nimport { useFormik } from 'formik';\nimport * as Yup from 'yup';\nimport PhoneInput from 'react-phone-number-input';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\nimport LazyLoad from 'react-lazyload';\nimport 'react-phone-number-input/style.css';\nimport './Contact.css'; // Assuming you have a CSS file for styles\n\nconst Contact = () => {\n \n const formik = useFormik({\n initialValues: {\n firstName: '',\n lastName: '',\n email: '',\n phone: '',\n messageType: '',\n message: '',\n },\n validationSchema: Yup.object({\n firstName: Yup.string().required('First name is required'),\n lastName: Yup.string().required('Last name is required'),\n email: Yup.string().email('Invalid email address').required('Email is required'),\n phone: Yup.string()\n .required('Phone number is required')\n .test(\n 'isValid',\n 'Phone number is not valid',\n value => value ? isValidPhoneNumber(value) : false\n ),\n messageType: Yup.string().required('Message type is required'),\n message: Yup.string().required('Please fill the message field'),\n }),\n onSubmit: (values) => {\n // Function to send email\n emailjs.send('service_8ocjd28', 'template_6zs6vba', values, 'MzL3otnfbazw83g-m')\n .then((response) => {\n console.log('SUCCESS!', response.status, response.text);\n alert('Your message has been sent!');\n }, (err) => {\n console.log('FAILED...', err);\n alert('Failed to send the message, please try again.');\n });\n },\n });\n\n const backgroundImageRef = useRef(null);\n const [isImageLoaded, setImageLoaded] = useState(false);\n\n useEffect(() => {\n const observer = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n setImageLoaded(true);\n }\n });\n }, {\n threshold: 0.1 // Adjust this value based on your needs\n });\n\n if (backgroundImageRef.current) {\n observer.observe(backgroundImageRef.current);\n }\n\n return () => {\n if (backgroundImageRef.current) {\n observer.unobserve(backgroundImageRef.current);\n }\n };\n }, []);\n\n return (\n
\n \n \n \n
\n
\n

\n Contact\n

\n
\n \n \n \n
\n \n \n

Contact Information

\n

Feel free to fill the form if you have any queries. If you have a prayer request, you can share it with us using the same.

\n\n
\n \n +91-40-27720979\n
\n
\n \n +91-9849073444 \n
\n
\n \n dr.emmanuel.damara@gmail.com\n
\n
\n \n 199, Adrin Cross Roads, Secunderbad - 500009, Telangana, INDIA\n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n \n\n \n
\n \n \n \n

First Name

*

\n \n \n {formik.errors.firstName}\n \n
\n \n \n \n

Last Name

*

\n \n \n {formik.errors.lastName}\n \n
\n \n
\n \n \n \n

Email

*

\n \n \n {formik.errors.email}\n \n
\n \n \n \n

Phone

*

\n formik.setFieldValue('phone', phone)}\n onBlur={() => formik.setFieldTouched('phone')}\n />\n {formik.touched.phone && formik.errors.phone ? (\n
{formik.errors.phone}
\n ) : null}\n
\n \n
\n \n

Subject

*

\n \n \n \n \n \n \n
\n\n

Message

*

\n \n \n \n {formik.touched.message && formik.errors.message}\n \n \n\n \n
\n \n
\n
\n {/* Google Maps Iframe */}\n {/* Text for Google Maps iframe */}\n

Find us on Google Map

\n {/* Google Maps iframe container */}\n
\n \n
\n
\n );\n}\n\nexport default Contact;","import React, { useRef, useEffect, useState } from 'react';\nimport { Container, Row, Col } from 'react-bootstrap';\nimport Lightbox from 'react-image-lightbox';\nimport Masonry from 'react-masonry-css';\nimport LazyLoad from 'react-lazyload';\nimport 'react-image-lightbox/style.css'; // Lightbox CSS\nimport './Gallery.css'; // Your CSS for custom styles\n\nconst Gallery = () => {\n const [photoIndex, setPhotoIndex] = useState(0);\n const [isOpen, setIsOpen] = useState(false);\n // Define your breakpoint columns object for the Masonry layout\n const breakpointColumnsObj = {\n default: 3,\n 1100: 3,\n 700: 2,\n 500: 1\n };\n\n // Placeholder array for gallery images\n const images = [\n '/gallery_files/06.jpg', // Wide\n '/gallery_files/05.jpg', // Tall\n '/gallery_files/01.jpg', // Medium\n '/gallery_files/08.jpg', // Wide but smaller\n '/gallery_files/13.jpg', // Very Tall\n '/gallery_files/02.jpg', // Medium\n '/gallery_files/09.jpg', // Small\n '/gallery_files/14.jpg', // Tall and narrow\n '/gallery_files/23.jpg', // Medium\n '/gallery_files/12.jpg', // Wide\n '/gallery_files/04.jpg', // Very Tall and narrow\n '/gallery_files/21.jpg', // Medium\n '/gallery_files/10.jpg', // Tall and narrow\n '/gallery_files/24.jpg', // Medium but square\n '/gallery_files/15.jpg', // Small\n '/gallery_files/07.jpg', // Medium\n '/gallery_files/26.jpg', // Tall and narrow\n '/gallery_files/16.jpg', // Small\n '/gallery_files/22.jpg', // Medium\n '/gallery_files/17.jpg', // Small\n '/gallery_files/25.jpg', // Medium\n '/gallery_files/18.jpg', // Small\n '/gallery_files/27.jpg', // Medium\n '/gallery_files/19.jpg', // Small\n '/gallery_files/20.jpg', // Small\n ];\n\n const backgroundImageRef = useRef(null);\n const [isImageLoaded, setImageLoaded] = useState(false);\n\n useEffect(() => {\n const observer = new IntersectionObserver(entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n setImageLoaded(true);\n }\n });\n }, {\n threshold: 0.1 // Adjust this value based on your needs\n });\n\n if (backgroundImageRef.current) {\n observer.observe(backgroundImageRef.current);\n }\n\n return () => {\n if (backgroundImageRef.current) {\n observer.unobserve(backgroundImageRef.current);\n }\n };\n }, []);\n\n return (\n \n {/* Banner */}\n \n \n \n
\n
\n

\n Gallery\n

\n
\n \n \n \n\n {/* Gallery */}\n
\n \n {images.map((image, index) => (\n
\n Loading...
}>\n {\n setPhotoIndex(index);\n setIsOpen(true);\n }}\n />\n \n
\n ))}\n \n\n {isOpen && (\n setIsOpen(false)}\n onMovePrevRequest={() => setPhotoIndex((photoIndex + images.length - 1) % images.length)}\n onMoveNextRequest={() => setPhotoIndex((photoIndex + 1) % images.length)}\n />\n )}\n
\n
\n );\n}\n\nexport default Gallery;\n","import React, { useEffect } from 'react';\nimport './App.css';\nimport NavBar from './components/NavBar';\nimport { BrowserRouter, Routes, Route, useLocation } from 'react-router-dom';\nimport CustomCarousel from './components/CustomCarousel';\nimport QuickLinks from './components/QuickLinks';\nimport SermonHighlights from './components/SermonHighlights';\nimport MinistrySnippet from './components/MinistrySnippet';\nimport GalleryHighlight from './components/GalleryHighlight';\nimport HeroSection from './components/HeroSection';\nimport About from './components/About';\nimport Footer from './components/Footer';\nimport { slides } from './data/carouselData.json';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport Ministry from './components/Ministry';\nimport SermonVideos from './components/SermonVideos';\nimport Contact from './components/Contact';\nimport Gallery from './components/Gallery';\n\n\nconst ScrollToTop = () => {\n const location = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [location]);\n\n return null; \n};\n\n\nfunction App() {\n const apiKey = 'AIzaSyAlO-ooHNRKQbbz71qRsJk7LUiXhIWecQc';\n const channelId = 'UC1X_OuSC-mmM18jMA8HG96w';\n\n return (\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n } />\n } />\n } />\n } />\n } />\n }/>\n \n
\n
\n
\n
\n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App'; \n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);"],"sourceRoot":""}