%PDF- %PDF-
Direktori : /home/opti/public_html/ncf/static/js/ |
Current File : /home/opti/public_html/ncf/static/js/main.f20bc6cc.chunk.js.map |
{"version":3,"sources":["app/config/server.js","@lodash/index.js","@nfc/NFCUtils.js","app/layout/components/TopBar/TopHeader.js","app/history.js","app/actions/logout.js","app/layout/components/Appbar/Appbar.js","app/layout/components/Content/Content.js","app/layout/components/Footer/styles.js","app/actions/newsletter.js","app/layout/components/Footer/Footer.js","app/layout/index.js","app/main/home/homeConfig.js","app/main/about-us/aboutUsConfig.js","app/main/contact/contactConfig.js","app/main/our-work/ourWorkConfig.js","app/main/shop/shopConfig.js","app/main/cart/cartConfig.js","app/main/library/libraryConfig.js","app/main/blog/blogConfig.js","app/main/donate/donateConfig.js","app/config/routeConfig.js","app/main/get-involved/getInvolvedConfig.js","app/main/support-nature/SupportNatureConfig.js","app/main/User/userConfig.js","app/main/our-centers/centersConfig.js","app/App.js","reportWebVitals.js","index.js"],"names":["module","exports","SERVER_URL","CLIENT_URL","_","__","runInContext","mixin","setIn","state","name","value","setWith","clone","findByValues","collection","property","values","filter","item","includes","NFCUtils","mainArr","searchText","toLowerCase","itemObj","searchInObj","prop","hasOwnProperty","this","searchInString","Array","isArray","searchInArray","arr","S4","Math","floor","random","toString","substring","array","indexOf","push","splice","text","replace","config","routes","settings","auth","map","route","configs","allRoutes","forEach","setRoutes","object","base","changes","transform","result","key","isEqual","isObject","nav","id","_item","merge","children","updateNavItem","omit","removeNavItem","s","parentId","prependNavItem","appendNavItem","authArr","userRole","undefined","length","some","r","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","split","onerror","error","formatCurrency","code","locale","Intl","NumberFormat","style","currency","format","Number","validateEmail","email","test","String","validatePhone","phone","TopHeader","className","role","aria-label","href","history","logoutAction","fetch","then","res","json","console","log","message","status","localStorage","clear","window","location","classNames","classes","Boolean","join","Appbar","loggedInUser","JSON","parse","getItem","logoutHandler","as","open","Button","aria-hidden","src","alt","navigation","sublist","list","next","sub3","component","Link","to","current","aria-current","show","Fragment","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","Items","static","Item","active","onClick","Panel","AppContent","InnerFooter","styled","div","newsletterAction","newsletterData","method","headers","body","stringify","response","setItem","reload","AppFooter","success","setTimeout","removeItem","size","UncontrolledAlert","color","onSubmit","e","preventDefault","target","firstChild","type","placeholder","AppLayout","renderRoutes","Footer","HomeConfig","path","exact","React","lazy","AboutUsConfig","ContactUsConfig","OurWorkConfig","ShopConfig","CartConfig","LibraryConfig","BlogConfig","DonateConfig","routeConfigs","Root","generateRoutesFromConfigs","SignUp","SignIn","Forgot","Reset","Activate","App","Suspense","fallback","pathname","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.f20bc6cc.chunk.js","sourcesContent":["module.exports = {\r\n SERVER_URL: 'https://ncfnigeria.org/admin/public/api',\r\n CLIENT_URL: '/'\r\n // CLIENT_URL: 'localhost:3000/'\r\n };\r\n","import __ from 'lodash';\r\n\r\n/**\r\n * You can extend Lodash with mixins\r\n * And use it as below\r\n * import _ from '@lodash'\r\n */\r\nconst _ = __.runInContext();\r\n\r\n_.mixin({\r\n // Immutable Set for setting state\r\n setIn: (state, name, value) => {\r\n return _.setWith(_.clone(state), name, value, _.clone);\r\n }\r\n});\r\n\r\n_.mixin({\r\n findByValues: function(collection, property, values) {\r\n return _.filter(collection, function(item) {\r\n return _.includes(values, item[property]);\r\n });\r\n }\r\n});\r\n\r\nexport default _;\r\n","import _ from '@lodash';\r\n\r\nclass NFCUtils {\r\n\r\n static filterArrayByString(mainArr, searchText)\r\n {\r\n if ( searchText === '' )\r\n {\r\n return mainArr;\r\n }\r\n\r\n searchText = searchText.toLowerCase();\r\n\r\n return mainArr.filter(itemObj => {\r\n return this.searchInObj(itemObj, searchText);\r\n });\r\n };\r\n\r\n static searchInObj(itemObj, searchText)\r\n {\r\n for ( const prop in itemObj )\r\n {\r\n if ( !itemObj.hasOwnProperty(prop) )\r\n {\r\n continue;\r\n }\r\n\r\n const value = itemObj[prop];\r\n\r\n if ( typeof value === 'string' )\r\n {\r\n if ( this.searchInString(value, searchText) )\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n else if ( Array.isArray(value) )\r\n {\r\n if ( this.searchInArray(value, searchText) )\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n if ( typeof value === 'object' )\r\n {\r\n if ( this.searchInObj(value, searchText) )\r\n {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n static searchInArray(arr, searchText)\r\n {\r\n for ( const value of arr )\r\n {\r\n if ( typeof value === 'string' )\r\n {\r\n if ( this.searchInString(value, searchText) )\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n if ( typeof value === 'object' )\r\n {\r\n if ( this.searchInObj(value, searchText) )\r\n {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n static searchInString(value, searchText)\r\n {\r\n return value.toLowerCase().includes(searchText);\r\n }\r\n\r\n static generateGUID()\r\n {\r\n function S4()\r\n {\r\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);\r\n }\r\n\r\n return S4() + S4();\r\n }\r\n\r\n static toggleInArray(item, array)\r\n {\r\n if ( array.indexOf(item) === -1 )\r\n {\r\n array.push(item);\r\n }\r\n else\r\n {\r\n array.splice(array.indexOf(item), 1);\r\n }\r\n }\r\n\r\n static handleize(text)\r\n {\r\n return text.toString().toLowerCase()\r\n .replace(/\\s+/g, '-') // Replace spaces with -\r\n .replace(/\\W+/g, '') // Remove all non-word chars\r\n .replace(/--+/g, '-') // Replace multiple - with single -\r\n .replace(/^-+/, '') // Trim - from start of text\r\n .replace(/-+$/, ''); // Trim - from end of text\r\n }\r\n\r\n static setRoutes(config)\r\n {\r\n let routes = [...config.routes];\r\n\r\n if ( config.settings || config.auth )\r\n {\r\n routes = routes.map((route) => {\r\n let auth = config.auth ? [...config.auth] : null;\r\n auth = route.auth ? [...auth, ...route.auth] : auth;\r\n return {\r\n ...route,\r\n settings: {...config.settings, ...route.settings},\r\n auth\r\n };\r\n });\r\n }\r\n\r\n return [...routes];\r\n }\r\n\r\n static generateRoutesFromConfigs(configs)\r\n {\r\n let allRoutes = [];\r\n configs.forEach((config) => {\r\n allRoutes = [\r\n ...allRoutes,\r\n ...this.setRoutes(config)\r\n ]\r\n });\r\n return allRoutes;\r\n }\r\n\r\n static difference(object, base)\r\n {\r\n function changes(object, base)\r\n {\r\n return _.transform(object, function (result, value, key) {\r\n if ( !_.isEqual(value, base[key]) )\r\n {\r\n result[key] = (_.isObject(value) && _.isObject(base[key])) ? changes(value, base[key]) : value;\r\n }\r\n });\r\n }\r\n\r\n return changes(object, base);\r\n }\r\n\r\n static updateNavItem(nav, id, item)\r\n {\r\n return nav.map(_item => {\r\n\r\n if ( _item.id === id )\r\n {\r\n return _.merge({}, _item, item);\r\n }\r\n\r\n if ( _item.children )\r\n {\r\n return _.merge({}, _item, {\r\n children: this.updateNavItem(_item.children, id, item)\r\n });\r\n }\r\n else\r\n {\r\n return _.merge({}, _item);\r\n }\r\n })\r\n }\r\n\r\n static removeNavItem(nav, id)\r\n {\r\n return nav.map(_item => {\r\n if ( _item.id === id )\r\n {\r\n return null;\r\n }\r\n\r\n if ( _item.children )\r\n {\r\n return _.merge({}, _.omit(_item, ['children']), {\r\n children: this.removeNavItem(_item.children, id)\r\n });\r\n }\r\n else\r\n {\r\n return _.merge({}, _item);\r\n }\r\n }).filter(s => s)\r\n }\r\n\r\n static prependNavItem(nav, item, parentId)\r\n {\r\n if ( !parentId )\r\n {\r\n return [\r\n item,\r\n ...nav\r\n ]\r\n }\r\n\r\n return nav.map(_item => {\r\n\r\n if ( _item.id === parentId && _item.children )\r\n {\r\n return {\r\n _item,\r\n children: [\r\n item,\r\n ..._item.children\r\n ]\r\n };\r\n }\r\n\r\n if ( _item.children )\r\n {\r\n return _.merge({}, _item, {\r\n children: this.prependNavItem(_item.children, item, parentId)\r\n });\r\n }\r\n else\r\n {\r\n return _.merge({}, _item);\r\n }\r\n })\r\n }\r\n\r\n static appendNavItem(nav, item, parentId)\r\n {\r\n if ( !parentId )\r\n {\r\n return [\r\n ...nav,\r\n item\r\n ]\r\n }\r\n\r\n return nav.map(_item => {\r\n\r\n if ( _item.id === parentId && _item.children )\r\n {\r\n return {\r\n _item,\r\n children: [\r\n ..._item.children,\r\n item\r\n ]\r\n };\r\n }\r\n\r\n if ( _item.children )\r\n {\r\n return _.merge({}, _item, {\r\n children: this.appendNavItem(_item.children, item, parentId)\r\n });\r\n }\r\n else\r\n {\r\n return _.merge({}, _item);\r\n }\r\n })\r\n }\r\n\r\n static hasPermission(authArr, userRole)\r\n {\r\n /**\r\n * If auth array is not defined\r\n * Pass and allow\r\n */\r\n if ( authArr === null || authArr === undefined )\r\n {\r\n // console.info(\"auth is null || undefined:\", authArr);\r\n return true;\r\n }\r\n /**\r\n * if auth array is empty means,\r\n * allow only user role is guest (null or empty[])\r\n */\r\n else if ( authArr.length === 0 )\r\n {\r\n // console.info(\"auth is empty[]:\", authArr);\r\n return !userRole || userRole.length === 0;\r\n }\r\n /**\r\n * Check if user has grants\r\n */\r\n else\r\n {\r\n // console.info(\"auth arr:\", authArr);\r\n /*\r\n Check if user role is array,\r\n */\r\n if ( userRole && Array.isArray(userRole) )\r\n {\r\n return authArr.some(r => userRole.indexOf(r) >= 0);\r\n }\r\n\r\n /*\r\n Check if user role is string,\r\n */\r\n return authArr.includes(userRole);\r\n }\r\n }\r\n\r\n static toBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result.split(',')[1]);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n static formatCurrency = (value, code = 'NGN', locale = 'en-NG') => {\r\n if (!code) code = 'NGN';\r\n return new Intl.NumberFormat(locale, { style: 'currency', currency: code }).format(Number(value))\r\n }\r\n\r\n static validateEmail = (email) => {\r\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n \r\n static validatePhone = (phone) => {\r\n const re = /^\\d+$/;\r\n return re.test(phone) && phone.length === 11;\r\n }\r\n\r\n}\r\n\r\nexport default NFCUtils;\r\n","import React from 'react';\r\nimport { FaFacebookSquare, FaTwitter, FaYoutube, FaInstagram } from \"react-icons/fa\"\r\nimport \"./TopBar.css\"\r\nfunction TopHeader() {\r\n\treturn (\r\n <nav className=\"w-full topbar text-white bg-green py-2 px-2 sm:px-6 lg:px-4\" role=\"navigation\" aria-label=\"main navigation\">\r\n <div className=\"max-w-7xl mx-auto\">\r\n <div className=\"flex md:flex-row flex-col justify-between items-center\">\r\n <div>\r\n <p className=\"text-sm text-gray-300\">For nature....For people.....For Nigeria</p>\r\n </div>\r\n\r\n <div className=\"flex items-center space-x-8\">\r\n <div className=\"flex space-x-4\">\r\n <a href=\"https://www.facebook.com/NCFNigeria/\" className=\"text-white\">\r\n <span><FaFacebookSquare /></span>\r\n </a>\r\n\r\n <a href=\"https://twitter.com/ncfnigeria\" className=\"text-white\">\r\n <span><FaTwitter /></span>\r\n </a>\r\n\r\n <a href=\"https://www.youtube.com/user/NCF1980\" className=\"text-white\">\r\n <span><FaYoutube/></span>\r\n </a>\r\n\r\n <a href=\"https://www.instagram.com/ncfnigeria/\" className=\"text-white\">\r\n <span><FaInstagram /></span>\r\n </a>\r\n </div>\r\n\r\n <div className=\"\">\r\n <span className=\"text-sm text-gray-300\">\r\n <strong>\r\n Call: +2349034895750\r\n </strong>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </nav>\r\n\t)\r\n}\r\n\r\nexport default TopHeader\r\n","import * as history from 'history';\r\n\r\nexport default history.createBrowserHistory();","\r\nimport {SERVER_URL, CLIENT_URL} from '../config/server';\r\n\r\nconst logoutAction = () => {\r\n fetch(`${SERVER_URL}/auth/logout`)\r\n .then(res => res.json())\r\n .then(json => {\r\n console.log(json.message, 'json')\r\n if(json.status === 200){\r\n localStorage.clear();\r\n window.location.href = CLIENT_URL;\r\n }else{\r\n console.log(\"Error occured during logout\");\r\n }\r\n });\r\n }\r\n\r\n export default logoutAction\r\n","import { Fragment } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Disclosure, Menu, Transition } from '@headlessui/react';\r\nimport { HiMenu, HiX, HiOutlineChevronDown } from 'react-icons/hi';\r\nimport navigation from './menu.json';\r\nimport './appbar.css';\r\nimport {SERVER_URL, CLIENT_URL} from '../../../config/server';\r\nimport logoutAction from '../../../actions/logout';\r\nfunction classNames(...classes) {\r\n return classes.filter(Boolean).join(' ');\r\n}\r\n\r\nfunction Appbar() {\r\n\r\n const loggedInUser = JSON.parse(localStorage.getItem(\"loggedInUser\"));\r\n const logoutHandler = logoutAction;\r\n \r\n return (\r\n <Disclosure\r\n as='nav'\r\n className='mynav text-darkgreen text-bolder md:bg-opacity-80 bg-opacity-100'\r\n >\r\n {({ open }) => (\r\n <>\r\n <div className='mx-auto px-6 sm:px-6 lg:px-0'>\r\n <div className='relative flex items-center justify-evenly md:px-8 h-20'>\r\n <div className='absolute inset-y-0 left-0 flex items-center md:hidden'>\r\n {/* Mobile menu button*/}\r\n <Disclosure.Button className='inline-flex items-center justify-center p-2 rounded-md text-darkgreen hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white'>\r\n <span className='sr-only'>Open main menu</span>\r\n {open ? (\r\n <HiX className='block h-6 w-6' aria-hidden='true' />\r\n ) : (\r\n <HiMenu className='block h-6 w-6' aria-hidden='true' />\r\n )}\r\n </Disclosure.Button>\r\n </div>\r\n <div className='flex-1 flex items-center justify-center md:items-stretch md:justify-start'>\r\n <div className='flex-shrink-0 flex items-center'>\r\n <img\r\n className='block lg:hidden h-16 moblogo'\r\n src='/assets/images/brands/logo.png'\r\n alt='NCF Nigeria'\r\n />\r\n <img\r\n className='hidden lg:block h-16 brandlogo mr-8'\r\n src='/assets/images/brands/logo.png'\r\n alt='NCF Nigeria'\r\n />\r\n </div>\r\n\r\n\r\n <div className='hidden md:block sm:ml-6'>\r\n <div className='flex py-5 space-x-4'>\r\n {navigation.map((nav) =>\r\n // Links with Dropdowns\r\n nav.sublist && nav.sublist.length > 0 ? (\r\n <div key={nav.name} className='group inline-block'>\r\n <button className='outline-none focus:outline-none text-grey-300 px-3 py-2 rounded-sm flex items-center'>\r\n <span className='pr-1 text-xs navlink flex-1'>\r\n <a className=\"text-darkgreen navlink\">{nav.name}</a>\r\n </span>\r\n <span>\r\n <HiOutlineChevronDown className='h-4 w-4 transform group-hover:-rotate-180 transition duration-150 ease-in-out' />\r\n </span>\r\n </button>\r\n <ul\r\n className='bg-darkgreen text-white rounded-sm transform scale-0 group-hover:scale-100 absolute \r\n\t\t\t\t\t\t\t\t\t\t\ttransition duration-150 ease-in-out origin-top min-w-32 outline-none focus:outline-none'\r\n >\r\n {nav.sublist.map((list) =>\r\n list.sublist ? (\r\n <li\r\n key={list.name}\r\n className='rounded-sm relative px-3 py-1'\r\n >\r\n <button className='w-full text-left flex items-center outline-none focus:outline-none'>\r\n <span className='pr-1 flex-1'>\r\n {/* Habitat */}\r\n <a className=\"text-white navlink\">{list.name}</a>\r\n </span>\r\n <span className='mr-auto'>\r\n <HiOutlineChevronDown className='h-4 w-4 transition duration-150 ease-in-out' />\r\n </span>\r\n </button>\r\n {list.sublist && (\r\n <ul className='bg-darkgreen rounded-sm absolute top-0 right-0 transition duration-150 ease-in-out origin-top-left min-w-32'>\r\n {list.sublist.map((next) =>\r\n next.sublist ? (\r\n <li\r\n key={next.name}\r\n className='rounded-sm relative px-3 py-1 navlink'\r\n >\r\n <button className='w-full text-left flex items-center outline-none focus:outline-none'>\r\n <span className='pr-1 flex-1'>\r\n <a className=\"navlink\" href={next.href}>\r\n H1\r\n </a>\r\n </span>\r\n <span className='mr-auto'>\r\n <HiOutlineChevronDown className='h-4 w-4 transition duration-150 ease-in-out' />\r\n </span>\r\n </button>\r\n {next.sublist && (\r\n <ul className='bg-white border rounded-sm absolute top-0 right-0 transition duration-150 ease-in-out origin-top-left min-w-32'>\r\n {next.sublist.map((sub3) => (\r\n <li\r\n key={sub3.name}\r\n className='px-3 py-1 navlink'\r\n >\r\n {sub3.name}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n </li>\r\n ) : (\r\n <li\r\n key={next.name}\r\n className='px-3 py-1'\r\n >\r\n <a className=\"text-white navlink\" href={next.href}>{next.name}</a>\r\n </li>\r\n )\r\n )}\r\n </ul>\r\n )}\r\n </li>\r\n ) : (\r\n <li\r\n key={list.name}\r\n className='rounded-sm px-3 py-1'\r\n >\r\n <button\r\n component={Link}\r\n to='/about-us'\r\n className='w-full text-left flex items-center outline-none focus:outline-none'\r\n >\r\n <span className='pr-1 flex-1'>\r\n <a className=\"text-white navlink\" href={list.href}>{list.name}</a>\r\n </span>\r\n </button>\r\n </li>\r\n )\r\n )}\r\n </ul>\r\n </div>\r\n ) : (\r\n <a\r\n key={nav.name}\r\n href={nav.href}\r\n className={classNames(\r\n nav.current\r\n ? 'bg-gray-800 text-dark'\r\n : 'text-dark-300',\r\n 'px-3 py-2 rounded-md text-darkgreen text-xs font-medium navlink'\r\n )}\r\n aria-current={nav.current ? 'page' : undefined}\r\n >\r\n {nav.name}\r\n </a>\r\n )\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n <div className='absolute inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0'>\r\n <a\r\n href='/our-centers'\r\n className='shadow-lg rounded-full bg-white font-bold py-2 px-4 flex items-center outline-none no-underline focus:outline-none'\r\n >\r\n <span className='flex-1 text-xs text-darkgreen'>OUR CENTERS</span>\r\n </a>\r\n {/* Display Profile dropdown if user is logged in */}\r\n {loggedInUser ? \r\n // Profile Dropdown\r\n <Menu as='div' className='ml-3 relative'>\r\n {({ open }) => (\r\n <>\r\n <div>\r\n <Menu.Button className='bg-gray-800 flex text-sm rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white'>\r\n <span className='sr-only'>Open user menu</span>\r\n <img\r\n className='h-8 w-8 rounded-full'\r\n src='https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80'\r\n alt=''\r\n />\r\n </Menu.Button>\r\n </div>\r\n <Transition\r\n show={open}\r\n as={Fragment}\r\n enter='transition ease-out duration-100'\r\n enterFrom='transform opacity-0 scale-95'\r\n enterTo='transform opacity-100 scale-100'\r\n leave='transition ease-in duration-75'\r\n leaveFrom='transform opacity-100 scale-100'\r\n leaveTo='transform opacity-0 scale-95'\r\n >\r\n <Menu.Items\r\n static\r\n className='origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\r\n >\r\n <Menu.Item>\r\n {({ active }) => (\r\n <a\r\n href='/user'\r\n className={classNames(\r\n active ? 'bg-gray-100' : '',\r\n 'block my-0 px-4 py-2 text-sm text-gray-700 no-underline\t'\r\n )}\r\n >\r\n Your Profile\r\n </a>\r\n )}\r\n </Menu.Item>\r\n {/* <Menu.Item>\r\n {({ active }) => (\r\n <a\r\n href='/'\r\n className={classNames(\r\n active ? 'bg-gray-100' : '',\r\n 'block my-0 px-4 py-2 text-sm text-gray-700'\r\n )}\r\n >\r\n Settings\r\n </a>\r\n )}\r\n </Menu.Item> */}\r\n <Menu.Item>\r\n {({ active }) => (\r\n <button onClick={logoutHandler}\r\n href='/'\r\n className={classNames(\r\n active ? 'bg-gray-100' : '',\r\n 'block my-0 px-4 py-2 text-sm text-gray-700'\r\n )}\r\n >\r\n Sign out\r\n </button>\r\n )}\r\n </Menu.Item>\r\n </Menu.Items>\r\n </Transition>\r\n </>\r\n )}\r\n </Menu>\r\n // Profile Dropdown End\r\n :\r\n <a href=\"/signin \" className= 'px-3 py-2 rounded-md text-darkgreen text-xs navlink font-bold'>\r\n Sign in \r\n </a>\r\n }\r\n \r\n\r\n {/* Profile dropdown */}\r\n {/* <Menu as='div' className='ml-3 relative'>\r\n {({ open }) => (\r\n <>\r\n <div>\r\n <Menu.Button className='bg-gray-800 flex text-sm rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white'>\r\n <span className='sr-only'>Open user menu</span>\r\n <img\r\n className='h-8 w-8 rounded-full'\r\n src='https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80'\r\n alt=''\r\n />\r\n </Menu.Button>\r\n </div>\r\n <Transition\r\n show={open}\r\n as={Fragment}\r\n enter='transition ease-out duration-100'\r\n enterFrom='transform opacity-0 scale-95'\r\n enterTo='transform opacity-100 scale-100'\r\n leave='transition ease-in duration-75'\r\n leaveFrom='transform opacity-100 scale-100'\r\n leaveTo='transform opacity-0 scale-95'\r\n >\r\n <Menu.Items\r\n static\r\n className='origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\r\n >\r\n <Menu.Item>\r\n {({ active }) => (\r\n <a\r\n href='/'\r\n className={classNames(\r\n active ? 'bg-gray-100' : '',\r\n 'block my-0 px-4 py-2 text-sm text-darkgreen'\r\n )}\r\n >\r\n Your Profile\r\n </a>\r\n )}\r\n </Menu.Item>\r\n <Menu.Item>\r\n {({ active }) => (\r\n <a\r\n href='/'\r\n className={classNames(\r\n active ? 'bg-gray-100' : '',\r\n 'block my-0 px-4 py-2 text-sm text-darkgreen'\r\n )}\r\n >\r\n Settings\r\n </a>\r\n )}\r\n </Menu.Item>\r\n <Menu.Item>\r\n {({ active }) => (\r\n <a\r\n href='/'\r\n className={classNames(\r\n active ? 'bg-gray-100' : '',\r\n 'block my-0 px-4 py-2 text-sm text-darkgreen'\r\n )}\r\n >\r\n Sign out\r\n </a>\r\n )}\r\n </Menu.Item>\r\n </Menu.Items>\r\n </Transition>\r\n </>\r\n )}\r\n </Menu> */}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {/* MOBILE MENU VIEW */}\r\n\r\n <Disclosure.Panel className='md:hidden'>\r\n <div className='px-2 pt-2 pb-3 space-y-1'>\r\n {navigation.map((item) => (\r\n item.sublist && item.sublist.length > 0 ? (\r\n <Menu>\r\n <div key={item.name} className='group block'>\r\n <Menu.Button className='outline-none focus:outline-none text-grey-300 px-3 py-2 rounded-sm flex items-center'>\r\n <span className='pr-1 text-sm font-medium flex-1'>\r\n <a className=\"text-darkgreen\">{item.name}</a>\r\n </span>\r\n <span>\r\n <HiOutlineChevronDown className='h-4 w-4 transform group-click:-rotate-180 transition duration-150 ease-in-out' />\r\n </span>\r\n </Menu.Button>\r\n <Transition\r\n as={Fragment}\r\n enter=\"transition ease-in-out duration-[400ms]\"\r\n enterFrom=\"transform opacity-0 scale-95\"\r\n enterTo=\"transform opacity-100 scale-100\"\r\n leave=\"transition ease-in duration-75\"\r\n leaveFrom=\"transform opacity-100 scale-100\"\r\n leaveTo=\"transform opacity-0 scale-95\"\r\n >\r\n <Menu.Items>\r\n <Menu.Item>\r\n <ul\r\n className='bg-darkgreen text-white rounded-sm relative \r\n transition duration-150 ease-in-out origin-top min-w-32 outline-none focus:outline-none'\r\n >\r\n {item.sublist.map((list) =>\r\n list.sublist ? (\r\n // habitat\r\n <Menu>\r\n <li\r\n key={list.name}\r\n className='rounded-sm relative px-3 py-1'\r\n >\r\n <Menu.Button className='inline-flex text-left w-full py-2 font-medium text-white hover:bg-opacity-30 focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75'>\r\n <span className='pr-1 flex-1'>\r\n <a className=\"text-white\">{list.name}</a>\r\n </span>\r\n <span>\r\n <HiOutlineChevronDown\r\n className=\"w-5 h-5 ml-2 -mr-1 text-violet-200 hover:text-violet-100\"\r\n aria-hidden=\"true\"\r\n />\r\n </span>\r\n </Menu.Button>\r\n {list.sublist && (\r\n <Transition\r\n as={Fragment}\r\n enter=\"transition ease-in-out duration-[400ms]\"\r\n enterFrom=\"transform opacity-0 scale-95\"\r\n enterTo=\"transform opacity-100 scale-100\"\r\n leave=\"transition ease-in duration-75\"\r\n leaveFrom=\"transform opacity-100 scale-100\"\r\n leaveTo=\"transform opacity-0 scale-95\"\r\n >\r\n <Menu.Items>\r\n <ul className='bg-darkgreen rounded-sm absolute left-20 w-56 origin-top-left'>\r\n {list.sublist.map((next) =>(\r\n <Menu.Item>\r\n <li\r\n key={next.name}\r\n className='px-3 py-1'\r\n >\r\n <a className=\"text-white\" href={next.href}>{next.name}</a>\r\n </li>\r\n </Menu.Item>\r\n )\r\n )}\r\n </ul>\r\n </Menu.Items>\r\n </Transition>\r\n )}\r\n </li>\r\n </Menu>\r\n ) : (\r\n\r\n //Drop down content\r\n \r\n <li\r\n key={list.name}\r\n className='rounded-sm px-3 py-1'\r\n >\r\n <button\r\n component={Link}\r\n to='/about-us'\r\n className='w-full text-left flex items-center outline-none focus:outline-none'\r\n >\r\n <span className='py-1 flex-1'>\r\n <a className=\"text-white\" href={list.href}>{list.name}</a>\r\n </span>\r\n </button>\r\n </li>\r\n \r\n \r\n )\r\n )}\r\n </ul>\r\n </Menu.Item>\r\n </Menu.Items>\r\n </Transition>\r\n </div>\r\n </Menu>\r\n ) : (\r\n <a\r\n key={item.name}\r\n href={item.href}\r\n className={classNames(\r\n item.current\r\n ? 'bg-gray-800 text-dark'\r\n : 'text-dark-300',\r\n 'px-3 py-2 rounded-md text-sm font-medium text-darkgreen block'\r\n )}\r\n aria-current={item.current ? 'page' : undefined}\r\n >\r\n {item.name}\r\n </a>\r\n )\r\n ))}\r\n </div>\r\n </Disclosure.Panel>\r\n </>\r\n )}\r\n </Disclosure>\r\n );\r\n}\r\n\r\nexport default Appbar;\r\n","import React from 'react'\r\nimport \"./Content.css\"\r\n\r\nfunction AppContent({children}) {\r\n\treturn (\r\n <main className=\"content\">\r\n {children}\r\n </main>\r\n\t)\r\n}\r\n\r\nexport default AppContent\r\n","import styled from 'styled-components';\r\n\r\nconst InnerFooter = styled.div`\r\n background-image: url(assets/images/bg/footer-bg.svg);\r\n background-size: 40em;\r\n background-repeat: no-repeat;\r\n background-position: left center;\r\n`;\r\n\r\nexport { InnerFooter };\r\n","import {SERVER_URL, CLIENT_URL} from '../config/server';\r\n\r\nconst newsletterAction = (newsletterData) =>{\r\n fetch(`${SERVER_URL}/home/newsletter`, {\r\n method: 'POST',\r\n headers:{\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(newsletterData)\r\n }).then(response => response.json())\r\n .then(json => {\r\n console.log(json.message, 'json')\r\n if(json.status === 200){\r\n localStorage.setItem('login-success', JSON.stringify(json.message));\r\n window.location.reload();\r\n }else if(json.status === 201){\r\n localStorage.setItem('login-error', JSON.stringify(json.message));\r\n window.location.reload();\r\n }else{\r\n localStorage.setItem('login-error', JSON.stringify(json.message));\r\n window.location.reload();\r\n }\r\n });\r\n}\r\n\r\nexport default newsletterAction\r\n","import React from 'react';\r\nimport {\r\n FaFacebookSquare,\r\n FaTwitter,\r\n FaYoutube,\r\n FaInstagram,\r\n FaEnvelope,\r\n} from 'react-icons/fa';\r\nimport { ImLocation } from 'react-icons/im';\r\nimport { HiOutlinePhone } from 'react-icons/hi';\r\nimport { InnerFooter } from './styles';\r\nimport \"./footer.css\"\r\nimport newsletterAction from '../../../actions/newsletter'\r\nimport {UncontrolledAlert ,Alert} from 'reactstrap'\r\n\r\nfunction AppFooter() {\r\n const newsletterSignUp = (e) =>{\r\n e.preventDefault();\r\n const email = e.target.firstChild.firstChild.value;\r\n const newsletterData = {email};\r\n newsletterAction(newsletterData)\r\n }\r\n const error = localStorage.getItem('login-error');\r\n const success = localStorage.getItem('login-success');\r\n setTimeout(function() {\r\n localStorage.removeItem('login-error');\r\n }, 15000)\r\n setTimeout(function() {\r\n localStorage.removeItem('login-success');\r\n }, 15000)\r\n return (\r\n <div className='w-full bg-green-dark z-index-2 text-gray-300 text-sm pt-40 mt-40'>\r\n <img\r\n src='/assets/images/bg/white-bg.png'\r\n alt=''\r\n className='w-full relative sm-hidden -top-25em mb-15em '\r\n />\r\n <InnerFooter>\r\n <div className='max-w-7xl mx-auto md:px-4 px-8 relative mt-25em foot'>\r\n <div className='grid md:grid-cols-4 grid-cols-1 md:gap-8 gap-y-8'>\r\n <div className='block'>\r\n <h2 className='text-base font-bold text-white mb-3'>ABOUT US</h2>\r\n <p className=''>\r\n The Nigerian Conservation Foundation (NCF) is the premier Non\r\n Governmental Organisation (NGO) dedicated to nature conservation\r\n and sustainable development in Nigeria.\r\n </p>\r\n <h2 className='text-base font-bold text-white my-4'>\r\n NCF PARTNERS\r\n </h2>\r\n <ul className='flex space-x-2'>\r\n <li>\r\n <img\r\n className='w-16'\r\n src='/assets/images/partners/birdlife.svg'\r\n alt=''\r\n />\r\n </li>\r\n <li>\r\n <img\r\n className='w-16'\r\n src='/assets/images/partners/rspb.jpeg'\r\n alt=''\r\n />\r\n </li>\r\n <li>\r\n <img\r\n className='w-16'\r\n src='/assets/images/partners/wwf.svg'\r\n alt=''\r\n />\r\n </li>\r\n <li>\r\n <img\r\n className='w-16'\r\n src='/assets/images/partners/iucn.svg'\r\n alt=''\r\n />\r\n </li>\r\n </ul>\r\n <ul className='flex space-x-2 mt-3 mb-3'>\r\n <li>\r\n <img\r\n className='w-40'\r\n src='/assets/images/partners/IUCNEU.png'\r\n alt=''\r\n />\r\n </li>\r\n </ul>\r\n </div>\r\n <div className='block'>\r\n <h2 className='text-base font-bold text-white mb-3'>OUR WORK</h2>\r\n <aside className=''>\r\n <ul className=''>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/climate-change'>\r\n Climate Change\r\n </a>\r\n </li>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/species'>\r\n Species Conservation\r\n </a>\r\n </li>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/policy-advocacy'>\r\n Policy & Advocacy\r\n </a>\r\n </li>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/environmental-education'>\r\n Environmental Education\r\n </a>\r\n </li>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/marine-coastline'>\r\n Marine Coastal & Wetland\r\n </a>\r\n </li>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/our-work'>\r\n Forest\r\n </a>\r\n </li>\r\n </ul>\r\n </aside>\r\n <h2 className='text-base font-bold text-white'>\r\n FOLLOW US ON\r\n </h2>\r\n <div className='flex items-center justify-start space-x-4'>\r\n <a href='https://www.facebook.com/NCFNigeria/' className='text-gray-100 hover:text-white'>\r\n <FaFacebookSquare size='20' />\r\n </a>\r\n <a href='https://twitter.com/ncfnigeria' className='text-gray-100 hover:text-white'>\r\n <FaTwitter size='20' />\r\n </a>\r\n <a href='https://www.youtube.com/user/NCF1980' className='text-gray-100 hover:text-white'>\r\n <FaYoutube size='20' />\r\n </a>\r\n <a href='https://www.instagram.com/ncfnigeria/' className='text-gray-100 hover:text-white'>\r\n <FaInstagram size='20' />\r\n </a>\r\n </div>\r\n </div>\r\n <div className='block'>\r\n <h2 className='text-base font-bold text-white mb-3'>\r\n GET INVOLVED\r\n </h2>\r\n <aside className=''>\r\n <ul className=''>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/get-involved'>\r\n Membership\r\n </a>\r\n </li>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/donate'>\r\n Donate\r\n </a>\r\n </li>\r\n <li>\r\n <a className='text-gray-300 hover:text-white' href='/volunteer'>\r\n Volunteer\r\n </a>\r\n </li>\r\n </ul>\r\n </aside>\r\n </div>\r\n <div className='block'>\r\n {error ? \r\n <UncontrolledAlert color=\"danger\">\r\n {error}\r\n </UncontrolledAlert>\r\n \r\n : null }\r\n {success ? \r\n <UncontrolledAlert color=\"success\">\r\n {success}\r\n </UncontrolledAlert>\r\n \r\n : null } \r\n <h2 className='text-base font-bold text-white mb-3'>\r\n SIGN UP FOR NEWSLETTER\r\n </h2>\r\n <p>\r\n Get latest information on our events, programmes and special\r\n membership offers.\r\n </p>\r\n <form onSubmit={newsletterSignUp}>\r\n <div className='my-2 flex'>\r\n <input\r\n className='border-green-300 p-3 focus:outline-none focus:ring-1 focus:ring-green-light focus:ring-opacity-50 flex-1 block w-full'\r\n type='text'\r\n placeholder='Enter your email address'\r\n />\r\n <button type=\"submit\" className='inline-flex items-center px-4 border border-l-0 border-green-light bg-green text-white text-sm'>\r\n <FaEnvelope color='#fff' size='18' />\r\n </button>\r\n </div>\r\n </form>\r\n\r\n <h2 className='text-base font-bold text-white my-2'>\r\n STAY IN TOUCH\r\n </h2>\r\n <aside className=''>\r\n <dl className='space-y-1'>\r\n <div className='flex items-start space-x-2'>\r\n <dt className='mt-1'>\r\n <ImLocation className='text-gray-100 flex-none w-5 h-full' />{' '}\r\n </dt>\r\n <dd>\r\n <span>\r\n NCF Headquarters, Km 19, Lekki-Epe Expressway, Lekki.\r\n Lagos. Nigeria\r\n </span>\r\n </dd>\r\n </div>\r\n <div className='flex items-start space-x-2'>\r\n <dt className='sm:mt-0 mt-0'>\r\n <HiOutlinePhone className='text-gray-100 flex-none w-5 h-full' />{' '}\r\n </dt>\r\n <dd>\r\n <span>+2349034895750 +2349091476149 +2349065460479</span>\r\n </dd>\r\n </div>\r\n <div className='flex items-center space-x-2'>\r\n <dt className='mt-0'>\r\n <FaEnvelope className='text-gray-100 flex-none w-5 h-full' />\r\n </dt>\r\n <dd>\r\n <span>info@ncfnigeria.org</span>\r\n </dd>\r\n </div>\r\n </dl>\r\n </aside>\r\n </div>\r\n </div>\r\n\r\n <div className='content text-sm '>\r\n <p>© 2020 Nigerian Conservation Foundation. All Right Reserved</p>\r\n </div>\r\n </div>\r\n <div className='text-center p-8 text-white space-x-2'>\r\n <h5 className=\"text-white text-sm\">Designed by <a className=\"text-white no-underline\" href=\"https://optisoft.ng\">Optisoft</a></h5>\r\n </div>\r\n </InnerFooter>\r\n </div>\r\n );\r\n}\r\n\r\nexport default AppFooter;\r\n","// import { Fragment } from 'react'\r\nimport { renderRoutes } from \"react-router-config\"\r\nimport Appbar from \"./components/Appbar/Appbar\"\r\nimport TopHeader from \"./components/TopBar/TopHeader\"\r\nimport Content from \"./components/Content/Content\"\r\nimport Footer from \"./components/Footer/Footer\"\r\n\r\nfunction AppLayout({route}) {\r\n\treturn (\r\n\t\t<div className=\"\">\r\n\t\t\t<header className=\"w-full flex flex-col bg-transparent fixed z-50\">\r\n\t\t\t\t<TopHeader />\r\n\t\t\t\t<Appbar />\r\n\t\t\t</header>\r\n\r\n\t\t\t<Content>\r\n\t\t\t\t{/* <Fragment>{children}</Fragment> */}\r\n\t\t\t\t{renderRoutes(route.routes)}\r\n\t\t\t</Content>\r\n\r\n\t\t\t<Footer />\r\n\t\t</div>\r\n\t)\r\n}\r\n\r\nexport default AppLayout\r\n","import React from 'react';\r\n\r\nexport const HomeConfig = {\r\n routes: [\r\n {\r\n path: '/',\r\n exact: true,\r\n component: React.lazy(() => import('./')),\r\n }\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const AboutUsConfig = {\r\n routes: [\r\n {\r\n path: '/ncf-in-brief',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n },\r\n {\r\n path: '/vision-and-mission',\r\n exact: true,\r\n component: React.lazy(() => import('./VisionAndMission')),\r\n },\r\n {\r\n path: '/milestones',\r\n exact: true,\r\n component: React.lazy(() => import('./Milestones')),\r\n },\r\n {\r\n path: '/governing-bodies',\r\n exact: true,\r\n component: React.lazy(() => import('./GoverningBodies')),\r\n },\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const ContactUsConfig = {\r\n routes: [\r\n {\r\n path: '/contact-us',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n },\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const OurWorkConfig = {\r\n routes: [\r\n {\r\n path: '/species',\r\n exact: true,\r\n component: React.lazy(() => import('./Species')),\r\n },\r\n {\r\n path: '/forest',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n },\r\n {\r\n path: '/marine-coastline',\r\n exact: true,\r\n component: React.lazy(() => import('./MarineCoastline')),\r\n },\r\n // {\r\n // path: '/wetland-freshwater',\r\n // exact: true,\r\n // component: React.lazy(() => import('./WetlandFreshwater')),\r\n // },\r\n {\r\n path: '/climate-change',\r\n exact: true,\r\n component: React.lazy(() => import('./ClimateChange')),\r\n },\r\n {\r\n path: '/environmental-education',\r\n exact: true,\r\n component: React.lazy(() => import('./EnvironmentEducation')),\r\n },\r\n {\r\n path: '/our-community',\r\n exact: true,\r\n component: React.lazy(() => import('./Community')),\r\n },\r\n {\r\n path: '/policy-advocacy',\r\n exact: true,\r\n component: React.lazy(() => import('./PolicyAdvocacy')),\r\n },\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const ShopConfig = {\r\n routes: [\r\n {\r\n path: '/shop',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n },\r\n {\r\n path: '/shop/product',\r\n exact: true,\r\n component: React.lazy(() => import('./Product')),\r\n },\r\n {\r\n path: '/shop/category',\r\n exact: true,\r\n component: React.lazy(() => import('./ByCategory')),\r\n },\r\n {\r\n path: '/shop/search',\r\n exact: true,\r\n component: React.lazy(() => import('./Search')),\r\n },\r\n {\r\n path: '/shop/:id',\r\n exact: true,\r\n component: React.lazy(() => import('./shop')),\r\n }\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const CartConfig = {\r\n routes: [\r\n {\r\n path: '/cart',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n },\r\n {\r\n path: '/cart/checkout',\r\n exact: true,\r\n component: React.lazy(() => import('./checkout')),\r\n }\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const LibraryConfig = {\r\n routes: [\r\n {\r\n path: '/e-library',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n },\r\n {\r\n path: '/news-updates',\r\n exact: true,\r\n component: React.lazy(() => import('./NewsUpdates')),\r\n },\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const BlogConfig = {\r\n routes: [\r\n {\r\n path: '/blog',\r\n exact: true,\r\n component: React.lazy(() => import('./')),\r\n },\r\n {\r\n path: '/blog/tag',\r\n exact: true,\r\n component: React.lazy(() => import('./TagPage')),\r\n },\r\n\r\n {\r\n path: '/blog/post',\r\n exact: true,\r\n component: React.lazy(() => import('./Single')),\r\n },\r\n {\r\n path: '/blog/search',\r\n exact: true,\r\n component: React.lazy(() => import('./Search')),\r\n }\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const DonateConfig = {\r\n routes: [\r\n {\r\n path: '/donate',\r\n exact: true,\r\n component: React.lazy(() => import('./')),\r\n }\r\n ],\r\n};\r\n","import Root from '../layout';\r\nimport { NFCUtils } from '@nfc';\r\nimport { HomeConfig } from '../main/home/homeConfig';\r\nimport { AboutUsConfig } from '../main/about-us/aboutUsConfig';\r\nimport { ContactUsConfig } from '../main/contact/contactConfig';\r\nimport { OurWorkConfig } from '../main/our-work/ourWorkConfig';\r\nimport { ShopConfig } from '../main/shop/shopConfig';\r\nimport { CartConfig } from '../main/cart/cartConfig';\r\nimport { LibraryConfig } from '../main/library/libraryConfig';\r\nimport { BlogConfig } from '../main/blog/blogConfig';\r\nimport { DonateConfig } from '../main/donate/donateConfig';\r\nimport { GetInvolvedConfig } from '../main/get-involved/getInvolvedConfig';\r\nimport { SupportNatureConfig } from '../main/support-nature/SupportNatureConfig';\r\nimport { UserConfig } from '../main/User/userConfig';\r\nimport { OurCentersConfig } from '../main/our-centers/centersConfig';\r\n\r\nconst routeConfigs = [\r\n HomeConfig,\r\n AboutUsConfig,\r\n ContactUsConfig,\r\n OurWorkConfig,\r\n ShopConfig,\r\n CartConfig,\r\n LibraryConfig,\r\n GetInvolvedConfig,\r\n SupportNatureConfig,\r\n BlogConfig,\r\n DonateConfig,\r\n UserConfig,\r\n OurCentersConfig,\r\n];\r\n\r\nconst routes = [\r\n {\r\n component: Root,\r\n routes: [...NFCUtils.generateRoutesFromConfigs(routeConfigs)],\r\n },\r\n];\r\n\r\nexport default routes;\r\n","import React from 'react';\r\n\r\nexport const GetInvolvedConfig = {\r\n routes: [\r\n {\r\n path: '/corporate-membership',\r\n exact: true,\r\n component: React.lazy(() => import('./Corporate')),\r\n },\r\n {\r\n path: '/individual-membership',\r\n exact: true,\r\n component: React.lazy(() => import('./Individual')),\r\n },\r\n {\r\n path: '/membership/corporate',\r\n exact: true,\r\n component: React.lazy(() => import('./Corporate-membership')),\r\n },\r\n {\r\n path: '/membership/individual',\r\n exact: true,\r\n component: React.lazy(() => import('./Individual-membership')),\r\n },\r\n {\r\n path: '/volunteer',\r\n exact: true,\r\n component: React.lazy(() => import('./Volunteer')),\r\n },\r\n {\r\n path: '/bird-club',\r\n exact: true,\r\n component: React.lazy(() => import('./BirdClub')),\r\n },\r\n {\r\n path: '/events',\r\n exact: true,\r\n component: React.lazy(() => import('./Events')),\r\n },\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const SupportNatureConfig = {\r\n routes: [\r\n {\r\n path: '/support-nature',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n }\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const UserConfig = {\r\n routes: [\r\n {\r\n path: '/user',\r\n exact: true,\r\n component: React.lazy(() => import('.')),\r\n },\r\n {\r\n path: '/user/change-password',\r\n exact: true,\r\n component: React.lazy(() => import('./Password')),\r\n }\r\n ],\r\n};\r\n","import React from 'react';\r\n\r\nexport const OurCentersConfig = {\r\n routes: [\r\n {\r\n path: '/our-centers',\r\n exact: true,\r\n component: React.lazy(() => import('./')),\r\n }, \r\n ],\r\n};\r\n","import React from \"react\"\r\nimport { Router, Route, Switch } from \"react-router-dom\"\r\nimport {renderRoutes} from \"react-router-config\"\r\nimport history from \"./history\"\r\n// import AppLayout from \"./layout\"\r\nimport routes from \"./config/routeConfig\"\r\nimport \"antd/dist/antd.css\";\r\n\r\n// const Home = React.lazy(() => import(\"./main/home\"))\r\n// const AboutUs = React.lazy(() => import(\"./main/about-us\"))\r\n// const OurWork = React.lazy(() => import(\"./main/our-work\"))\r\n// const Shop = React.lazy(() => import(\"./main/shop\"))\r\nconst SignUp = React.lazy(() => import(\"./main/SignUp\"))\r\nconst SignIn = React.lazy(() => import(\"./main/SignIn\"))\r\nconst Forgot = React.lazy(() => import(\"./main/Forgot\"))\r\nconst Reset = React.lazy(() => import(\"./main/Forgot/Reset\"))\r\nconst Activate = React.lazy(() => import(\"./main/SignUp/Activate\"))\r\n \r\nfunction App() {\r\n return (\r\n <div className=\"App\">\r\n <React.Suspense fallback={null}>\r\n <Router history={history}>\r\n {history.location.pathname === \"/signup\" || history.location.pathname === \"/signin\" \r\n || history.location.pathname === \"/forgot-password\" || history.location.pathname === \"/reset-password\"\r\n || history.location.pathname === \"/activate-account\" ? (\r\n <Switch>\r\n <Route exact path=\"/signup\" component={SignUp} />\r\n <Route exact path=\"/signin\" component={SignIn} />\r\n <Route exact path=\"/forgot-password\" component={Forgot} />\r\n <Route exact path=\"/reset-password\" component={Reset} />\r\n <Route exact path=\"/activate-account\" component={Activate} />\r\n </Switch>\r\n ) :\r\n renderRoutes(routes)\r\n \r\n } \r\n </Router>\r\n </React.Suspense>\r\n </div>\r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './styles/tailwind.css';\r\n// import './styles/css/app.css';\r\nimport App from './app/App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\n\r\nReactDOM.render(\r\n <React.StrictMode>\r\n <App />\r\n </React.StrictMode>,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}