{"version":3,"sources":["utils/index.js","services/repository.js","constants/index.js","components/answer/index.jsx","components/question/index.jsx","components/loading/index.jsx","components/header/index.jsx","components/slider/index.jsx","components/information/index.jsx","components/footer/index.jsx","components/survey-card/index.jsx","components/holland/result.jsx","components/mbti/index.jsx","components/employability/result.jsx","components/range/index.jsx","components/mbti/question-block.jsx","components/mbti/box.jsx","utils/utilities.js","components/sortable/index.jsx","assets/images/check.svg","assets/images/fail.svg","assets/images/warn.svg","services/survey.js","assets/images/loading.gif","assets/images/icon.png","assets/images/logo.jpg","assets/images/img-left.png","assets/images/fb.svg","assets/images/yt.svg","assets/images/web.png","assets/images/sur.jpg","assets/images/back-to-top.svg","config/authConfig.js","stores/appReducer.js","stores/appTypes.js","stores/index.js","components/LoginGate.jsx","stores/appAction.js","components/PrivateRoute.jsx","components/scrollToTop/index.jsx","services/user.js","components/syncProfile/SyncProfile.jsx","pages/NotFound.jsx","routes/index.js","App.jsx","serviceWorker.js","index.jsx"],"names":["cloneDeep","value","JSON","parse","stringify","get","object","key","defaultValue","Object","prototype","hasOwnProperty","call","MapMBTIDimension","type","replaceValue","answerObject","data","index","answer","lastValue","firstValue","id","mbti_personal_style","question","replace","substring","compare","a","b","mbtiAnswer","I","E","N","S","T","F","P","J","dateFormat","dateString","Date","toLocaleString","instance","axios","create","baseURL","headers","Accept","interceptors","response","use","error","Promise","reject","REDIRECT_URI","window","location","origin","SURVEYS","HOLLAND","SKILLS","MBTI","WORKING_VALUE","LIFE_CYCLE","PORTFOLIO","DRAFT","PUBLISH","SMART","name","sign","subSign","color","text","GROW","Answer","questionId","checked","className","handleChange","Form","Check","SINGLE","MULTIPLE","defaultChecked","onChange","label","defaultProps","Question","description","answers","handleAnswer","useState","active","setActive","answered","setAnswered","handleSelectAnswer","answeredIndex","findIndex","item","currentAnswered","filter","useEffect","length","Jumbotron","Alert","variant","dangerouslySetInnerHTML","__html","Row","map","Col","md","includes","Loading","src","LoadingImg","alt","Header","isAuthenticated","useIsAuthenticated","useMsal","accounts","setName","Navbar","expand","bg","Brand","to","Logo","height","Collapse","NavDropdown","title","Item","as","Link","Divider","Button","onClick","logout","loginRedirect","Icon","width","Slider","handleStart","Information","Container","xs","Img","Footer","footer","setFooter","Survey","getFooter","then","data-wow-delay","Badge","systemConfig","Address","surveys","survey","slug","href","Facebook","target","rel","Fb","Youtube","Yt","Web","getFullYear","SurveyCard","history","useHistory","Card","border","push","Image","Body","Title","role","aria-label","Text","HollandResult","score","endPageRef","useRef","bestScore","setBestScore","getBestScore","keys","sort","parseInt","pop","current","scrollIntoView","behavior","duration","ref","lg","result","renderResult","R","A","C","x","y","fontWeight","stroke","fill","x1","x2","y1","y2","drawChart","Table","responsive","striped","bordered","hover","MBTIResult","selectedSignature","signatureTemplate","signature","setSignature","itemScore","setItemScore","loading","setLoading","itemScoreFromProps","reduce","total","first","second","third","fourth","join","console","log","renderItems","itemKey","colSpan","ListGroup","horizontal","s","Description","Success","Warn","Fail","group","Range","answerValues","valueA","setValueA","find","props","event","calculateValue","Group","Label","column","sm","Control","custom","min","max","step","QuestionBlock","questions","q","submitedAnswer","MBTIBox","groups","CSS","freeze","Translate","toString","transform","Math","round","Scale","scaleX","scaleY","Transform","Transition","property","easing","SortableItem","order","useSortable","attributes","listeners","setNodeRef","transition","style","life_value","module","exports","url","getAll","Repository","getSurveyById","path","getResultById","submit","payload","post","getResults","userId","msalConfig","auth","clientId","redirectUri","postLogoutRedirectUri","cache","cacheLocation","storeAuthStateInCookie","initialState","showLoginModal","anonymousUser","currentSurvey","appReducer","state","action","reducer","combineReducers","app","sagaMiddleware","createSagaMiddleware","store","compose","composeWithDevTools","applyMiddleware","createStore","createStoreWithMiddleware","connect","dispatch","setAnonymousUserInStore","WrappedComponent","component","setShowLoginModal","Modal","show","centered","display","PrivateRoute","Component","ScrollToTop","visible","setVisible","useLayoutEffect","document","addEventListener","pageYOffset","removeEventListener","size","scrollTo","top","BackToTop","User","syncProfile","SyncProfile","Id","localAccountId","Email","username","Name","UserApi","NotFound","xmlns","viewBox","d","cx","cy","rx","ry","r","Routes","lazy","exact","isPrivate","loginGate","App","pca","createBrowserHistory","fallback","route","render","renderComponent","Boolean","hostname","match","msalInstance","PublicClientApplication","ReactDOM","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","message"],"mappings":"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","file":"static/js/main.d6cb0077.chunk.js","sourcesContent":["export const cloneDeep = value => JSON.parse(JSON.stringify(value));\r\n\r\nexport const get = (object = {}, key, defaultValue) => {\r\n if (Object.prototype.hasOwnProperty.call(object, key)) {\r\n return object[key];\r\n }\r\n return defaultValue;\r\n};\r\n\r\nconst MapMBTIDimension = type => {\r\n switch (type) {\r\n case '1':\r\n return 'I';\r\n case '2':\r\n return 'E';\r\n case '3':\r\n return 'N';\r\n case '4':\r\n return 'S';\r\n case '5':\r\n return 'T';\r\n case '6':\r\n return 'F';\r\n case '7':\r\n return 'P';\r\n case '8':\r\n return 'J';\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nexport const replaceValue = (answerObject, data, index) => {\r\n let answer = '';\r\n if (index === 1) {\r\n answer = answerObject?.lastValue;\r\n } else {\r\n answer = answerObject?.firstValue;\r\n }\r\n return {\r\n id: data.id,\r\n mbti_personal_style: MapMBTIDimension(data.mbti_personal_style),\r\n question: data.question.replace('_____', `__${answer}__`).substring(0, 9),\r\n answer\r\n };\r\n};\r\n\r\nexport const compare = (data, a, b) => {\r\n if (data[a] > data[b]) {\r\n return a;\r\n }\r\n return b;\r\n};\r\n\r\nexport const mbtiAnswer = {\r\n I: [],\r\n E: [],\r\n N: [],\r\n S: [],\r\n T: [],\r\n F: [],\r\n P: [],\r\n J: []\r\n};\r\n\r\nexport const dateFormat = (dateString) => {\r\n const date = new Date(dateString);\r\n return date.toLocaleString();\r\n};\r\n","import axios from 'axios';\r\n\r\nconst baseURL = 'https://career.vlu.edu.vn/api/';\r\nconst headers = {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n};\r\n\r\nconst instance = axios.create({\r\n baseURL,\r\n headers\r\n});\r\ninstance.interceptors.response.use(\r\n response => response.data,\r\n error => Promise.reject(error)\r\n);\r\nexport default instance;\r\n","const ANSWER_TYPE = {\r\n SINGLE: 'SINGLE',\r\n MULTIPLE: 'MULTIPLE'\r\n};\r\n\r\nconst REDIRECT_URI = `${window.location.origin}`;\r\n\r\nconst SURVEYS = {\r\n HOLLAND: 'cong-cu-holland',\r\n SKILLS: 'cong-cu-liet-ke-ky-nang',\r\n MBTI: 'cong-cu-mbti',\r\n WORKING_VALUE: 'cong-cu-gia-tri-song',\r\n LIFE_CYCLE: 'cong-cu-vong-tron-cuoc-doi'\r\n};\r\n\r\nconst PORTFOLIO = {\r\n DRAFT: 'draft',\r\n PUBLISH: 'publish'\r\n};\r\n\r\nconst SMART = [\r\n { name: 'Specific', sign: 'S', subSign: 'G', color: '#0d83b1', text: '' },\r\n { name: 'Measurable', sign: 'M', subSign: 'O', color: '#08adae', text: '' },\r\n { name: 'Attainable', sign: 'A', subSign: 'A', color: '#08aa7c', text: '' },\r\n { name: 'Relevant', sign: 'R', subSign: 'L', color: '#59bb19', text: '' },\r\n { name: 'Time-Bound', sign: 'T', subSign: 'S', color: '#b6c524', text: '' },\r\n];\r\n\r\nconst GROW = [\r\n { name: 'Goals', sign: 'G', color: '#5b9bd5', text: 'What do you want?' },\r\n { name: 'Reality', sign: 'R', color: '#54c9b8', text: 'Where are you now?' },\r\n { name: 'Options', sign: 'O', color: '#48c064', text: 'What could you do?' },\r\n { name: 'Wrap-up', sign: 'W', color: '#71ad47', text: 'What will you do?' },\r\n];\r\n\r\nexport { ANSWER_TYPE, REDIRECT_URI, SURVEYS, PORTFOLIO, SMART, GROW };\r\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Form } from 'react-bootstrap';\r\nimport { ANSWER_TYPE } from '../../constants';\r\nimport './style.scss';\r\n\r\nconst Answer = ({ id, type, questionId, checked, value, className, handleChange }) => {\r\n const types = {\r\n SINGLE: 'radio',\r\n MULTIPLE: 'checkbox'\r\n };\r\n\r\n const handleSelectAnswer = () => {\r\n handleChange(id);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n );\r\n};\r\n\r\nAnswer.propTypes = {\r\n type: PropTypes.oneOf([ANSWER_TYPE.SINGLE, ANSWER_TYPE.MULTIPLE]).isRequired,\r\n value: PropTypes.string.isRequired,\r\n className: PropTypes.string,\r\n handleChange: PropTypes.func,\r\n checked: PropTypes.bool.isRequired,\r\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\r\n questionId: PropTypes.number\r\n};\r\n\r\nAnswer.defaultProps = {\r\n className: '',\r\n handleChange: () => {},\r\n questionId: 0\r\n};\r\n\r\nexport default Answer;\r\n","import React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Jumbotron, Row, Col, Alert } from 'react-bootstrap';\r\nimport Answer from '../answer';\r\nimport './style.scss';\r\n\r\nconst Question = ({ id, description, className, answers, handleAnswer }) => {\r\n const [active, setActive] = useState(false);\r\n const [answered, setAnswered] = useState([]);\r\n const handleSelectAnswer = value => {\r\n const answeredIndex = answered.findIndex(item => item === value);\r\n if (answeredIndex >= 0) {\r\n setAnswered(currentAnswered => currentAnswered.filter(item => item !== value));\r\n } else {\r\n setAnswered(currentAnswered => [...currentAnswered, value]);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (answered.length) {\r\n setActive(true);\r\n } else {\r\n setActive(false);\r\n }\r\n handleAnswer(id, answered);\r\n }, [answered]);\r\n return (\r\n \r\n \r\n

\r\n \r\n \r\n {(answers || []).map(answer => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nQuestion.propTypes = {\r\n id: PropTypes.number.isRequired,\r\n description: PropTypes.string.isRequired,\r\n className: PropTypes.string,\r\n answers: PropTypes.arrayOf(Answer).isRequired,\r\n handleAnswer: PropTypes.func.isRequired\r\n};\r\n\r\nQuestion.defaultProps = {\r\n className: ''\r\n};\r\n\r\nexport default Question;\r\n","import React from 'react';\r\nimport LoadingImg from '../../assets/images/loading.gif';\r\nimport './style.scss';\r\n\r\nconst Loading = () => \"Trung;\r\n\r\nexport default Loading;\r\n","import { useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Button, Navbar, NavDropdown } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport Icon from '../../assets/images/icon.png';\r\nimport Logo from '../../assets/images/logo.jpg';\r\nimport './style.scss';\r\n\r\nconst Header = () => {\r\n const isAuthenticated = useIsAuthenticated();\r\n const { accounts, instance } = useMsal();\r\n const [name, setName] = useState(null);\r\n\r\n useEffect(() => {\r\n if (accounts.length > 0) {\r\n setName(accounts[0].name);\r\n }\r\n }, [accounts]);\r\n\r\n const handleSignOut = () => {\r\n instance.logout();\r\n };\r\n\r\n const handleSignIn = () => {\r\n instance.loginRedirect();\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isAuthenticated\r\n ? (\r\n \r\n Xem lịch sử\r\n \r\n Portfolio\r\n \r\n Đăng xuất\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","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'react-bootstrap';\r\nimport './style.scss';\r\n\r\nconst Slider = ({ handleStart }) => (\r\n
\r\n
\r\n

Hãy bắt đầu định hướng cho tương lai ngay nào.

\r\n
Công cụ định hướng nghề nghiệp trực tuyến đã giúp đỡ hàng ngàn sinh viên Văn Lang
\r\n

\r\n \r\n

\r\n
\r\n
\r\n);\r\n\r\nSlider.propTypes = {\r\n handleStart: PropTypes.func.isRequired\r\n};\r\n\r\nexport default Slider;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, Col, Container, Row } from 'react-bootstrap';\r\nimport Img from '../../assets/images/img-left.png';\r\nimport './style.scss';\r\n\r\nconst Information = ({ handleStart }) => (\r\n
\r\n \r\n \r\n \r\n

BẠN ĐANG BOĂN KHOĂN VỀ VIỆC CHỌN NGÀNH

\r\n \r\n \r\n \"Trung\r\n \r\n \r\n

Hãy thử làm các công cụ định hướng bên trên

\r\n

\r\n {`Keep a competitive edge by truly understanding the voice of your customers.\r\n Customer satisfaction surveys help you connect at multiple touchpoints to find out exactly what your customers want, need, and expect.`}\r\n

\r\n

\r\n \r\n

\r\n \r\n
\r\n
\r\n\r\n
\r\n);\r\n\r\nInformation.propTypes = {\r\n handleStart: PropTypes.func.isRequired\r\n};\r\n\r\nexport default Information;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Badge } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport Survey from '../../services/survey';\r\nimport Fb from '../../assets/images/fb.svg';\r\nimport Yt from '../../assets/images/yt.svg';\r\nimport Web from '../../assets/images/web.png';\r\nimport './style.scss';\r\n\r\nconst Footer = () => {\r\n const [footer, setFooter] = useState();\r\n useEffect(() => {\r\n Survey.getFooter().then(response => {\r\n setFooter(response);\r\n });\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Trung Tâm Phát Triển Năng Lực - Đại Học Văn Lang

\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Công cụ

\r\n
    \r\n {footer?.surveys.map(survey => (\r\n
  • {survey?.title}
  • \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Kết nối

\r\n
\r\n \r\n \"Trung\r\n \r\n \r\n \"Trung\r\n \r\n \r\n \"Trung\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 {`Trung Tâm Phát Triển Năng Lực - Trường Đại Học Văn Lang - ${(new Date()).getFullYear()}`}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Card } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Image from '../../assets/images/sur.jpg';\r\nimport './style.scss';\r\n\r\nconst SurveyCard = ({ title, description, slug }) => {\r\n const history = useHistory();\r\n const handleClick = () => {\r\n history.push(slug);\r\n };\r\n return (\r\n \r\n
VLU
\r\n \r\n \r\n \r\n

\r\n 📝 \r\n {title}\r\n

\r\n
\r\n \r\n {description}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nSurveyCard.propTypes = {\r\n description: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n slug: PropTypes.string,\r\n};\r\n\r\nSurveyCard.defaultProps = {\r\n slug: 'cong-cu-holland'\r\n};\r\n\r\nexport default SurveyCard;\r\n","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { Badge, Button, Col, Row, Table } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { get } from '../../utils';\r\nimport './style.scss';\r\n\r\nconst HollandResult = ({ score }) => {\r\n const endPageRef = useRef(null);\r\n const history = useHistory();\r\n const [bestScore, setBestScore] = useState(0);\r\n\r\n useEffect(() => {\r\n const getBestScore = Object.keys(score).sort((a, b) => score[a] - score[b]);\r\n setBestScore(parseInt(getBestScore.pop(), 10));\r\n // eslint-disable-next-line no-unused-expressions\r\n endPageRef?.current?.scrollIntoView({ behavior: 'smooth', duration: 2500 });\r\n }, [score]);\r\n\r\n const handleBack = () => {\r\n history.replace('/');\r\n };\r\n const renderResult = () => {\r\n let result = {};\r\n switch (bestScore) {\r\n case 1:\r\n result = {\r\n name: 'Nhóm 1: Nhóm Kỹ Thuật- Người hành động',\r\n description: `Đây là những người thích vận động thể thao hoặc\r\n có khả năng làm việc tốt với máy móc, vật thể,\r\n công cụ, cây cảnh hoặc con vật, hoặc thích làm\r\n việc ngoài trời.`\r\n };\r\n break;\r\n case 2:\r\n result = {\r\n name: 'Nhóm 2: Nhóm Nghiên cứu - Người tư duy',\r\n description: `Đây là những người thích quan sát, học hỏi, tìm\r\n hiểu, tra cứu, phân tích, đánh giá và giải quyết vấn\r\n đề.`\r\n };\r\n break;\r\n case 3:\r\n result = {\r\n name: 'Nhóm 3: Nghệ thuật - Người kiến tạo',\r\n description: `Đây là những người có khả năng nghệ thuật, cải\r\n tiến, trực giác và thích làm việc trong các tình\r\n huống không có kế hoạch trước như dùng trí\r\n tưởng tượng và sáng tạo.`\r\n };\r\n break;\r\n case 4:\r\n result = {\r\n name: 'Nhóm 4: Nhóm Xã Hội - Người giúp đỡ',\r\n description: `Đây là những người thích làm việc với con người,\r\n thích soi sáng, giúp đỡ, truyền đạt thông tin, huấn\r\n luyện hoặc chữa trị cho người khác hoặc có kỹ\r\n năng về ngôn ngữ.`\r\n };\r\n break;\r\n case 5:\r\n result = {\r\n name: 'Nhóm 5: Quản lý - Người thuyết phục',\r\n description: `Đây là những người thích làm việc với con người,\r\n thích ảnh hưởng, thuyết phục, thể hiện, lãnh đạo\r\n hoặc quản lý con người vì các mục tiêu của tổ\r\n chức hoặc lợi ích kinh tế.`\r\n };\r\n break;\r\n case 6:\r\n result = {\r\n name: 'Nhóm 6: Nghiệp vụ - Người sắp xếp',\r\n description: `Đây là những người thích làm việc với dữ liệu, có\r\n kỹ năng làm việc với con số và công việc lưu trữ,\r\n văn thư, thực hiện nhiệm vụ được giao một cách\r\n chi tiết hoặc thực thi nhiệm vụ dựa vào sự hướng\r\n dẫn của người khác.`\r\n };\r\n break;\r\n default:\r\n result = {\r\n name: 'Đã xảy ra lỗi. Hệ thống không thể tính ra kết quả',\r\n description: ''\r\n };\r\n break;\r\n }\r\n return (\r\n
\r\n
Kết quả bạn thuộc vào nhóm:
\r\n

{result.name}

\r\n

{result.description}

\r\n
\r\n );\r\n };\r\n const drawChart = () => {\r\n const R = get(score, 1, 0);\r\n const I = get(score, 2, 0);\r\n const A = get(score, 3, 0);\r\n const S = get(score, 4, 0);\r\n const E = get(score, 5, 0);\r\n const C = get(score, 6, 0);\r\n return (\r\n \r\n \r\n {R}\r\n \r\n R\r\n \r\n \r\n {I}\r\n \r\n I\r\n \r\n \r\n {A}\r\n \r\n A\r\n \r\n \r\n {S}\r\n \r\n S\r\n \r\n \r\n {E}\r\n \r\n E\r\n \r\n \r\n {C}\r\n \r\n C\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n return (\r\n
\r\n

\r\n \r\n \r\n

KẾT QUẢ

\r\n \r\n \r\n {renderResult()}\r\n \r\n \r\n {drawChart()}\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 \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Realistic

\r\n Nhóm 1: Nhóm Kỹ Thuật - Người hành động\r\n
\r\n

Investigative

\r\n Nhóm 2: Nhóm Nghiên cứu - Người tư duy\r\n
\r\n

Artistic

\r\n Nhóm 3: Nghệ thuật - Người kiến tạo\r\n
\r\n Đây là những người thích vận động thể thao hoặc\r\n có khả năng làm việc tốt với máy móc, vật thể,\r\n công cụ, cây cảnh hoặc con vật, hoặc thích làm\r\n việc ngoài trời.\r\n \r\n Đây là những người thích quan sát, học hỏi, tìm\r\n hiểu, tra cứu, phân tích, đánh giá và giải quyết vấn\r\n đề.\r\n \r\n Đây là những người có khả năng nghệ thuật, cải\r\n tiến, trực giác và thích làm việc trong các tình\r\n huống không có kế hoạch trước như dùng trí\r\n tưởng tượng và sáng tạo.\r\n
\r\n

Social

\r\n Nhóm 4: Nhóm Xã Hội - Người giúp đỡ\r\n
\r\n

Enterprising

\r\n Nhóm 5: Quản lý - Người thuyết phục\r\n
\r\n

Conventional

\r\n Nhóm 6: Nghiệp vụ - Người sắp xếp\r\n
\r\n Đây là những người thích làm việc với con người,\r\n thích soi sáng, giúp đỡ, truyền đạt thông tin, huấn\r\n luyện hoặc chữa trị cho người khác hoặc có kỹ\r\n năng về ngôn ngữ.\r\n \r\n Đây là những người thích làm việc với con người,\r\n thích ảnh hưởng, thuyết phục, thể hiện, lãnh đạo\r\n hoặc quản lý con người vì các mục tiêu của tổ\r\n chức hoặc lợi ích kinh tế.\r\n \r\n Đây là những người thích làm việc với dữ liệu, có\r\n kỹ năng làm việc với con số và công việc lưu trữ,\r\n văn thư, thực hiện nhiệm vụ được giao một cách\r\n chi tiết hoặc thực thi nhiệm vụ dựa vào sự hướng\r\n dẫn của người khác.\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nHollandResult.propTypes = {\r\n // eslint-disable-next-line react/forbid-prop-types\r\n score: PropTypes.object.isRequired\r\n};\r\n\r\nexport default HollandResult;\r\n","/* eslint-disable react/require-default-props */\r\nimport React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Badge, ListGroup, Table } from 'react-bootstrap';\r\nimport './style.scss';\r\nimport { compare } from '../../utils';\r\nimport Loading from '../loading';\r\n\r\nconst MBTIResult = ({ score, selectedSignature, signatureTemplate = {} }) => {\r\n const itemKeysLine1 = ['I', 'E', 'N', 'S'];\r\n const itemKeysLine2 = ['T', 'F', 'P', 'J'];\r\n const [signature, setSignature] = useState([]);\r\n const [itemScore, setItemScore] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n\r\n /**\r\n * Get score for each item\r\n */\r\n useEffect(() => {\r\n const itemScoreFromProps = Object.keys(score).reduce((map, key) => {\r\n // eslint-disable-next-line no-param-reassign\r\n map[key] = score[key].reduce((total, a) => total + a.answer, 0);\r\n return map;\r\n }, {});\r\n setItemScore(itemScoreFromProps);\r\n }, [score]);\r\n\r\n /**\r\n * Get signature from itemScore\r\n */\r\n useEffect(() => {\r\n const first = compare(itemScore, 'I', 'E');\r\n const second = compare(itemScore, 'N', 'S');\r\n const third = compare(itemScore, 'T', 'F');\r\n const fourth = compare(itemScore, 'P', 'J');\r\n setSignature([first, second, third, fourth]);\r\n }, [itemScore]);\r\n\r\n useEffect(() => {\r\n if (selectedSignature) {\r\n selectedSignature(signature.join(''));\r\n }\r\n }, [signature]);\r\n\r\n useEffect(() => {\r\n console.log(signatureTemplate);\r\n if (signatureTemplate) {\r\n setLoading(false);\r\n }\r\n }, [signatureTemplate]);\r\n\r\n const renderItems = itemKey => (\r\n \r\n

{`${itemKey} items`}

\r\n {score[itemKey].map(item =>

{item.question}

)}\r\n

\r\n \r\n {`Total ${itemKey}: `}\r\n {itemScore[itemKey]}\r\n \r\n

\r\n \r\n );\r\n\r\n return (\r\n <>\r\n {loading ? : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {itemKeysLine1.map(itemKey => renderItems(itemKey))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {itemKeysLine2.map(itemKey => renderItems(itemKey))}\r\n \r\n \r\n
DIMENSION 1DIMENSION 2
DIMENSION 3DIMENSION 4
\r\n\r\n
\r\n
\r\n

YOUR PERSONALITY SIGNATURE IS:

\r\n \r\n {signature.map(s => {s})}\r\n \r\n
\r\n
\r\n
\r\n

{signatureTemplate?.Title}

\r\n

{signatureTemplate?.Description}

\r\n
\r\n
\r\n\r\n
\r\n \r\n )}\r\n\r\n \r\n );\r\n};\r\n\r\nMBTIResult.propTypes = {\r\n score: PropTypes.shape({\r\n I: PropTypes.shape([]),\r\n E: PropTypes.shape([]),\r\n N: PropTypes.shape([]),\r\n S: PropTypes.shape([]),\r\n T: PropTypes.shape([]),\r\n F: PropTypes.shape([]),\r\n P: PropTypes.shape([]),\r\n J: PropTypes.shape([])\r\n }).isRequired,\r\n selectedSignature: PropTypes.func,\r\n signatureTemplate: PropTypes.shape({\r\n Description: PropTypes.string,\r\n Title: PropTypes.string,\r\n Signature: PropTypes.string\r\n })\r\n};\r\n\r\nexport default MBTIResult;\r\n","import PropTypes from 'prop-types';\r\nimport React, { useEffect, useRef } from 'react';\r\nimport { Badge, Button, Col, Row, Table } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Success from '../../assets/images/check.svg';\r\nimport Fail from '../../assets/images/fail.svg';\r\nimport Warn from '../../assets/images/warn.svg';\r\nimport './style.scss';\r\n\r\nconst HollandResult = ({ score }) => {\r\n const endPageRef = useRef(null);\r\n const history = useHistory();\r\n useEffect(() => {\r\n // eslint-disable-next-line no-unused-expressions\r\n endPageRef?.current?.scrollIntoView({ behavior: 'smooth', duration: 2500 });\r\n }, []);\r\n\r\n const handleBack = () => {\r\n history.replace('/');\r\n };\r\n\r\n const renderStatus = (value) => {\r\n if (value === 0) {\r\n return \"Trung;\r\n } if (value < 0.6) {\r\n return \"Trung;\r\n }\r\n return \"Trung;\r\n };\r\n\r\n const renderResult = () => (\r\n <>\r\n \r\n \r\n

\r\n \"Trung\r\n

\r\n
Bạn hoàn toàn có khả năng
\r\n \r\n \r\n

\r\n \"Trung\r\n

\r\n
Bạn cần cải thiện thêm khả năng
\r\n \r\n \r\n

\r\n \"Trung\r\n

\r\n
Bạn không có hoặc không hứng thú
\r\n \r\n
\r\n \r\n \r\n {Object.keys(score).map(item => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

{score[item].group}

\r\n

{score[item].text}

{renderStatus(score[item].value)}
\r\n \r\n );\r\n\r\n return (\r\n
\r\n {renderResult()}\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nHollandResult.propTypes = {\r\n score: PropTypes.shape({}).isRequired\r\n};\r\n\r\nexport default HollandResult;\r\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Col, Form, Row } from 'react-bootstrap';\r\nimport './style.scss';\r\n\r\nconst Range = ({ id, questionId, className, handleChange }) => {\r\n const answerValues = [\r\n { text: '5 - 0', firstValue: 5, lastValue: 0, id: 1 },\r\n { text: '4 - 1', firstValue: 4, lastValue: 1, id: 2 },\r\n { text: '3 - 2', firstValue: 3, lastValue: 2, id: 3 },\r\n { text: '2 - 3', firstValue: 2, lastValue: 3, id: 4 },\r\n { text: '1 - 4', firstValue: 1, lastValue: 4, id: 5 },\r\n { text: '0 - 5', firstValue: 0, lastValue: 5, id: 6 }\r\n ];\r\n\r\n const DEFAULT_RANGE = -6;\r\n const [valueA, setValueA] = useState(DEFAULT_RANGE);\r\n const handleSelectAnswer = (event) => {\r\n let calculateValue = event?.target?.value;\r\n\r\n if (calculateValue < 0) {\r\n calculateValue *= -1;\r\n // eslint-disable-next-line\r\n } else if (calculateValue == 0) {\r\n calculateValue = DEFAULT_RANGE;\r\n } else {\r\n calculateValue = 5 - calculateValue;\r\n }\r\n setValueA(calculateValue);\r\n };\r\n\r\n useEffect(() => {\r\n const answer = answerValues.find(item => item.firstValue === valueA);\r\n handleChange(answer);\r\n }, [valueA]);\r\n\r\n const props = {\r\n type: 'range',\r\n className: `${className} answer-range`,\r\n id: `${questionId}-${id}`,\r\n name: `answer-${questionId}`,\r\n onChange: handleSelectAnswer,\r\n };\r\n\r\n return (\r\n \r\n {`a (${valueA !== DEFAULT_RANGE ? valueA : 0})`}\r\n \r\n \r\n \r\n {`b (${valueA !== DEFAULT_RANGE ? 5 - valueA : 0})`}\r\n \r\n );\r\n};\r\n\r\nRange.propTypes = {\r\n className: PropTypes.string,\r\n handleChange: PropTypes.func,\r\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\r\n questionId: PropTypes.number\r\n};\r\n\r\nRange.defaultProps = {\r\n className: '',\r\n handleChange: () => { },\r\n questionId: 0\r\n};\r\n\r\nexport default Range;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Container, ListGroup } from 'react-bootstrap';\r\nimport { cloneDeep, replaceValue } from '../../utils';\r\nimport Range from '../range';\r\n\r\nconst QuestionBlock = ({ item, handleAnswer }) => {\r\n const handleChange = answerObject => {\r\n let submitedAnswer = cloneDeep(item?.questions || []);\r\n submitedAnswer = submitedAnswer.map((question, index) => replaceValue(answerObject, question, index));\r\n handleAnswer(submitedAnswer);\r\n };\r\n return (\r\n <>\r\n \r\n {item?.questions?.map(q => (\r\n {q.question}\r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nQuestionBlock.propTypes = {\r\n item: PropTypes.shape({\r\n questions: PropTypes.shape([]).isRequired,\r\n id: PropTypes.number.isRequired\r\n }).isRequired,\r\n handleAnswer: PropTypes.func.isRequired\r\n};\r\nexport default QuestionBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Jumbotron } from 'react-bootstrap';\r\nimport './style.scss';\r\nimport QuestionBlock from './question-block';\r\n\r\nconst MBTIBox = ({ data, handleAnswer }) => (\r\n <>\r\n

I prefer:

\r\n \r\n {data?.groups?.map(item => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nMBTIBox.propTypes = {\r\n data: PropTypes.shape({\r\n groups: PropTypes.shape([]).isRequired\r\n }).isRequired,\r\n handleAnswer: PropTypes.func.isRequired\r\n};\r\n\r\nexport default MBTIBox;\r\n","const CSS = Object.freeze({\r\n Translate: {\r\n toString(transform) {\r\n if (!transform) {\r\n return null;\r\n }\r\n\r\n const { x, y } = transform;\r\n\r\n return `translate3d(${x ? Math.round(x) : 0}px, ${\r\n y ? Math.round(y) : 0\r\n }px, 0)`;\r\n },\r\n },\r\n Scale: {\r\n toString(transform) {\r\n if (!transform) {\r\n return null;\r\n }\r\n\r\n const { scaleX, scaleY } = transform;\r\n\r\n return `scaleX(${scaleX}) scaleY(${scaleY})`;\r\n },\r\n },\r\n Transform: {\r\n toString(transform) {\r\n if (!transform) {\r\n return null;\r\n }\r\n\r\n return [\r\n CSS.Translate.toString(transform),\r\n CSS.Scale.toString(transform),\r\n ].join(' ');\r\n },\r\n },\r\n Transition: {\r\n toString({ property, duration, easing }) {\r\n return `${property} ${duration}ms ${easing}`;\r\n },\r\n },\r\n});\r\n\r\nexport default CSS;\r\n","import { useSortable } from '@dnd-kit/sortable';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Badge, Card, Col } from 'react-bootstrap';\r\nimport CSS from '../../utils/utilities';\r\nimport './style.scss';\r\n\r\nconst SortableItem = ({ item, id, order }) => {\r\n const {\r\n attributes,\r\n listeners,\r\n setNodeRef,\r\n transform,\r\n transition,\r\n } = useSortable({ id });\r\n\r\n const style = {\r\n transform: CSS.Transform.toString(transform),\r\n transition,\r\n };\r\n return (\r\n \r\n \r\n \r\n

\r\n {`${order} - ${item.life_value}`}\r\n

\r\n
\r\n \r\n \r\n {item.question}\r\n \r\n \r\n
\r\n \r\n\r\n );\r\n};\r\n\r\nSortableItem.propTypes = {\r\n item: PropTypes.shape({\r\n life_value: PropTypes.string,\r\n question: PropTypes.string\r\n }).isRequired,\r\n id: PropTypes.number.isRequired,\r\n order: PropTypes.number.isRequired\r\n};\r\n\r\nexport default SortableItem;\r\n","module.exports = __webpack_public_path__ + \"static/media/check.923cbb49.svg\";","module.exports = __webpack_public_path__ + \"static/media/fail.cd6a3cdb.svg\";","module.exports = __webpack_public_path__ + \"static/media/warn.dadabf3b.svg\";","import Repository from './repository';\r\n\r\n/**\r\n * Constructor\r\n */\r\nconst url = 'surveys';\r\n\r\nconst Survey = {\r\n /**\r\n * Get All survey\r\n */\r\n getAll: () => Repository.get(url),\r\n\r\n /**\r\n * Get survey by id, slug\r\n * @param {Number} id\r\n */\r\n getSurveyById: path => Repository.get(`${url}/${path}`),\r\n\r\n /**\r\n * Get result by id\r\n * @param {Number} id\r\n */\r\n getResultById: (id) => Repository.get(`${url}/GetSurveyResult?survey_result_id=${id}`),\r\n\r\n /**\r\n * Submit the survey\r\n * @param {Object} payload\r\n */\r\n submit: payload => Repository.post(`${url}/submitResult`, payload),\r\n\r\n /**\r\n * Get footer info\r\n */\r\n getFooter: () => Repository.get('footer'),\r\n\r\n getResults: (userId) => Repository.get(`${url}/GetAllResultSurveyByUserId?user_id=${userId}`)\r\n};\r\n\r\nexport default Survey;\r\n","module.exports = __webpack_public_path__ + \"static/media/loading.fd79d998.gif\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo.2b1cd216.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img-left.a58bfbb1.png\";","module.exports = __webpack_public_path__ + \"static/media/fb.1e80416a.svg\";","module.exports = __webpack_public_path__ + \"static/media/yt.3f3e9523.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/sur.0bcbe3b1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/back-to-top.c20a2985.svg\";","import { REDIRECT_URI } from '../constants';\r\n\r\n// Config object to be passed to Msal on creation\r\nexport const msalConfig = {\r\n auth: {\r\n clientId: '0644b401-dac4-483c-9f86-e042874f0e8e',\r\n redirectUri: REDIRECT_URI,\r\n postLogoutRedirectUri: REDIRECT_URI\r\n },\r\n cache: {\r\n cacheLocation: 'sessionStorage',\r\n storeAuthStateInCookie: true\r\n }\r\n};\r\n\r\n// Add here scopes for id token to be used at MS Identity Platform endpoints.\r\nexport const loginRequest = {\r\n scopes: ['User.Read']\r\n};\r\n\r\n// Add here the endpoints for MS Graph API services you would like to use.\r\nexport const graphConfig = {\r\n graphMeEndpoint: 'https://graph.microsoft.com/v1.0/me'\r\n};\r\n","import * as Constants from './appTypes';\r\n\r\nconst initialState = {\r\n showLoginModal: false,\r\n anonymousUser: false,\r\n currentSurvey: null,\r\n loading: false\r\n};\r\n\r\nfunction appReducer(state, action) {\r\n switch (action.type) {\r\n case Constants.SHOW_LOGIN_MODAL:\r\n return {\r\n ...state,\r\n showLoginModal: true\r\n };\r\n\r\n case Constants.HIDE_LOGIN_MODAL:\r\n return {\r\n ...state,\r\n showLoginModal: false\r\n };\r\n\r\n case Constants.SET_CURRENT_SURVEY:\r\n return {\r\n ...state,\r\n currentSurvey: action.payload.survey\r\n };\r\n\r\n case Constants.SET_ANONYMOUS_USER:\r\n return {\r\n ...state,\r\n anonymousUser: true\r\n };\r\n case Constants.SET_LOADING:\r\n return {\r\n ...state,\r\n loading: action.payload.loading\r\n };\r\n default:\r\n return state || initialState;\r\n }\r\n}\r\n\r\nexport default appReducer;\r\n","export const SHOW_LOGIN_MODAL = '@@app/SHOW_LOGIN_MODAL';\r\nexport const HIDE_LOGIN_MODAL = '@@app/HIDE_LOGIN_MODAL';\r\nexport const SET_CURRENT_SURVEY = '@@app/SET_CURRENT_SURVEY';\r\nexport const SET_ANONYMOUS_USER = '@@app/SET_ANONYMOUS_USER';\r\nexport const SET_LOADING = '@@app/SET_LOADING';\r\n","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport appReducer from './appReducer';\r\n\r\nconst reducer = combineReducers({\r\n app: appReducer\r\n});\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst createStoreWithMiddleware = compose(\r\n composeWithDevTools(applyMiddleware(sagaMiddleware)),\r\n)(createStore);\r\n\r\nconst store = createStoreWithMiddleware(reducer, {});\r\n\r\nexport default store;\r\n","import { useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Badge, Button, Modal } from 'react-bootstrap';\r\nimport { connect } from 'react-redux';\r\nimport { setAnonymousUser } from '../stores/appAction';\r\n\r\nconst LoginGate = ({ component: WrappedComponent, setAnonymousUserInStore, anonymousUser }) => {\r\n const isAuthenticated = useIsAuthenticated();\r\n const { instance } = useMsal();\r\n const [showLoginModal, setShowLoginModal] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isAuthenticated || anonymousUser) {\r\n setShowLoginModal(false);\r\n } else {\r\n setShowLoginModal(true);\r\n }\r\n }, [isAuthenticated, anonymousUser]);\r\n\r\n const handleWithoutLogin = () => {\r\n setShowLoginModal(false);\r\n setAnonymousUserInStore();\r\n };\r\n\r\n const handleWithLogin = () => {\r\n setShowLoginModal(false);\r\n instance.loginRedirect();\r\n };\r\n return (\r\n <>\r\n {showLoginModal ? (\r\n \r\n \r\n Bạn có muốn lưu lại kết quả trắc nghiệm?\r\n \r\n \r\n

Lưu ý:

\r\n

\r\n - Chọn vào\r\n {' '}\r\n Tiếp tục\r\n {' '}\r\n \r\n để đăng nhập và kết quả của bạn sẽ được lưu lại sau khi hoàn thành bài trắc nghiệm\r\n \r\n

\r\n

\r\n - Chọn \r\n Không cần\r\n nếu không muốn lưu lại kết quả.\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\nconst mapStateToProps = state => ({\r\n anonymousUser: state.app.anonymousUser\r\n});\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n setAnonymousUserInStore: () => dispatch(setAnonymousUser())\r\n});\r\n\r\nLoginGate.propTypes = {\r\n component: PropTypes.elementType.isRequired,\r\n setAnonymousUserInStore: PropTypes.func.isRequired,\r\n anonymousUser: PropTypes.bool.isRequired\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginGate);\r\n","import * as Types from './appTypes';\r\n\r\nexport const setCurrentSurvey = survey => ({\r\n type: Types.SET_CURRENT_SURVEY,\r\n payload: {\r\n survey\r\n }\r\n});\r\n\r\nexport const setShowLoginModal = status => ({\r\n type: status\r\n});\r\n\r\nexport const setAnonymousUser = () => ({\r\n type: Types.SET_ANONYMOUS_USER\r\n});\r\n\r\nexport const setLoading = loading => ({\r\n type: Types.SET_LOADING,\r\n payload: {\r\n loading\r\n }\r\n});\r\n","import { useIsAuthenticated, useMsal } from '@azure/msal-react';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\n\r\nconst PrivateRoute = ({ component: Component }) => {\r\n const isAuthenticated = useIsAuthenticated();\r\n const { instance } = useMsal();\r\n const handleLogin = () => {\r\n instance.loginRedirect();\r\n };\r\n return (\r\n <>\r\n {isAuthenticated ? : }\r\n \r\n );\r\n};\r\n\r\nPrivateRoute.propTypes = {\r\n component: PropTypes.elementType.isRequired\r\n};\r\n\r\nexport default PrivateRoute;\r\n","import React, { useLayoutEffect, useState } from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport BackToTop from '../../assets/images/back-to-top.svg';\r\nimport './index.scss';\r\n\r\nconst ScrollToTop = () => {\r\n const [visible, setVisible] = useState(false);\r\n\r\n const toggleVisibility = () => {\r\n if (window && window.pageYOffset > 400) {\r\n setVisible(true);\r\n } else {\r\n setVisible(false);\r\n }\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n };\r\n\r\n useLayoutEffect(() => {\r\n document.addEventListener('scroll', () => {\r\n toggleVisibility();\r\n });\r\n return () => {\r\n document.removeEventListener('scroll', null);\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n {visible && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ScrollToTop;\r\n","import Repository from './repository';\r\n\r\n/**\r\n * Constructor\r\n */\r\nconst url = 'users/sync';\r\n\r\nconst User = {\r\n syncProfile: payload => Repository.post(url, payload)\r\n};\r\n\r\nexport default User;\r\n","import { useMsal } from '@azure/msal-react';\r\nimport React, { useEffect } from 'react';\r\nimport UserApi from '../../services/user';\r\n\r\nconst SyncProfile = () => {\r\n const { accounts } = useMsal();\r\n useEffect(() => {\r\n if (accounts.length) {\r\n const payload = {\r\n Id: accounts[0]?.localAccountId,\r\n Email: accounts[0]?.username,\r\n Name: accounts[0]?.name\r\n };\r\n UserApi.syncProfile(payload);\r\n }\r\n }, [accounts]);\r\n return <>;\r\n};\r\n\r\nexport default SyncProfile;\r\n","import React from 'react';\r\nimport '../Error.scss';\r\n\r\nconst NotFound = () => (\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 \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 \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\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\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\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 \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\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\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 \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 \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 \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\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 \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\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\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\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 \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\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 \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 \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\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 \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\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 \r\n
\r\n
\r\n

404!!

\r\n

Trang bạn đang tìm kiếm hiện không tồn tại.

\r\n
\r\n

Quay về trang chủ

\r\n
\r\n
\r\n
\r\n
\r\n \r\n);\r\nexport default NotFound;\r\n","import { lazy } from 'react';\r\n\r\nconst Routes = () => [\r\n {\r\n path: '/',\r\n component: lazy(() => import('../pages/Home')),\r\n exact: true,\r\n isPrivate: false\r\n },\r\n {\r\n path: '/cong-cu-holland',\r\n component: lazy(() => import('../pages/Holland')),\r\n isPrivate: false,\r\n loginGate: true\r\n },\r\n {\r\n path: '/cong-cu-liet-ke-ky-nang',\r\n component: lazy(() => import('../pages/EmployabilitySkills')),\r\n isPrivate: false,\r\n loginGate: true\r\n },\r\n {\r\n path: '/cong-cu-mbti',\r\n component: lazy(() => import('../pages/MBTI')),\r\n isPrivate: false,\r\n loginGate: true\r\n },\r\n {\r\n path: '/cong-cu-gia-tri-song',\r\n component: lazy(() => import('../pages/WorkingValues')),\r\n isPrivate: false,\r\n loginGate: true\r\n },\r\n {\r\n path: '/cong-cu-vong-tron-cuoc-doi',\r\n component: lazy(() => import('../pages/LifeCycle')),\r\n isPrivate: false,\r\n loginGate: true\r\n },\r\n {\r\n path: '/lich-su',\r\n component: lazy(() => import('../pages/Results')),\r\n isPrivate: true\r\n },\r\n {\r\n path: '/portfolio',\r\n component: lazy(() => import('../pages/Portfolio')),\r\n isPrivate: true\r\n },\r\n {\r\n path: '/getSurveyResult/:id/slug/:slug',\r\n component: lazy(() => import('../pages/SingleResult')),\r\n isPrivate: false\r\n },\r\n {\r\n path: '/attendance',\r\n component: lazy(() => import('../pages/Attendance')),\r\n isPrivate: false\r\n },\r\n {\r\n path: '/smart',\r\n component: lazy(() => import('../pages/Smart')),\r\n isPrivate: true\r\n },\r\n {\r\n path: '/grow',\r\n component: lazy(() => import('../pages/Grow')),\r\n isPrivate: true\r\n }\r\n];\r\n\r\nexport default Routes;\r\n","// MSAL imports\r\nimport { MsalProvider } from '@azure/msal-react';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport { createBrowserHistory } from 'history';\r\nimport React, { Suspense } from 'react';\r\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\r\nimport './App.scss';\r\nimport { Footer, Header, Loading } from './components';\r\nimport LoginGate from './components/LoginGate';\r\nimport PrivateRoute from './components/PrivateRoute';\r\nimport ScrollToTop from './components/scrollToTop';\r\nimport SyncProfile from './components/syncProfile/SyncProfile';\r\nimport NotFound from './pages/NotFound';\r\nimport Routes from './routes';\r\n\r\n// eslint-disable-next-line react/prop-types\r\nfunction App({ pca }) {\r\n const history = createBrowserHistory();\r\n\r\n const renderComponent = (route, props) => {\r\n const Component = route.component;\r\n if (route?.loginGate) {\r\n return ;\r\n }\r\n if (route?.isPrivate) {\r\n return ;\r\n }\r\n return ;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n \r\n \r\n
\r\n \r\n {Routes().map(route => renderComponent(route, props)} />)}\r\n \r\n \r\n \r\n