%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/public_html/ncf/static/js/
Upload File :
Create Path :
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":""}

Zerion Mini Shell 1.0