%PDF- %PDF-
Direktori : /home/opti/public_html/ncf/static/js/ |
Current File : /home/opti/public_html/ncf/static/js/22.f1cf7fd5.chunk.js.map |
{"version":3,"sources":["app/layout/components/SliderBar/SliderBar.js","app/main/blog/components/tagbar/tagbar.js","app/main/blog/components/slider/styles.js","app/main/blog/components/slider/Slider.js","../node_modules/reactstrap/es/Pagination.js","../node_modules/reactstrap/es/PaginationItem.js","../node_modules/reactstrap/es/PaginationLink.js","app/main/blog/components/TagSidebar.js","app/main/blog/TagPage.js"],"names":["SliderBar","userId","localStorage","getItem","useState","cart","setCart","useEffect","fetch","SERVER_URL","then","res","json","status","data","console","log","noOfItems","length","className","href","src","alt","Tagbar","categories","setCategories","message","currenttag","slice","indexofLasttag","collapseOnSelect","expand","variant","Toggle","aria-controls","Collapse","id","map","category","Link","name","Slider","styled","div","SwiperCore","use","Pagination","_excluded","propTypes","children","PropTypes","node","string","listClassName","cssModule","object","size","tag","tagPropType","listTag","props","_classNames","Tag","ListTag","label","attributes","_objectWithoutPropertiesLoose","classes","mapToCssModules","classNames","listClasses","React","createElement","_extends","defaultProps","active","bool","disabled","PaginationItem","next","previous","first","last","PaginationLink","defaultAriaLabel","defaultCaret","ariaLabel","Array","isArray","key","Search","Input","TagSidebar","recentposts","setrecentPosts","currentposts","indexofLastpost","placeholder","onSearch","value","window","location","CLIENT_URL","post","xs","md","image","title","Blog","picture","currentPage","setcurrentPage","postsPerPage","posts","setPosts","queryString","search","params","URLSearchParams","get","indexofFirstpost","totalPosts","pageNums","i","Math","ceil","push","top","width","cat","nums","onClick"],"mappings":"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","file":"static/js/22.f1cf7fd5.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport {SERVER_URL, CLIENT_URL} from '../../../config/server';\r\nimport \"swiper/swiper.min.css\";\r\nimport \"swiper/components/pagination/pagination.min.css\"\r\nimport \"./sliderbar.css\"\r\n\r\nfunction SliderBar(){\r\n\r\n const userId = localStorage.getItem('loggedInUser');\r\n const [cart, setCart] = useState([])\r\n\r\n useEffect(() => {\r\n const fetchcart =() =>{\r\n fetch(`${SERVER_URL}/cart/all/${userId}`)\r\n .then(res => res.json())\r\n .then(json => {\r\n if(json.status === 200){\r\n setCart(json.data);\r\n }else{\r\n console.log(json);\r\n }\r\n });\r\n \r\n \r\n }\r\n\r\n fetchcart()\r\n }, []);\r\n\r\n\r\n const noOfItems = cart.length;\r\n\r\n return(\r\n <div className=\"sliderbardiv sm:mb-20\">\r\n <div className=\"flex sliderbar shadow-sm -mt-9 field-bottom\">\r\n <a href=\"/shop\" className=\"no-underline bg-white sliderbar-link text-black flex flex-col items-center justify-center md:py-0 py-8 w-48 broder-0 border-r border-solid\">\r\n <span className=\"mb-2\">\r\n <img src=\"/assets/images/icons/shop.svg\" alt=\"\" />\r\n </span>\r\n <span>Shop</span>\r\n </a>\r\n <a href=\"/cart\" className=\"no-underline bg-white sliderbar-link text-black flex flex-col items-center justify-center md:py-0 py-8 w-48 broder-0 border-r border-solid\">\r\n <span className=\"mb-2\">\r\n <img src=\"/assets/images/icons/shopping-cart.svg\" alt=\"\" />\r\n </span>\r\n <span>Cart <span className=\"cartNumber\"> {noOfItems}</span></span>\r\n </a>\r\n <a href=\"/donate\" className=\"no-underline bg-white sliderbar-link text-black flex flex-col items-center justify-center md:py-0 py-8 w-48\">\r\n <span className=\"mb-2\">\r\n <img src=\"/assets/images/icons/donation.svg\" alt=\"\" />\r\n </span>\r\n <span>Donate</span>\r\n </a>\r\n </div>\r\n </div>\r\n )\r\n}\r\nexport default SliderBar;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Navbar, Nav, Container, } from 'react-bootstrap';\r\nimport { Row, Col } from 'reactstrap';\r\nimport './tagbar.css';\r\nimport {SERVER_URL} from '../../../../config/server';\r\n\r\nfunction Tagbar(){\r\n\r\n\r\n const [categories, setCategories] = useState([]);\r\n\r\n useEffect(() => {\r\n const fetchPosts =() =>{\r\n fetch(`${SERVER_URL}/blog/category`)\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 setCategories(json.data);\r\n }else{\r\n console.log(\"Oops couldn't fetch data\");\r\n }\r\n });\r\n \r\n }\r\n \r\n fetchPosts();\r\n }, []);\r\n const tagPerPage = 5\r\n const indexofLasttag = 1 * tagPerPage;\r\n const indexofFirsttag = indexofLasttag - tagPerPage;\r\n const currenttag = categories.slice(indexofFirsttag,indexofLasttag)\r\n\r\n return(\r\n <Navbar collapseOnSelect expand=\"lg\" className=\"bg-gray-200\" variant=\"light\">\r\n <Container>\r\n <Navbar.Toggle aria-controls=\"responsive-navbar-nav\" />\r\n <Navbar.Collapse id=\"responsive-navbar-nav\">\r\n <Nav className=\"navbarNav\">\r\n {\r\n currenttag.map((category) =>(\r\n <Nav.Link className=\"font-bold text-black\" href={`/blog/tag?id=${category.id}`}>{category.name}</Nav.Link>\r\n ))\r\n }\r\n </Nav>\r\n </Navbar.Collapse>\r\n </Container>\r\n </Navbar>\r\n )\r\n}\r\n\r\nexport default Tagbar;\r\n","import styled from \"styled-components\"\r\n\r\nconst Slider = styled.div`\r\n position: relative;\r\n height: 700px;\r\n\tborder: 1px solid #eee\r\n\r\n background: #eee;\r\n font-family: 'Roboto', Helvetica Neue, Helvetica, Arial, sans-serif;\r\n font-size: 14px;\r\n color: rgb(39, 38, 38);\r\n margin: 0;\r\n padding: 0;\r\n\r\n\t.swiper-container {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t}\r\n\r\n\t.swiper-slide {\r\n\t\tfont-size: 18px;\r\n\t\tbackground: transparent;\r\n\r\n\t\t/* Center slide text vertically */\r\n\t\tdisplay: -webkit-box;\r\n\t\tdisplay: -ms-flexbox;\r\n\t\tdisplay: -webkit-flex;\r\n\t\tdisplay: flex;\r\n\t\t-webkit-box-pack: center;\r\n\t\t-ms-flex-pack: center;\r\n\t\t-webkit-justify-content: center;\r\n\t\tjustify-content: center;\r\n\t\t-webkit-box-align: center;\r\n\t\t-ms-flex-align: center;\r\n\t\t-webkit-align-items: center;\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.swiper-slide img {\r\n\t\tdisplay: block;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tobject-fit: cover;\r\n\t}\r\n\r\n\t.swiper-slide .slider-wrapper {\r\n\t\tdisplay: block;\r\n\t\tposition: relative;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\tobject-fit: cover;\r\n\t}\r\n\r\n\t.slider-text {\r\n\t\tposition: absolute;\r\n\t\theight: 100%;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.field-bottom {\r\n\t\ttransform: translate(10%, 320px);\r\n\t}\r\n\r\n\t@media screen and (max-width: 640px) {\r\n\t\t.field-bottom {\r\n\t\t\ttransform: translate(0%, 0%);\r\n\t\t}\r\n\t}\r\n`\r\n\r\nexport default Slider","\r\nimport React from \"react\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport SliderContainer from \"./styles\"\r\nimport SliderBar from \"../../../../layout/components/SliderBar/SliderBar\"\r\n\r\nimport \"swiper/swiper.min.css\";\r\nimport \"swiper/components/pagination/pagination.min.css\"\r\n\r\nimport SwiperCore, { Pagination } from 'swiper/core';\r\n\r\nSwiperCore.use([Pagination]);\r\n\r\nfunction Slider() {\r\n return (\r\n <SliderContainer className=\"mt-6\">\r\n <SwiperSlide>\r\n <div className=\"slider-wrapper bg-black\">\r\n <div className=\"\">\r\n <div className=\"max-w-7xl mx-auto pb-16 pt-48 md:px-16 px-8\">\r\n <div className=\"grid md:grid-cols-1 text-center grid-cols-1 gap-x-8 gap-y-8\">\r\n <div className=\"content blogBanner\">\r\n <h1 className=\"text-6xl font-bold text-white mt-32 mb-8\">Welcome to our blog</h1>\r\n <p className=\"text-light text-sm text-white mb-6\">\r\n stay updated with the newest info and development Stories, <br/>\r\n case studies and insights share by NCF\r\n </p>\r\n\r\n <button className=\"text-white text-sm font-bold py-2 px-8 rounded\">Learn More</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </SwiperSlide>\r\n </SliderContainer>\r\n )\r\n}\r\n\r\nexport default Slider\r\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"listClassName\", \"cssModule\", \"size\", \"tag\", \"listTag\", \"aria-label\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n listClassName: PropTypes.string,\n cssModule: PropTypes.object,\n size: PropTypes.string,\n tag: tagPropType,\n listTag: tagPropType,\n 'aria-label': PropTypes.string\n};\nvar defaultProps = {\n tag: 'nav',\n listTag: 'ul',\n 'aria-label': 'pagination'\n};\n\nvar Pagination = function Pagination(props) {\n var _classNames;\n\n var className = props.className,\n listClassName = props.listClassName,\n cssModule = props.cssModule,\n size = props.size,\n Tag = props.tag,\n ListTag = props.listTag,\n label = props['aria-label'],\n attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n var classes = mapToCssModules(classNames(className), cssModule);\n var listClasses = mapToCssModules(classNames(listClassName, 'pagination', (_classNames = {}, _classNames[\"pagination-\" + size] = !!size, _classNames)), cssModule);\n return /*#__PURE__*/React.createElement(Tag, {\n className: classes,\n \"aria-label\": label\n }, /*#__PURE__*/React.createElement(ListTag, _extends({}, attributes, {\n className: listClasses\n })));\n};\n\nPagination.propTypes = propTypes;\nPagination.defaultProps = defaultProps;\nexport default Pagination;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"className\", \"cssModule\", \"disabled\", \"tag\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n active: PropTypes.bool,\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n disabled: PropTypes.bool,\n tag: tagPropType\n};\nvar defaultProps = {\n tag: 'li'\n};\n\nvar PaginationItem = function PaginationItem(props) {\n var active = props.active,\n className = props.className,\n cssModule = props.cssModule,\n disabled = props.disabled,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n var classes = mapToCssModules(classNames(className, 'page-item', {\n active: active,\n disabled: disabled\n }), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nPaginationItem.propTypes = propTypes;\nPaginationItem.defaultProps = defaultProps;\nexport default PaginationItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"cssModule\", \"next\", \"previous\", \"first\", \"last\", \"tag\"];\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n 'aria-label': PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n next: PropTypes.bool,\n previous: PropTypes.bool,\n first: PropTypes.bool,\n last: PropTypes.bool,\n tag: tagPropType\n};\nvar defaultProps = {\n tag: 'a'\n};\n\nvar PaginationLink = function PaginationLink(props) {\n var className = props.className,\n cssModule = props.cssModule,\n next = props.next,\n previous = props.previous,\n first = props.first,\n last = props.last,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, _excluded);\n\n var classes = mapToCssModules(classNames(className, 'page-link'), cssModule);\n var defaultAriaLabel;\n\n if (previous) {\n defaultAriaLabel = 'Previous';\n } else if (next) {\n defaultAriaLabel = 'Next';\n } else if (first) {\n defaultAriaLabel = 'First';\n } else if (last) {\n defaultAriaLabel = 'Last';\n }\n\n var ariaLabel = props['aria-label'] || defaultAriaLabel;\n var defaultCaret;\n\n if (previous) {\n defaultCaret = \"\\u2039\";\n } else if (next) {\n defaultCaret = \"\\u203A\";\n } else if (first) {\n defaultCaret = \"\\xAB\";\n } else if (last) {\n defaultCaret = \"\\xBB\";\n }\n\n var children = props.children;\n\n if (children && Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n if (!attributes.href && Tag === 'a') {\n Tag = 'button';\n }\n\n if (previous || next || first || last) {\n children = [/*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n key: \"caret\"\n }, children || defaultCaret), /*#__PURE__*/React.createElement(\"span\", {\n className: \"sr-only\",\n key: \"sr\"\n }, ariaLabel)];\n }\n\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes,\n \"aria-label\": ariaLabel\n }), children);\n};\n\nPaginationLink.propTypes = propTypes;\nPaginationLink.defaultProps = defaultProps;\nexport default PaginationLink;","import React, { useState, useEffect } from 'react';\r\nimport {SERVER_URL, CLIENT_URL} from '../../../config/server';\r\nimport {\r\n Container, Row, Col\r\n } from 'reactstrap';\r\nimport '../blog.css';\r\nimport _ from 'lodash';\r\nimport { Input } from 'antd';\r\nconst { Search } = Input;\r\n\r\nfunction TagSidebar() {\r\n const onSearch = (value) => {\r\n console.log(value)\r\n window.location.href = `${CLIENT_URL}blog/search?q=${value}`;\r\n };\r\n\r\n\r\n const [recentposts, setrecentPosts] = useState([]);\r\n const [categories, setCategories] = useState([]);\r\n\r\n\r\n useEffect(() => {\r\n const fetchPosts =() =>{\r\n fetch(`${SERVER_URL}/blog/all`)\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 setrecentPosts(json.data.data);\r\n }else{\r\n console.log(\"Oops couldn't fetch data\");\r\n }\r\n });\r\n \r\n }\r\n \r\n fetchPosts();\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n const fetchPosts =() =>{\r\n fetch(`${SERVER_URL}/blog/category`)\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 setCategories(json.data);\r\n }else{\r\n console.log(\"Oops couldn't fetch data\");\r\n }\r\n });\r\n \r\n }\r\n \r\n fetchPosts();\r\n }, []);\r\n\r\n const indexofLastpost = 1 * 3;\r\n const indexofFirstpost = indexofLastpost - 3;\r\n const currentposts = recentposts.slice(indexofFirstpost,indexofLastpost)\r\n\r\n return (\r\n <nav>\r\n <div className=\"\">\r\n <div className=\"p-3 mb-3 shadow-md rounded\">\r\n <span className=\"pr-1 text-md text-black font-bold flex-1\">Search</span>\r\n <div className=\"pl-4 py-5\">\r\n <Search placeholder=\"Type Here\" className=\"rounded\" size=\"large\" onSearch={onSearch}/>\r\n </div>\r\n </div>\r\n \r\n <div className=\"p-3 mb-3 shadow-md rounded\">\r\n <span className=\"pr-1 text-md text-black font-bold flex-1\">Categories</span>\r\n <div className=\"pl-4\">\r\n {\r\n categories.map((category) =>(\r\n <a className=\"block text-sm font-medium my-3 text-black px-4 py-2\" href={`/blog/tag?id=${category.id}`}>{category.name}</a>\r\n ))\r\n }\r\n </div>\r\n </div>\r\n \r\n <div className=\"pl-4 pt-3 shadow-md rounded\">\r\n <span className=\"pr-1 text-md text-black font-bold flex-1\">Recent Post</span>\r\n {currentposts.map((post) => (\r\n <Row xs=\"2\" className=\"w-full shadow-sm mt-3\">\r\n <Col className=\"w-full blogSidebarcardImg\" md=\"3\"><img src={`https://admin.ncfnigeria.org/images/blog/${post.image}`} alt=\"Card image cap\" /></Col>\r\n <Col md=\"9\" className=\" py-3\">\r\n <h4 className=\"text-xs\">{post.title}</h4>\r\n <a href={`blog/post?id=${post.id}`}>\r\n <h4 className=\"text-sm text-bold\">Learn More</h4>\r\n </a>\r\n \r\n </Col>\r\n </Row>\r\n ))}\r\n </div>\r\n </div>\r\n </nav>\r\n )\r\n}\r\n\r\nexport default TagSidebar\r\n","import React, { useState, useEffect } from 'react';\r\nimport {SERVER_URL, CLIENT_URL} from '../../config/server';\r\nimport HomeSlider from './components/slider/Slider';\r\nimport Tagbar from './components/tagbar/tagbar';\r\nimport { Rating } from '@material-ui/lab';\r\nimport { HiOutlineSearch, HiViewGrid, HiUserCircle } from 'react-icons/hi';\r\nimport { MdStarBorder, MdHistory } from 'react-icons/md';\r\nimport _ from 'lodash';\r\nimport TagSidebar from './components/TagSidebar';\r\nimport \"../style.css\";\r\nimport \"./blog.css\";\r\nimport {\r\n Card, CardImg, CardText, CardBody,\r\n CardTitle,Pagination, PaginationItem, PaginationLink\r\n } from 'reactstrap';\r\n\r\n\r\nfunction Blog() {\r\n const [user] = useState({ picture: '' });\r\n\r\n\r\n const [currentPage, setcurrentPage] = useState(1);\r\n const [postsPerPage, setpostsPerPage] = useState(2);\r\n const [posts, setPosts] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n const params = urlParams.get('id')\r\n\r\n\r\n useEffect(() => {\r\n const fetchPosts =() =>{\r\n fetch(`${SERVER_URL}/blog/by-category/${params}`)\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 setPosts(json.data.data);\r\n }else{\r\n console.log(\"Oops couldn't fetch data\");\r\n }\r\n });\r\n \r\n }\r\n\r\n fetchPosts();\r\n }, []);\r\n\r\n \r\n const indexofLastpost = currentPage * postsPerPage;\r\n const indexofFirstpost = indexofLastpost - postsPerPage;\r\n const currentposts = posts.slice(indexofFirstpost,indexofLastpost)\r\n const totalPosts = posts.length;\r\n const pageNums = [];\r\n\r\n for(let i = 1; i <= Math.ceil(totalPosts / postsPerPage); i++){\r\n pageNums.push(i)\r\n }\r\n\r\n const paginate = (pageNumber) => setcurrentPage(pageNumber);\r\n\r\n\r\n function removeL(strl){\r\n const str = strl;\r\n const newStr = str.replace('<p>', '');\r\n const realStr = newStr.replace('</p>', '');\r\n return(realStr)\r\n }\r\n \r\n\r\n\r\n return (\r\n <div>\r\n <HomeSlider />\r\n <Tagbar/>\r\n <div className='w-full md:px-16'>\r\n <div className='grid md:grid-cols-12 md:gap-x-0 gap-y-2 z-index-3'>\r\n <div className='md:col-span-8 col-span-12 p-4'>\r\n <div className='grid md:grid-cols-1 gap-y-8'>\r\n {currentposts.map((post) => (\r\n <div className=\"rounded overflow-hidden h-full shadow-md h-full\">\r\n <Card>\r\n <CardImg top width=\"100%\" src={`https://admin.ncfnigeria.org/images/blog/${post.image}`} alt=\"Card image cap\" />\r\n <CardBody className=\"px-6 py-4\">\r\n <p className=' text-sm mt-4 mb-4'>\r\n <span className=\"font-bold uppercase\">{post.cat.name}</span> \r\n {/* <span className=\"text-gray-300 pl-5\">24 April 2021</span> */}\r\n </p> \r\n <CardTitle className='font-bold text-2xl mb-2'>\r\n { post.title }\r\n </CardTitle>\r\n {/* <CardText className='text-gray-700 text-sm mb-2'>\r\n { removeL(post.description) }\r\n </CardText> */}\r\n <div className=\"cardLinks pt-5\">\r\n <a className='text-black' href={`blog/post?id=${post.id}`}>\r\n Read More\r\n </a>\r\n </div>\r\n </CardBody>\r\n </Card>\r\n </div>\r\n\r\n ))}\r\n </div>\r\n <div className=\"pt-5\">\r\n <Pagination size=\"lg\">\r\n {pageNums.map(nums =>(\r\n <PaginationItem>\r\n <PaginationLink onClick={()=>paginate(nums)} className=\"text-black text-bold\">\r\n <>{nums}</>\r\n </PaginationLink>\r\n </PaginationItem>\r\n ))}\r\n </Pagination>\r\n\r\n </div>\r\n </div>\r\n <aside className='md:col-span-4 col-span-12 min-h-screen py-4 border-0 border-r border-solid border-gray-200'>\r\n <TagSidebar />\r\n </aside>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n );\r\n}\r\n\r\nexport default Blog;\r\n"],"sourceRoot":""}