{"version":3,"sources":["global/router.js","App.js","reportWebVitals.js","index.js","utils/http/fetch-wrapper.js","services/api.service.js","assets/icons/Logo-DSVH.svg","assets/icons/Logo_DSVH_Tieng_anh.svg","assets/icons/iconenglish.svg","assets/icons/vietnam.svg","assets/icons/search_black_24dp.svg","containers/Layout/Header/Header.js","global/constant.js","assets/icons/google.svg","assets/icons/facebook.svg","assets/icons/twitter.svg"],"names":["Loading","routes","path","HOME_PAGE","component","Loadable","loader","loading","modules","exact","INTRODUCTION_PAGE","TYPE_HERITAGE_PAGE","HERITAGE_DETAIL_PAGE","SHOW_HERITAGE","NEWSFEED_PAGE","CONTACT_PAGE","SEARCH_PAGE","NotFound","Routes","map","withTranslation","className","Header","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","lang","localStorage","getItem","setItem","i18next","use","detector","init","interpolation","escapeValue","lng","resources","en","common","common_en","vn","common_vn","detection","order","lookupQuerystring","caches","i18n","ReactDOM","render","StrictMode","I18nextProvider","document","getElementById","fetchWrapper","get","url","fetch","method","handleResponse","post","body","requestOptions","headers","JSON","stringify","response","json","put","delete","text","data","parse","ok","error","message","statusText","Promise","reject","ApiService","getAll","model","limit","offset","params_list","BASE_URL","getById","ids","params_read","create","values","params_create","update","id","params_update","search","domain","params_search","getForAll","params_all","getPostList","params_delete","useTranslation","t","useState","show","setSate","show2","setTwo","listKindOne","setListKindOne","listKindTwo","setListKindTwo","listKindThree","setListKindThree","listKind","setListKind","listRating","setListRating","lang1","setLang1","Vietnamicon","flag","setFlug","ref","useRef","history","useHistory","showKind","type","window","location","pathname","includes","push","reload","useEffect","Englishicon","item","undefined","filter","code","_","index","Navbar","bg","expand","Container","Brand","href","src","logo","Toggle","Collapse","Nav","Link","NavDropdown","title","Item","onClick","name_eng","name","logoEnglish","onOutsideClick","description","slice","description_eng","value","changeLanguage","action","onSubmit","e","target","length","alert","preventDefault","class","placeholder","IMAGE_URL"],"mappings":"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","file":"static/js/main.5d26fa59.chunk.js","sourcesContent":["import React from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport Loadable from 'react-loadable';\r\nimport {\r\n HOME_PAGE,\r\n HERITAGE_DETAIL_PAGE,\r\n INTRODUCTION_PAGE,\r\n TYPE_HERITAGE_PAGE,\r\n NEWSFEED_PAGE,\r\n CONTACT_PAGE,\r\n SEARCH_PAGE,\r\n SHOW_HERITAGE\r\n} from './constant';\r\n\r\nconst Loading = () => null;\r\n\r\nconst routes = [\r\n {\r\n path: HOME_PAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/Home/Home'),\r\n loading: Loading,\r\n modules: ['Home'],\r\n }),\r\n exact: true,\r\n },\r\n {\r\n path: INTRODUCTION_PAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/Introduction/Introduction'),\r\n loading: Loading,\r\n modules: ['Introduction'],\r\n })\r\n },\r\n {\r\n path: TYPE_HERITAGE_PAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/TypeHeritage/TypeHeritage'),\r\n loading: Loading,\r\n modules: ['TypeHeritage'],\r\n })\r\n },\r\n {\r\n path: HERITAGE_DETAIL_PAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/HeritageDetail/HeritageDetail'),\r\n loading: Loading,\r\n modules: ['HeritageDetail'],\r\n })\r\n },\r\n {\r\n path: SHOW_HERITAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/HeritageDetail/Show'),\r\n loading: Loading,\r\n modules: ['HeritageDetail'],\r\n })\r\n },\r\n {\r\n path: NEWSFEED_PAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/feeds/feeds'),\r\n loading: Loading,\r\n modules: ['feeds'],\r\n })\r\n },\r\n {\r\n path: CONTACT_PAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/Contact/Contact'),\r\n loading: Loading,\r\n modules: ['Contact'],\r\n })\r\n },\r\n {\r\n path: SEARCH_PAGE,\r\n component: Loadable({\r\n loader: () =>\r\n import('../containers/SearchHeritage/SearchHeritage'),\r\n loading: Loading,\r\n modules: ['SearchHeritage'],\r\n })\r\n }\r\n];\r\n\r\nconst NotFound = Loadable({\r\n loader: () =>\r\n import('../containers/404/404'),\r\n loading: Loading,\r\n modules: ['NotFound'],\r\n});\r\n\r\nconst Routes = () => {\r\n return (\r\n \r\n {routes.map(({ path, component, exact = false }) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import './scss/application.scss';\r\nimport Routes from './global/router';\r\nimport React from 'react';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport Header from './containers/Layout/Header/Header'\r\nimport { withTranslation, Trans } from 'react-i18next';\r\n\r\nfunction App() {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\n// export default App;\r\nexport default withTranslation('common')(App);","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 i18next from 'i18next';\r\nimport detector from \"i18next-browser-languagedetector\";\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport {I18nextProvider} from 'react-i18next';\r\n\r\n\r\nimport common_vn from \"./translations/vn/common.json\";\r\nimport common_en from \"./translations/en/common.json\";\r\n\r\n// i18n\r\n// .use(initReactI18next)\r\n// .init({\r\n// resources: {\r\n// en: { translation: common_en },\r\n// vn: { translation: common_vn }\r\n// },\r\n// lng: 'en',\r\n// keySeparator: '.',\r\n// interpolation: {\r\n// escapeValue: false\r\n// }\r\n// });\r\nconst lang = localStorage.getItem('lang');\r\nif(!lang){\r\n let lang = 'vn';\r\n localStorage.setItem('lang', lang);\r\n}\r\ni18next.use(detector).init({\r\n interpolation: { escapeValue: false }, // React already does escaping\r\n lng: lang, // language to use\r\n resources: {\r\n en: {\r\n common: common_en // 'common' is our custom namespace\r\n },\r\n vn: {\r\n common: common_vn\r\n },\r\n },\r\n detection: {\r\n order: [\"localStorage\", \"navigator\"],\r\n lookupQuerystring: \"lng\",\r\n caches: [\"localStorage\"]\r\n }\r\n\r\n});\r\n\r\n\r\nexport default i18n;\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('client-root')\r\n);\r\n\r\nreportWebVitals();\r\n","\r\nexport const fetchWrapper = {\r\n\tget,\r\n\tpost,\r\n\tput,\r\n\tdelete: _delete\r\n}\r\n\r\nfunction get(url) {\r\n\tconst requestOptions = {\r\n\t\tmethod: 'GET'\r\n\t};\r\n\treturn fetch(url, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction post(url, body) {\r\n\tconst requestOptions = {\r\n\t\tmethod: 'POST',\r\n\t\theaders: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'Authorization': 'HERITAGE'\r\n\t\t },\r\n\t\tbody: JSON.stringify(body)\r\n\t};\r\n\r\n\treturn fetch(url, requestOptions).then(response => response.json())\r\n}\r\n\r\nfunction put(url, body) {\r\n\tconst requestOptions = {\r\n\t\tmethod: 'PUT',\r\n\t\theaders: {\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'Authorization': 'HERITAGE'\r\n\t\t },\r\n\t\tbody: JSON.stringify(body)\r\n\t};\r\n\r\n\treturn fetch(url, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction _delete(url) {\r\n\tconst requestOptions = {\r\n\t\tmethod: 'DELETE'\r\n\t};\r\n\treturn fetch(url, requestOptions).then(handleResponse);\r\n}\r\n\r\nfunction handleResponse(response) {\r\n\tdebugger\r\n\treturn response.text().then(text => {\r\n\t\tconst data = text && JSON.parse(text);\r\n\r\n\t\tdebugger\r\n\r\n\t\tif (!response.ok) {\r\n\t\t\tconst error = (data && data.message) || response.statusText;\r\n\t\t\treturn Promise.reject(error);\r\n\t\t}\r\n\r\n\t\treturn data;\r\n\t});\r\n}\r\n","import { fetchWrapper } from '../utils/http/fetch-wrapper';\r\nimport { BASE_URL } from '../global/constant';\r\n\r\nexport const ApiService = {\r\n getAll,\r\n getById,\r\n create,\r\n update,\r\n search,\r\n getForAll,\r\n getPostList,\r\n delete: _delete\r\n};\r\n\r\nfunction getAll(model, limit, offset) {\r\n var params_list = {\r\n 'model': model,\r\n 'limit': limit,\r\n 'offset': offset\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/list`, params_list);\r\n}\r\n\r\nfunction getForAll(model, order=null) {\r\n var params_all = {\r\n 'model': model,\r\n 'order': order\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/list`, params_all);\r\n}\r\n\r\nfunction getPostList(limit=null, offset=0) {\r\n var params_all = {\r\n \"limit\": limit,\r\n \"offset\": offset\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/posts/list`, params_all);\r\n}\r\n\r\nfunction getById(model, ids) {\r\n let params_read = {\r\n 'model': model,\r\n 'ids': ids\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/read`, params_read);\r\n}\r\n\r\nfunction create(model, values) {\r\n let params_create = {\r\n 'model': model,\r\n 'values': values\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/create`, params_create);\r\n}\r\n\r\nfunction update(model, id, values) {\r\n let params_update = {\r\n 'model': model,\r\n 'id': id,\r\n 'values': values\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/update`, params_update);\r\n}\r\n\r\nfunction _delete(model, id) {\r\n let params_delete = {\r\n 'model': model,\r\n 'id': id\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/delete`, params_delete);\r\n}\r\n\r\nfunction search(model, domain, limit, offset) {\r\n let params_search = {\r\n 'model': model,\r\n 'domain': domain,\r\n 'limit': limit,\r\n 'offset': offset\r\n }\r\n\r\n return fetchWrapper.post(`${BASE_URL}/api/search`, params_search);\r\n}\r\n","export default __webpack_public_path__ + \"static/media/Logo-DSVH.a735b2ba.svg\";","export default __webpack_public_path__ + \"static/media/Logo_DSVH_Tieng_anh.19eb7ff6.svg\";","export default __webpack_public_path__ + \"static/media/iconenglish.a3c19b95.svg\";","export default __webpack_public_path__ + \"static/media/vietnam.92e54fa6.svg\";","export default __webpack_public_path__ + \"static/media/search_black_24dp.6c95e853.svg\";","import './header.scss'\r\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport logo from '../../../assets/icons/Logo-DSVH.svg';\r\nimport logoEnglish from '../../../assets/icons/Logo_DSVH_Tieng_anh.svg';\r\nimport Englishicon from '../../../assets/icons/iconenglish.svg';\r\nimport Vietnamicon from '../../../assets/icons/vietnam.svg';\r\n\r\nimport Googleicon from '../../../assets/icons/google.svg';\r\nimport Facebookicon from '../../../assets/icons/facebook.svg';\r\nimport Twittericon from '../../../assets/icons/twitter.svg';\r\nimport SearchIcon from '../../../assets/icons/search_black_24dp.svg'\r\nimport { ApiService } from '../../../services/api.service'\r\nimport OutsideClickHandler from 'react-outside-click-handler';\r\nimport { Navbar, Container, Nav, NavDropdown } from 'react-bootstrap';\r\n// import {test1, test2} from '../Footer/Footer';\r\n\r\nfunction Header() {\r\n // const { t } = useTranslation();\r\n const [t, i18n] = useTranslation('common');\r\n\r\n\r\n const [show, setSate] = useState(false);\r\n const [show2, setTwo] = useState(false);\r\n const [listKindOne, setListKindOne] = useState([]);\r\n const [listKindTwo, setListKindTwo] = useState([]);\r\n const [listKindThree, setListKindThree] = useState([]);\r\n const [listKind, setListKind] = useState([]);\r\n const [listRating, setListRating] = useState([]);\r\n const [menu, setMenu] = useState(false);\r\n const [lang1, setLang1] = useState('vn');\r\n const [flag, setFlug] = useState(Vietnamicon);\r\n const ref = useRef();\r\n let history = useHistory();\r\n let onChangeLanguage;\r\n\r\n function showKind(type, id){\r\n if (show2) setTwo(!show2);\r\n\r\n if(window.location.pathname.includes('/type-heritage')){\r\n history.push(`/type-heritage?type=${type}&parent_id=${id}`);\r\n window.location.reload();\r\n }\r\n\r\n else {\r\n history.push(`/type-heritage?type=${type}&parent_id=${id}`);\r\n }\r\n }\r\n\r\n function onSubmitSearch(e){\r\n if(e.target[0].value.length < 3){\r\n alert('Từ tìm kiếm quá ngắn');\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n function changeLanguage(){\r\n let lang = localStorage.getItem('lang');\r\n if(lang == 'vn'){\r\n localStorage.setItem('lang', 'en');\r\n setFlug(Englishicon);\r\n onChangeLanguage = i18n.changeLanguage('en');\r\n setLang1('en');\r\n\r\n }else{\r\n localStorage.setItem('lang', 'vn');\r\n setFlug(Vietnamicon);\r\n setLang1('vn');\r\n onChangeLanguage=i18n.changeLanguage('vn');\r\n }\r\n window.location.reload();\r\n\r\n }\r\n\r\n function getForAllEnglish() {\r\n ApiService.getForAll('kinds').then(item => {\r\n if(item.data !== undefined){\r\n setListKindOne(item.data.filter(item=> item.code === 'DSVT'))\r\n setListKindTwo(item.data.filter((item)=> item.code === 'DSPVT').filter((_, index)=> index <= 3))\r\n setListKindThree(item.data.filter((item)=> item.code === 'DSPVT').filter((_, index)=> index > 3))\r\n setListKind(item.data.filter((item)=> item.code === 'DSPVT'))\r\n }\r\n })\r\n\r\n ApiService.getForAll('ratings', 'table.c.id.desc()').then(item => {\r\n if(item.data !== undefined){\r\n setListRating(item.data)\r\n }\r\n })\r\n }\r\n\r\n function getForAllVietNam() {\r\n ApiService.getForAll('kinds').then(item => {\r\n if(item.data !== undefined){\r\n setListKindOne(item.data.filter(item=> item.code === 'DSVT'))\r\n setListKindTwo(item.data.filter((item)=> item.code === 'DSPVT').filter((_, index)=> index <= 3))\r\n setListKindThree(item.data.filter((item)=> item.code === 'DSPVT').filter((_, index)=> index > 3))\r\n setListKind(item.data.filter((item)=> item.code === 'DSPVT'))\r\n }\r\n })\r\n\r\n ApiService.getForAll('ratings', 'table.c.id.desc()').then(item => {\r\n if(item.data !== undefined){\r\n setListRating(item.data)\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n let lang = localStorage.getItem('lang');\r\n setLang1(lang);\r\n if(lang == 'vn'){\r\n setFlug(Vietnamicon);\r\n }else{\r\n setFlug(Englishicon);\r\n }\r\n // ApiService.getForAll('kinds').then(item => {\r\n // if(item.data !== undefined){\r\n // setListKindOne(item.data.filter(item=> item.code === 'DSVT'))\r\n // setListKindTwo(item.data.filter((item)=> item.code === 'DSPVT').filter((_, index)=> index <= 3))\r\n // setListKindThree(item.data.filter((item)=> item.code === 'DSPVT').filter((_, index)=> index > 3))\r\n // setListKind(item.data.filter((item)=> item.code === 'DSPVT'))\r\n // }\r\n // })\r\n\r\n // ApiService.getForAll('ratings').then(item => {\r\n // if(item.data !== undefined){\r\n // setListRating(item.data)\r\n // }\r\n // })\r\n\r\n if(lang === 'vn') {\r\n getForAllVietNam();\r\n // test1();\r\n } else {\r\n getForAllEnglish();\r\n // test2();\r\n }\r\n }, [lang1]);\r\n\r\n return(\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
\r\n
\r\n \r\n {lang1 == 'vn' && }\r\n {lang1 == 'en' && }\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n { t('About us') }\r\n \r\n
  • \r\n
  • \r\n {\r\n setSate(false)\r\n }}\r\n >\r\n setSate(true)} >\r\n {t('Heritage type')}\r\n \r\n \r\n
      \r\n
      \r\n
      \r\n

      {t('PHYSICAL HERITAGE')}

      \r\n
      \r\n { listKindOne.map(item => (\r\n
      showKind('kinds', item.id)}>\r\n

      { lang1 == 'vn' && item.name } {lang1=='en' && item.name_eng}

      \r\n {item.description !== null &&\r\n

      {lang1 == 'vn' && `${item.description.slice(0, 120)}...` }\r\n {lang1 == 'en' && item.description_eng && `${item.description_eng.slice(0, 120)}...` }\r\n

      \r\n }\r\n
      \r\n ))}\r\n
      \r\n
      \r\n

      {t(\"INTANGIBLE HERITAGE\")}

      \r\n
      \r\n
      \r\n
      \r\n { listKindTwo.map(item => (\r\n
      showKind('kinds', item.id)}>\r\n

      { lang1 == 'vn' && item.name } {lang1=='en' && item.name_eng}

      \r\n {item.description !== null &&\r\n

      {lang1 == 'vn' && `${item.description.slice(0, 120)}...` }\r\n {lang1 == 'en' && item.description_eng && `${item.description_eng.slice(0, 120)}...` }\r\n

      \r\n }\r\n
      \r\n ))}\r\n
      \r\n
      \r\n { listKindThree.map(item => (\r\n
      showKind('kinds', item.id)}>\r\n

      { lang1 == 'vn' && item.name } {lang1=='en' && item.name_eng}

      \r\n {item.description !== null &&\r\n

      { lang1 == 'vn' && `${item.description.slice(0, 120)}...` }\r\n { lang1 == 'en' && item.description_eng !== null && `${item.description_eng.slice(0, 120)}...` }\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 setTwo(false)\r\n }}\r\n >\r\n setTwo(!show2)}>\r\n {t('Heritage rating')}\r\n \r\n \r\n
      \r\n
      \r\n { listRating && listRating.map(item => (\r\n
      showKind('ratings', item.id)}>\r\n
      \r\n

      {lang1=='vn' && item.name} {lang1=='en' && item.name_eng}

      \r\n {item.description !== null && lang1=='vn' &&\r\n

      { `${item.description.slice(0, 90)}...` }

      \r\n }\r\n {item.description_eng !== null && lang1=='en' &&\r\n

      { `${item.description_eng.slice(0, 90)}...` }

      \r\n }\r\n
      \r\n
      \r\n ))}\r\n
      \r\n
    \r\n \r\n
  • \r\n
  • \r\n \r\n {t('News')}\r\n \r\n
  • \r\n
  • \r\n \r\n {t('Contact')}\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
\r\n
\r\n {/* \r\n \r\n */}\r\n\r\n {/*
  • \r\n {t('Login')} \r\n
  • */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Header;\r\n","export const HOME_PAGE = '/';\r\nexport const HERITAGE_DETAIL_PAGE = '/heritage-detail';\r\nexport const INTRODUCTION_PAGE = '/introduction';\r\nexport const TYPE_HERITAGE_PAGE = '/type-heritage';\r\nexport const NEWSFEED_PAGE = '/feeds';\r\nexport const CONTACT_PAGE = '/Contact';\r\nexport const SEARCH_PAGE = '/search';\r\nexport const SHOW_HERITAGE = '/show-heritage';\r\nexport const BASE_URL = 'http://disanquangninh.gov.vn:1521';\r\nexport const IMAGE_URL = 'http://disanquangninh.gov.vn:1521/file';\r\n","export default __webpack_public_path__ + \"static/media/google.cf382331.svg\";","export default __webpack_public_path__ + \"static/media/facebook.ba0e94b3.svg\";","export default __webpack_public_path__ + \"static/media/twitter.623f6485.svg\";"],"sourceRoot":""}