{"version":3,"sources":["components/img/award.jpg","components/img/ejobindiaaward.jpg","components/img/nivt skill award.jpg","components/img/workingoffice.jpg","components/img/bisag-n.jpg","components/img/happytime.jpg","components/img/office.jpg","components/img/cultural.jpg","components/img/office sikandar.jpg","logo.svg","components/img/erwatodaye.jpg","components/header.js","components/footer.js","components/base_url.js","components/home.js","components/Error.js","components/mock_header.js","components/HOC.js","components/login.js","components/signup.js","components/user.js","components/blog.js","components/ca.js","components/dashboard.js","components/myseries.js","components/payment.js","components/instruction.js","components/edashboard.js","components/practice.js","components/tempexam.js","components/getquestiond.js","components/getsection.js","components/result.js","components/solution.js","components/aboutus.js","components/contactus.js","components/privacy.js","components/termscondition.js","components/allseries.js","components/paymentc.js","components/job.js","components/question_paper.js","components/intrance.js","components/job_detail.js","components/question_paper_download.js","components/mcq_practice.js","components/randompost.js","components/mcq.js","App.js","serviceWorker.js","index.js","components/img/erwatodaylogo.png"],"names":["module","exports","Header","Fragment","Navbar","collapseOnSelect","expand","className","bg","Brand","href","src","logo","alt","Toggle","aria-controls","Collapse","id","Nav","Link","as","to","NavDropdown","title","Item","React","Component","Footer","Container","Row","Col","lg","apiUrl","Home","useState","addcategory","setAddcategory","message","setMessage","searchTerm","setSearchTerm","useEffect","axios","get","then","response","data","catch","error","console","filteredCategories","filter","item","status","topic_name","toLowerCase","includes","sliderSettings","dots","infinite","speed","slidesToShow","autoplay","autoplaySpeed","responsive","breakpoint","settings","style","backgroundColor","map","index","key","width","height","borderRadius","background","ReactHtmlParser","des","Form","Control","type","placeholder","value","onChange","e","target","length","image","objectFit","onClick","event","category","preventDefault","regid","localStorage","getItem","post","window","location","alert","addSeries","Error","Mockheader","props","handleLogout","removeItem","reload","state","showSidebar","innerWidth","isLoggedIn","toggleSidebar","bind","handleResize","this","setState","prevState","addEventListener","removeEventListener","fluid","Button","Hoc","HOC","handleChange","name","log","handleSignInSubmit","dat","email","password","setItem","history","push","handleSignUpSubmit","toggleSignIn","isSignIn","phone","toggleSignUp","marginTop","marginBottom","padding","textAlign","onSubmit","FormGroup","FormLabel","htmlFor","FormControl","required","border","Signup","handleSubmit","confpassword","pic","method","encType","size","emailerror","class","User","DeleteUser","url","product","Table","color","price","description","Blog","renderSection","items","fontSize","fontWeight","slice","slug","replace","pathname","other","loading","exam_category","Ca","getData","a_id","currentPage","hanldleClick","question","handleNextClick","handlePrevClick","float","detail","disabled","handleSearchChange","query","filtered","series","searchQuery","filteredSeries","user","isLoading","getSeriesData","JSON","stringify","Spinner","animation","sm","md","Card","Img","variant","Body","Title","Alert","paymentpr","submit","Array","isArray","test_id","param4","payment_regid","payment_exp","enrolment_ex_date","getpaymentData","currentDate","Date","enrollmentExDate","pnp","undefined","total_q","max_marks","Math","floor","time","n_marks","find","exam_id","marginLeft","handleCheckboxToggle","checked","handlePayment","payment","discount","isDiscounted","amount","reduce","acc","options","round","currency","handler","payment_id","razorpay_payment_id","prefill","Razorpay","open","script","document","createElement","async","onload","body","appendChild","overflowY","validity","Instruction","instruction","language","handleLanguageChange","handleNext","exam_id1","boxShadow","paddingLeft","userSelect","overflow","display","justifyContent","alignItems","marginRight","lineHeight","position","bottom","left","transform","margin","Edashboard","handleFullScreenToggle","fullscreenElement","exitFullscreen","isFullScreen","documentElement","requestFullscreen","handleShow","fullscreen","show","loadQuestion","regid1","markedbackup","savedbackup","visitedbackup","param","currentQuestionIndex","loadAllQuestions","sec_id","section_name","currentSection","currentSectionIndex","section","findIndex","nextSection","timeLeft","confirm","dcategory","split","hours","minutes","seconds","last_time","parseInt","time_taken","submitup","values","showSidePanel","currentQuestionNumber","time_back","totalSavedQuestions","answer","param5","totalTime","startTime","backup_time","moment","duration","asMilliseconds","now","examTime","interval","setInterval","clearInterval","formattedTimeLeft","utc","format","q_id","delete","answerElement","querySelector","nextIndex","sec","currentQuestion","totalMarkedQuestions","onCopy","gap","v","idx","year","option1","some","option2","option3","option4","flexWrap","zIndex","handleMarkQuestion","flex","minWidth","deleteResponse","col","paddingRight","overflowX","isMarked","markedItem","toString","isSaved","savedItem","isVisited","visitedItem","cursor","Modal","onHide","centered","dialogClassName","closeButton","Practice","element","err","webkitRequestFullscreen","msRequestFullscreen","Tempexam","sectionId","Questiond","Section","handleClick","firstSectionId","analysis","rank","total","COLORS","PieChart","Pie","cx","cy","innerRadius","outerRadius","fill","dataKey","entry","Cell","Tooltip","Legend","totalStudents","total_students","rankObtained","totalScore","total_score","scoreObtained","total_score_obtained","totalQuestions","attemptedQuestions","total_qid","percentile","accuracy","correctAnswers","total_correct","incorrectAnswers","total_incorrect","timeTaken","time_taken1","toFixed","renderPieChart","Solution","showAnswer","transition","option","AboutUs","pic1","pic2","pic3","pic4","pic5","pic6","pic7","pic8","pic9","num","ContactUs","Group","controlId","Label","rows","PrivacyPolicy","TermsAndConditions","Allseries","Text","total_set","PaymentC","Job","job","admit","result","Question_paper","questionPapers","setQuestionPapers","successfulPayments","setSuccessfulPayments","showModal","setShowModal","selectedItem","setSelectedItem","handlePaymentSuccess","paymentId","questionPaperId","question_paper_id","savePaymentToDatabase","prev","filteredPapers","isExpanded","updatedPapers","toggleDescription","file","download","maxWidth","contact","theme","Intrance","JobDetail","loadJobDetail","match","params","fetchJobDetail","matchedJob","jobDetail","fetchRelatedArticles","latestArticles","sort","a","b","date","relatedArticles","prevProps","rel","article","QuestionPaperDownload","mobileNumber","setMobileNumber","selectedFile","setSelectedFile","selectedQuestionPaperId","setSelectedQuestionPaperId","downloadAllowed","setDownloadAllowed","errorMessage","setErrorMessage","handleModalClose","paper","maxLength","mobile","pay_id","success","McqPractice","subcategory","setsubcategory","setsection","setLoading","selectedCategory","setSelectedCategory","sliderRef","useRef","Promise","all","catRes","subRes","secRes","fetchData","ref","slidesToScroll","arrows","substring","current","slickPrev","slickNext","categoryItem","subItem","sectionItem","total_question","RandomTopics","topics","setTopics","setRelatedArticles","fetchTopics","validTopics","topic","shuffledTopics","random","MCQ","useLocation","initialSecId","initialId","initialSectionName","initialTopic","setSecId","setSectionName","questions","setQuestions","sections","setSections","userAnswers","setUserAnswers","setError","selectedSection","setSelectedSection","fetchQuestions","filteredSections","fetchSections","handleSectionClick","currentIndex","prevSection","handleNavigation","correctCount","incorrectCount","Object","forEach","selectedOption","correctAnswer","calculateScore","fontFamily","xs","Dropdown","Menu","i","isSelected","isCorrect","Check","label","qId","App","exact","path","component","Login","Dashboard","Result","job_detail","Question_paper_download","Myseries","Boolean","hostname","ReactDOM","render","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.f4f6f6c9.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/award.3ad9100b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/ejobindiaaward.957d5ffb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/nivt skill award.63597adb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/workingoffice.b794a2df.jpg\";","module.exports = __webpack_public_path__ + \"static/media/bisag-n.2b459656.jpg\";","module.exports = __webpack_public_path__ + \"static/media/happytime.d351d4b8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/office.33583e97.jpg\";","module.exports = __webpack_public_path__ + \"static/media/cultural.109e1bfe.jpg\";","module.exports = __webpack_public_path__ + \"static/media/office sikandar.0bf3675d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/logo.5d5d9eef.svg\";","module.exports = __webpack_public_path__ + \"static/media/erwatodaye.3a5a46bb.jpg\";","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Navbar, Nav, NavDropdown } from 'react-bootstrap';\r\nimport { FaAngular, FaHome } from \"react-icons/fa\";\r\nimport logo from './img/erwatodaylogo.png';\r\nimport './cssfile/header.css';\r\n\r\nclass Header extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \"Logo\"\r\n ErwaToday\r\n \r\n \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 { Navbar, Container, Row, Col } from 'react-bootstrap';\r\nimport { FaFacebook, FaTwitter, FaInstagram } from 'react-icons/fa';\r\n\r\n\r\nclass Footer extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
ErwaToday.in
\r\n
\r\n

192/2 Opposite Public Garden,Car Park Stand
\r\n Sector 3A New ,Infocity, Gandhinagar, Ahmedabad, Gujarat - 382016

\r\n

9608372362

\r\n

administrative@erwatoday.in

\r\n \r\n \r\n
Connect with Us
\r\n Facebook
\r\n Twitter
\r\n Instagram\r\n \r\n \r\n
Company
\r\n About Us
\r\n Contact Us
\r\n Privacy Policy
\r\n Terms and Conditions
\r\n Payment terms / Refund and Cancellation Policy\r\n \r\n
\r\n
\r\n

© 2022-2025 ErwaToday.in. All Rights Reserved.

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Footer;\r\n","const apiUrl = 'https://erwatoday.com/';\r\n\r\nexport default apiUrl;","import React, { useState, useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Navbar, Nav, Form } from 'react-bootstrap';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport axios from 'axios';\r\nimport Slider from 'react-slick';\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport '../components/cssfile/question_paper.css';\r\n\r\nconst Home = () => {\r\n const [addcategory, setAddcategory] = useState([]);\r\n const [message, setMessage] = useState([]);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n\r\n useEffect(() => {\r\n axios.get(apiUrl + 'serverside/message.php')\r\n .then(response => setMessage(response.data))\r\n .catch(error => console.error(error));\r\n\r\n axios.get(apiUrl + 'serverside/parentcategory.php')\r\n .then(response => setAddcategory(response.data))\r\n .catch(error => console.error(error));\r\n }, []);\r\n\r\n const addSeries = (event, category) => {\r\n event.preventDefault();\r\n const regid = localStorage.getItem('regid');\r\n\r\n if (!regid) {\r\n window.location.href = '/login';\r\n return;\r\n }\r\n\r\n axios.post(apiUrl + 'serverside/addseries.php', { category, regid })\r\n .then(() => window.location.href = '/dashboard')\r\n .catch(error => {\r\n console.error(error);\r\n alert('An error occurred. Please try again.');\r\n });\r\n };\r\n\r\n const filteredCategories = addcategory.filter(item =>\r\n item.status == 1 && item.topic_name.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n\r\n const sliderSettings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 3,\r\n autoplay: true,\r\n autoplaySpeed: 2000,\r\n responsive: [{ breakpoint: 768, settings: { slidesToShow: 1 } }],\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {message.map((item, index) => (\r\n
\r\n
\r\n
\r\n
\r\n {ReactHtmlParser(item.des)}\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n

Online Mock Test Series

\r\n setSearchTerm(e.target.value)}\r\n />\r\n
\r\n {filteredCategories.length > 0 ? (\r\n filteredCategories.map((item, index) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{item.topic_name}
\r\n addSeries(e, item.category)}\r\n >\r\n Get Started Now\r\n \r\n
\r\n
\r\n
\r\n ))\r\n ) : (\r\n

No test series found.

\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Home;\r\n","import React from 'react';\r\n\r\nconst Error = () =>\r\n
\r\n

Oops!! Sorry


\r\n

Error:404 page not found

\r\n \r\n
\r\n\r\nexport default Error;\r\n\r\n","import React from 'react';\r\nimport Header from './header';\r\nimport Footer from './footer';\r\nimport { FaBars, FaHome, FaBook, FaHeart, FaCartArrowDown, FaSearch, FaSignOutAlt ,FaListUl,FaLaptop,FaUniversity } from \"react-icons/fa\";\r\nimport { Button, Container, Row } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport './cssfile/mockheader.css'; // Updated styles\r\n\r\nexport default class Mockheader extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showSidebar: window.innerWidth >= 768, // Sidebar is visible by default on larger screens\r\n isLoggedIn: localStorage.getItem('email') && localStorage.getItem('password')\r\n };\r\n this.toggleSidebar = this.toggleSidebar.bind(this);\r\n this.handleResize = this.handleResize.bind(this);\r\n }\r\n\r\n toggleSidebar() {\r\n this.setState((prevState) => ({ showSidebar: !prevState.showSidebar }));\r\n }\r\n\r\n handleResize() {\r\n // Automatically show or hide the sidebar based on screen width\r\n if (window.innerWidth < 768) {\r\n this.setState({ showSidebar: false });\r\n } else {\r\n this.setState({ showSidebar: true });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('resize', this.handleResize);\r\n this.handleResize(); // Adjust visibility on initial render\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.handleResize);\r\n }\r\n\r\n handleLogout = () => {\r\n localStorage.removeItem('email');\r\n localStorage.removeItem('password');\r\n localStorage.removeItem('regid');\r\n window.location.reload();\r\n };\r\n\r\n render() {\r\n const { isLoggedIn, showSidebar } = this.state;\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
  • Home
  • \r\n
  • Add Series
  • \r\n
  • Latest Job
  • \r\n
  • Entrance Exam
  • \r\n
  • MCQ Practice
  • \r\n
  • Questions Paper Download
  • \r\n \r\n
  • Publish Blog
  • \r\n
  • Question Paper PDF
  • \r\n
  • \r\n {isLoggedIn \r\n ? \r\n : Sign In\r\n }\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport Mockheader from \"./mock_header\";\r\nimport Header from \"./header\";\r\nimport Footer from \"./footer\";\r\n\r\nexport default function Hoc(Component){\r\n function NewComponent(props){\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 \r\n \r\n );\r\n }\r\n return NewComponent;\r\n}","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport loginimage from './img/erwatodaye.jpg';\r\nimport { Container, Row, FormGroup, FormLabel, FormControl, } from 'react-bootstrap';\r\nimport apiUrl from './base_url';\r\n\r\n\r\n\r\nclass AuthForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isSignIn: true, // whether the user is signing in or signing up\r\n email: '',\r\n password: '',\r\n phone: '',\r\n error: ''\r\n };\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({\r\n [event.target.name]: event.target.value,\r\n });\r\n console.log(this.state);\r\n }\r\n\r\n\r\n\r\n handleSignInSubmit = (event) => {\r\n event.preventDefault();\r\n var dat = {\r\n email: this.state.email,\r\n password: this.state.password,\r\n }\r\n\r\n axios.post(apiUrl+'serverside/login.php', dat)\r\n .then(response => {\r\n console.log(response);\r\n if (response.data === 'success') {\r\n const { email, password,regid } = this.state;\r\n localStorage.setItem('email', email);\r\n localStorage.setItem('password', password);\r\n localStorage.setItem('regid', response.data.regid);\r\n this.props.history.push('/dashboard', { email, password });\r\n } else {\r\n this.setState({ error: response.data.error });\r\n alert(\"Email id or Password not matched!!\");\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n\r\n handleSignUpSubmit = (event) => {\r\n event.preventDefault();\r\n console.log(this.state)\r\n axios.post(apiUrl+'serverside/user.php', this.state)\r\n .then(response => {\r\n console.log(response)\r\n alert(response.data);\r\n window.location.href = '/dashboard';\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n alert(error);\r\n })\r\n }\r\n\r\n toggleSignIn = () => {\r\n this.setState({\r\n isSignIn: true,\r\n email: '',\r\n password: '',\r\n phone: '',\r\n });\r\n }\r\n\r\n toggleSignUp = () => {\r\n this.setState({\r\n isSignIn: false,\r\n email: '',\r\n password: '',\r\n phone: '',\r\n });\r\n }\r\n\r\n render() {\r\n const { isSignIn, email, password, phone } = this.state;\r\n\r\n return (\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{isSignIn ? 'Sign In' : 'Sign Up'}

\r\n
\r\n \r\n Email\r\n \r\n \r\n \r\n Password\r\n \r\n \r\n {!isSignIn && (\r\n \r\n \r\n Phone Number\r\n \r\n \r\n \r\n )}\r\n

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

{isSignIn ? \"Don't have an account?\" : 'Already have an account?'} {isSignIn ? 'Sign up' : 'Sign in'}

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default HOC(AuthForm);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport apiUrl from './base_url';\r\n\r\n\r\nimport { Container, Row, FormGroup, FormLabel, FormControl, } from 'react-bootstrap';\r\n\r\nclass Signup extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n name: '',\r\n email: '',\r\n phone: '',\r\n password: '',\r\n confpassword: '',\r\n pic:null\r\n }\r\n }\r\n\r\n // this is part for accessing the value from inputbox\r\n handleChange = (event) => {\r\n this.setState({ [event.target.name]: event.target.value }, () => {\r\n console.log(this.state)\r\n })\r\n }\r\n\r\n // Accessing the value by API from Url\r\n handleSubmit = (e) => {\r\n e.preventDefault();\r\n console.log(this.state)\r\n axios.post('http://localhost:4000/api/admin/add', this.state)\r\n .then(response => {\r\n console.log(response)\r\n alert(\"Successfulyy data inserted\");\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n alert(\"Faild your Submition\")\r\n }) \r\n }\r\n\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n

Admin Signup

\r\n

\r\n
\r\n \r\n Enter Your Name:*\r\n \r\n \r\n \r\n Email Id:*\r\n \r\n {this.emailerror}\r\n \r\n \r\n Phone/Mobile No.:*\r\n \r\n \r\n \r\n Enter password:*\r\n \r\n \r\n \r\n Enter Conformpassword:*\r\n \r\n \r\n \r\n \r\n Upload Image :*\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n );\r\n\r\n }\r\n}\r\n\r\nexport default Signup; ","import React from 'react';\r\nimport {Table} from 'react-bootstrap';\r\nimport axios from 'axios';\r\nimport {} from 'react-router-dom';\r\nimport { Route, Link, BrowserRouter as Router, BrowserRouter ,Switch,Redirect} from 'react-router-dom';\r\nimport './style.css'\r\nimport apiUrl from './base_url';\r\n\r\n\r\nclass User extends React.Component{\r\n constructor(){\r\n super();\r\n this.state={\r\n product: []\r\n }\r\n \r\n }\r\n\r\n\r\n DeleteUser=(id)=>{\r\n \r\n axios({\r\n method: 'DELETE',\r\n url: 'http://localhost:5000/product/' + id\r\n });\r\n alert('Item is deleted')\r\n window.location.reload();\r\n \r\n }\r\n\r\n \r\n\r\n componentDidMount(){\r\n axios.get('http://localhost:5000/product')\r\n .then(response=>{\r\n console.log(response.data)\r\n this.setState({product:response.data})\r\n })\r\n .catch (error=>{\r\n console.log(error)\r\n })\r\n }\r\n\r\n\r\n render(){\r\n\r\n return(\r\n
\r\n

Product List

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.product.map((item) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
S.No.:TitlePriceDescriptionImageAction
{item.id}{item.title}{item.price}{item.description}\r\n Edit{' '}\r\n {' '}\r\n View\r\n
\r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default User;","import React from 'react';\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom'; \r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport '../components/cssfile/question_paper.css';\r\nimport '../components/cssfile/job.css';\r\nimport { FaArrowRight } from \"react-icons/fa\";\r\n\r\nclass Blog extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n other: [],\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n axios\r\n .get(apiUrl + 'serverside/latest_job.php')\r\n .then((response) => {\r\n this.setState((prevState) => ({\r\n other: response.data.filter(item => item.category === 'other' && item.exam_category === 'other'),\r\n loading: false,\r\n }));\r\n })\r\n .catch((error) => {\r\n this.setState({ error: 'There was an error fetching the data!', loading: false });\r\n });\r\n }\r\n\r\n renderSection = (title, items) => (\r\n
\r\n
\r\n
\r\n

{title}

\r\n
\r\n
\r\n {items.length > 0 ? (\r\n
    \r\n {items.slice(0, 50).map((item, index) => {\r\n const slug = item.topic_name.toLowerCase().replace(/[^a-z0-9]+/g, '-'); \r\n return (\r\n
  • \r\n \r\n {item.topic_name.slice(0, 80) + '...'}\r\n \r\n {index < 3 && (\r\n \r\n New\r\n \r\n )}\r\n
  • \r\n );\r\n })}\r\n
\r\n ) : (\r\n

No {title.toLowerCase()} available.

\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n\r\n render() {\r\n const { other, loading, error } = this.state;\r\n\r\n if (loading) return
Loading...
;\r\n if (error) return
{error}
;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {this.renderSection('Latest Published Articles', other)}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Blog;\r\n","import React, { Component } from 'react'\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom';\r\nimport ReactPaginate from 'react-paginate';\r\nimport '../components/cssfile/Appp.css';\r\nimport { Navbar, Nav, NavDropdown, Label } from 'react-bootstrap';\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\r\n\r\nexport default class Ca extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n category: [],\r\n a_id: [],\r\n question: [],\r\n id: [],\r\n topic_name: [],\r\n currentPage: 1,\r\n\r\n \r\n };\r\n\r\n }\r\n\r\n\r\n getData = () => {\r\n axios.get(`http://localhost/currentaffairs/serverside/category.php?a_id=${this.props.location.state.a_id}&page=${this.state.currentPage}`).then(response => {\r\n this.setState({ category: response.data });\r\n });\r\n }\r\n\r\n\r\nhanldleClick=(e)=>{\r\n \r\n axios.get('http://localhost/currentaffairs/serverside/question.php?id=' + this.props.location.state.id).then(response => {\r\n this.setState({ question: response.data });\r\n });\r\n\r\n}\r\n\r\n handleNextClick = () => {\r\n const { currentPage } = this.state;\r\n this.getData(currentPage + 1);\r\n this.setState({ currentPage: currentPage + 1 });\r\n console.log(this.state);\r\n }\r\n handlePrevClick = () => {\r\n const { currentPage } = this.state;\r\n this.getData(currentPage - 1);\r\n this.setState({ currentPage: currentPage - 1 });\r\n console.log(this.state);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.getData(this.state.currentPage);\r\n // axios.get('http://localhost/currentaffairs/serverside/category.php?a_id=' + this.props.location.state.a_id).then(response => {\r\n // this.setState({ category: response.data });\r\n // });\r\n axios.get('http://localhost/currentaffairs/serverside/question.php?id=' + this.props.location.state.id).then(response => {\r\n this.setState({ question: response.data });\r\n });\r\n }\r\n\r\n\r\n render() {\r\n const { question } = this.state;\r\n const { category, currentPage } = this.state;\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
Browse...
\r\n {category.length > 0 ? category.map((item) => (\r\n
\r\n \r\n | {item.topic_name}\r\n \r\n
\r\n )):
Sorry!!

No Data available
}\r\n
\r\n\r\n\r\n\r\n
\r\n
{this.props.location.state.topic_name}
\r\n \r\n \r\n
\r\n {question.length > 0 ? question.map((item) => (\r\n
\r\n \r\n
\r\n )) :
Sorry!!

No Data available
}\r\n\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n
\r\n

ADDS....

\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n )\r\n }\r\n}\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport { Link } from 'react-router-dom';\r\nimport { Card, Button, Container, Row, Col, Spinner, Alert, Form } from 'react-bootstrap';\r\nimport apiUrl from './base_url';\r\n\r\nclass Dashboard extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n user: [],\r\n series: [],\r\n filteredSeries: [],\r\n isLoading: true,\r\n searchQuery: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const email = localStorage.getItem('email');\r\n const password = localStorage.getItem('password');\r\n\r\n if (!email || !password) {\r\n this.props.history.push('/login');\r\n return;\r\n }\r\n\r\n axios\r\n .get(apiUrl + `serverside/userdata.php?email=${email}&password=${password}`)\r\n .then(response => {\r\n const regid = response.data[0]?.regid || '';\r\n this.setState({ user: response.data });\r\n localStorage.setItem('regid', regid);\r\n this.getSeriesData(regid);\r\n })\r\n .catch(error => console.error(error));\r\n }\r\n\r\n getSeriesData(regid) {\r\n axios\r\n .get(apiUrl + `serverside/seriesdata.php?regid=${regid}`)\r\n .then(response => {\r\n this.setState({ series: response.data, filteredSeries: response.data, isLoading: false });\r\n localStorage.setItem('series', JSON.stringify(response.data));\r\n })\r\n .catch(error => console.error(error));\r\n }\r\n\r\n handleSearchChange = (event) => {\r\n const query = event.target.value.toLowerCase();\r\n const filtered = this.state.series.filter(item =>\r\n item.topic_name.toLowerCase().includes(query)\r\n );\r\n this.setState({ searchQuery: query, filteredSeries: filtered });\r\n };\r\n\r\n render() {\r\n const { filteredSeries, isLoading, searchQuery } = this.state;\r\n\r\n return (\r\n \r\n
\r\n

Dashboard

\r\n \r\n
\r\n\r\n {isLoading ? (\r\n
\r\n \r\n

Loading data...

\r\n
\r\n ) : filteredSeries.length > 0 ? (\r\n \r\n {filteredSeries.map((item, index) => (\r\n \r\n \r\n \r\n \r\n {item.topic_name}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n \r\n

No Series Available!

\r\n

Please add a series to continue.

\r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default HOC(Dashboard);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport { Link } from 'react-router-dom';\r\nimport { FaAngular, FaSignOutAlt } from \"react-icons/fa\";\r\nimport { Navbar, Nav, Card, Title, Text } from 'react-bootstrap';\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\r\nimport apiUrl from './base_url';\r\n\r\nclass Myseries extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n category: [],\r\n paymentpr: [],\r\n isLoading: true,\r\n submit: [],\r\n message:[],\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n\r\n\r\n // localStorage.removeItem('exam_id');\r\n // localStorage.removeItem('secl_id');\r\n\r\n const a_id = this.props.location.state?.a_id;\r\n if (!a_id) {\r\n // Redirect to login page or show an error message\r\n this.props.history.push('/login');\r\n return;\r\n }\r\n\r\n axios\r\n .get(apiUrl+`serverside/message.php`)\r\n .then(response => {\r\n this.setState({ message: response.data });\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n axios.get(apiUrl+`serverside/submittest_protection.php`)\r\n .then((response) => {\r\n if (Array.isArray(response.data)) {\r\n this.setState({ submit: response.data });\r\n } else {\r\n console.log('Error: server response is not an array');\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n axios\r\n .get(apiUrl+`serverside/category.php?a_id=${a_id}`)\r\n .then(response => {\r\n this.setState({ category: response.data });\r\n const test_id = response.data[0].a_id;\r\n localStorage.setItem('test_id', test_id);\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n /////////////////////////////////Payment protection//////////////////////////\r\n const regid = localStorage.getItem('regid');\r\n const param4 = regid;\r\n axios.get(apiUrl+`serverside/payment_protection.php?regid=${param4}`)\r\n .then(response => {\r\n // console.log(response.data);\r\n this.setState({ paymentpr: response.data, isLoading: false });\r\n const payment_regid = response.data[0].regid;\r\n localStorage.setItem('payment_regid', payment_regid);\r\n\r\n const payment_exp = response.data[0].enrolment_ex_date;\r\n localStorage.setItem('payment_exp', payment_exp);\r\n this.getpaymentData(payment_regid);\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n\r\n }\r\n\r\n getpaymentData(payment_regid) {\r\n const param4 = payment_regid;\r\n axios\r\n .get(apiUrl+`serverside/payment_protection.php?regid=${param4}`)\r\n .then(response => {\r\n this.setState({ paymentpr: response.data, isLoading: false });\r\n localStorage.setItem('series', response.data);\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n\r\n render() {\r\n const email = localStorage.getItem('email');\r\n const password = localStorage.getItem('password');\r\n const regid = localStorage.getItem('regid');\r\n\r\n const payment_regid = localStorage.getItem('payment_regid');\r\n const payment_exp = localStorage.getItem('payment_exp')\r\n const test_id = localStorage.getItem('test_id');\r\n const sub_id = localStorage.getItem('sub_id');\r\n\r\n\r\n // alert(test_id);\r\n // alert(regid);\r\n if (!email || !password || !this.props.location.state?.topic_name) {\r\n this.props.history.push('/login'); // Redirect to login page\r\n return null; // Render nothing\r\n }\r\n\r\n const submit = this.state.submit;\r\n\r\n const currentDate = new Date();\r\n const enrollmentExDate = new Date(payment_exp);\r\n\r\n\r\n return (\r\n
\r\n
{this.props.location.state.topic_name}
\r\n \r\n
\r\n
\r\n {this.state.category.map((item) => (\r\n\r\n
\r\n

ST:{item.topic_name}

\r\n {item.total_q} Questions \r\n {item.max_marks*item.total_q} Marks \r\n {Math.floor(item.time / 60000)} mins\r\n {item.n_marks} Negative Marks\r\n\r\n\r\n {item.pnp == 0 ? (\r\n submit.find(items => items.regid === regid && items.exam_id === item.id) ? (\r\n
\r\n\r\n \r\n \r\n {' '}\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )\r\n ) : (\r\n item.status == 1 ? (\r\n\r\n payment_regid == undefined || regid == payment_regid && currentDate <= enrollmentExDate ? (\r\n\r\n submit.find(items => items.regid === regid && items.exam_id === item.id) ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )\r\n\r\n ) : (\r\n\r\n \r\n \r\n \r\n )\r\n ) : (\r\n \r\n )\r\n )}\r\n



\r\n
\r\n\r\n ))}\r\n
\r\n
\r\n
New Added Test Series
\r\n
\r\n {this.state.message.slice(0, 5).map((item) => (\r\n
\r\n

{item.name}

\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n\r\n\r\n}\r\nexport default HOC(Myseries);","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport { Link } from 'react-router-dom';\r\nimport { FaAngular, FaSignOutAlt } from \"react-icons/fa\";\r\nimport { Navbar, Nav, Card, Title, Text } from 'react-bootstrap';\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\r\nimport apiUrl from './base_url';\r\nimport logo from './img/erwatodaylogo.png';\r\n\r\nclass Payment extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n\r\n discount: 0,\r\n isDiscounted: false,\r\n \r\n payment: [],\r\n email: \"\",\r\n regid: '',\r\n phone: \"\",\r\n key:\"rzp_live_AQkJ7i0IS8F2nj\",\r\n // key: \"rzp_test_OltsY1ZXXmB8WZ\",\r\n checked: false, // New state variable\r\n };\r\n\r\n }\r\n\r\n\r\n componentDidMount() {\r\n\r\n\r\n axios.get(apiUrl+`serverside/payment.php`)\r\n .then(response => {\r\n console.log(response.data);\r\n this.setState({ payment: response.data });\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n\r\n\r\n const script = document.createElement('script');\r\n script.src = 'https://checkout.razorpay.com/v1/checkout.js';\r\n script.async = true;\r\n script.onload = () => {\r\n console.log('Razorpay library loaded');\r\n };\r\n document.body.appendChild(script);\r\n }\r\n\r\n\r\n handleCheckboxToggle = () => {\r\n this.setState({ checked: !this.state.checked });\r\n };\r\n\r\n\r\n handlePayment = () => {\r\n const { payment, key, checked, discount, isDiscounted } = this.state;\r\n const email = localStorage.getItem('email');\r\n const regid = localStorage.getItem('regid');\r\n \r\n if (!checked) {\r\n alert(\"Please check the Payment Privacy and Policy checkbox.\");\r\n return;\r\n }\r\n \r\n // Calculate total payment amount\r\n const amount = payment.reduce((acc, item) => acc + item.amount, 0);\r\n \r\n const options = {\r\n key: key,\r\n amount: isDiscounted ? Math.round((amount - (amount * discount) / 100) * 100) : Math.round(amount * 100),\r\n email: email,\r\n regid: regid,\r\n currency: \"INR\",\r\n name: \"ErwaToday\",\r\n image: logo,\r\n description: \"Erwatoday\",\r\n handler: function (response) {\r\n const data = {\r\n payment_id: response.razorpay_payment_id,\r\n amount: amount,\r\n email: email,\r\n regid: regid,\r\n };\r\n axios.post(apiUrl+'serverside/user_payment.php', data)\r\n .then((response) => {\r\n console.log(response.data);\r\n alert(response.data);\r\n this.props.history.push('/dashboard');\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }.bind(this),\r\n prefill: {\r\n email: email,\r\n regid: regid,\r\n },\r\n };\r\n const rzp1 = new window.Razorpay(options);\r\n rzp1.open();\r\n };\r\n \r\n\r\n\r\n\r\n render() {\r\n const email = localStorage.getItem('email');\r\n const password = localStorage.getItem('password');\r\n const regid = localStorage.getItem('regid');\r\n // alert(regid);\r\n if (!email || !regid) {\r\n this.props.history.push('/login'); // Redirect to login page\r\n return null; // Render nothing\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
Payment Privacy and Policy
\r\n\r\n {this.state.payment.map((item) => (\r\n
\r\n
{ReactHtmlParser(item.des)}
\r\n
\r\n ))}\r\n\r\n
\r\n

\r\n
\r\n {this.state.payment.map((item) => (\r\n
\r\n
\r\n
\r\n Total Paid Amount :{\" \"}\r\n {ReactHtmlParser(\r\n this.state.isDiscounted\r\n ? `₹${item.amount - (item.amount * this.state.discount) / 100}`\r\n : `₹${item.amount}`\r\n )}\r\n
\r\n\r\n

Validity : {ReactHtmlParser(item.validity)} from date of payment !

\r\n {' '}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n

Please read the Payment Privacy and Policy carefully before proceeding with the payment.

\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n}\r\nexport default HOC(Payment);","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport { Link } from 'react-router-dom';\r\nimport { FaAngular, FaSignOutAlt, FaUserCircle } from \"react-icons/fa\";\r\nimport { Navbar, Nav, Card, Title, Text,Well } from 'react-bootstrap';\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\r\nimport apiUrl from './base_url';\r\n\r\nimport '../components/cssfile/header.css';\r\nimport '../components/cssfile/home.css';\r\nimport '../components/cssfile/instruction.css';\r\nimport '../components/cssfile/footer.css';\r\nimport '../components/cssfile/admin.css';\r\nimport '../components/cssfile/card.css';\r\nimport '../components/cssfile/ca.css';\r\nimport '../components/cssfile/sidebar.css';\r\nimport '../components/cssfile/dashboard.css';\r\n\r\nclass Instruction extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n instruction: [],\r\n language: '', // new state variable for selected language\r\n }\r\n this.handleLanguageChange = this.handleLanguageChange.bind(this); // bind the handler function to this component\r\n this.handleNext = this.handleNext.bind(this); // bind the handler function to this component\r\n }\r\n\r\n handleLanguageChange(event) { // handler function to update selected language\r\n this.setState({ language: event.target.value });\r\n }\r\n\r\n handleNext() { // handler function for \"Next\" button\r\n // add your code here to handle navigation to the next page\r\n }\r\n\r\n componentDidMount() {\r\n const test_id = localStorage.getItem('test_id');\r\n const param4 = test_id;\r\n axios.get(apiUrl+`serverside/instruction.php?test_id=${param4}`)\r\n .then(response => {\r\n console.log(response.data);\r\n this.setState({ instruction: response.data, isLoading: false });\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n\r\n render() {\r\n\r\n const email = localStorage.getItem('email');\r\n const password = localStorage.getItem('password');\r\n const regid = localStorage.getItem('regid');\r\n const test_id = localStorage.getItem('test_id');\r\n\r\n const exam_id1 = this.props.location.state.id;\r\n const exam_id = localStorage.setItem('exam_id', exam_id1);\r\n // alert(regid);\r\n if (!email || !regid) {\r\n this.props.history.push('/login'); // Redirect to login page\r\n return null; // Render nothing\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

ErwaToday

\r\n
\r\n
\r\n \r\n
\r\n
\r\n {this.state.instruction.map((item) => (\r\n
\r\n {/* Language Selector */}\r\n
\r\n \r\n \r\n
\r\n\r\n {/* Topic Title */}\r\n
\r\n {this.props.location.state.topic_name} | {item.topic_name}\r\n
\r\n\r\n {/* Topic Description */}\r\n
\r\n {ReactHtmlParser(item.des)}\r\n
\r\n\r\n {/* Language Warning */}\r\n {!this.state.language && (\r\n
\r\n

Please select a language before starting the test!

\r\n
\r\n )}\r\n\r\n {/* Start Test Button */}\r\n {this.state.language && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
{email}
\r\n

ID: {regid}

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Instruction;","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport moment from 'moment';\r\nimport apiUrl from './base_url';\r\n\r\n\r\nimport '../components/cssfile/dashboard.css';\r\nimport '../components/cssfile/Question_plate.css';\r\n\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\r\nimport { Link } from 'react-router-dom';\r\nimport { FaAngular, FaSignOutAlt, FaUserCircle, FaBars, FaCheck } from \"react-icons/fa\";\r\nimport { Container, Row, Col, Button, ListGroup, ListGroupItem } from 'react-bootstrap';\r\nimport Modal from 'react-bootstrap/Modal';\r\n\r\nclass Edashboard extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n values: [true,], fullscreen: true, show: false, isFullScreen: false, showSidePanel: false,\r\n timeLeft: null,\r\n currentQuestionNumber: 0,\r\n\r\n exam_id: '',\r\n instruction: [],\r\n dcategory: [],\r\n\r\n time_back: [],\r\n markedbackup: [],\r\n savedbackup: [],\r\n visitedbackup: [],\r\n\r\n totalSavedQuestions: 0,\r\n\r\n section: [],\r\n question: [],\r\n\r\n currentQuestionIndex: null,\r\n answer: '',\r\n currentSection: null,\r\n\r\n };\r\n this.toggleSidebar = this.toggleSidebar.bind(this);\r\n }\r\n ///////////////////This part for toggle system///////////////////////////////////\r\n handleFullScreenToggle = () => {\r\n if (document.fullscreenElement) {\r\n document.exitFullscreen();\r\n this.setState({ isFullScreen: false });\r\n } else {\r\n document.documentElement.requestFullscreen();\r\n this.setState({ isFullScreen: true });\r\n }\r\n };\r\n\r\n toggleSidebar() {\r\n this.setState({ showSidebar: !this.state.showSidebar });\r\n }\r\n\r\n handleShow = (breakpoint) => {\r\n this.setState({\r\n fullscreen: breakpoint,\r\n show: true\r\n });\r\n }\r\n\r\n ///////////////This part for data loading/////////////////////////////////\r\n\r\n componentDidMount() {\r\n\r\n\r\n\r\n this.loadQuestion(this.state.currentQuestionIndex);\r\n ///////////this is for section and question part ///////////\r\n const exam_id = localStorage.getItem('exam_id');\r\n const param = exam_id;\r\n axios.get(apiUrl+`serverside/getsection.php?exam_id=${param}`)\r\n .then(response => {\r\n // console.log(response.data);\r\n this.setState({ section: response.data });\r\n // const firstSectionId = response.data[1].sec_id; // Get the id of the first section\r\n // this.loadAllQuestions(); // Call the handleClick method with the first section id\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n\r\n const param5 = exam_id;\r\n axios\r\n .get(apiUrl+`serverside/dashboard_category.php?exam_id=${param5}`)\r\n .then((response) => {\r\n this.setState({ dcategory: response.data });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n const regid = localStorage.getItem('regid');\r\n let totalTime, startTime;\r\n\r\n // Fetch backup_time from time_backup API\r\n axios\r\n .get(apiUrl+`serverside/time_backup.php?exam_id=${param5}®id=${regid}`)\r\n .then((response) => {\r\n const backup_time = response.data[0].last_time;\r\n // alert(backup_time);\r\n if (backup_time) {\r\n // If backup_time is available, use it instead of real-time\r\n totalTime = moment.duration(backup_time).asMilliseconds();\r\n startTime =\r\n Date.now() -\r\n moment.duration(this.state.time_back.last_time).asMilliseconds();\r\n const time_back = response.data;\r\n this.setState({ time_back });\r\n\r\n } else {\r\n // If backup_time is not available, use real-time\r\n axios\r\n .get(apiUrl+`serverside/dashboard_category.php?exam_id=${param5}`)\r\n .then((response) => {\r\n const dcategory = response.data;\r\n const examTime = dcategory[0].time;\r\n totalTime = moment.duration(examTime).asMilliseconds();\r\n startTime = Date.now();\r\n this.setState({ dcategory });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n this.interval = setInterval(() => {\r\n const timeLeft = totalTime - (Date.now() - startTime);\r\n if (timeLeft <= 0) {\r\n clearInterval(this.interval);\r\n this.setState({ timeLeft: 'Time Up!' });\r\n this.submitup(timeLeft);\r\n } else {\r\n const formattedTimeLeft = moment.utc(timeLeft).format('HH:mm:ss');\r\n this.setState({ timeLeft: formattedTimeLeft });\r\n }\r\n }, 1000);\r\n\r\n // Send data to server every 20 seconds\r\n setInterval(() => {\r\n const regid = localStorage.getItem('regid');\r\n const email = localStorage.getItem('email');\r\n\r\n const dcategory = this.state.dcategory;\r\n const time_back = this.state.time_back;\r\n\r\n let topic_name;\r\n if (dcategory && dcategory.length > 0 && dcategory[0].topic_name) {\r\n topic_name = dcategory[0].topic_name;\r\n } else if (time_back && time_back.length > 0 && time_back[0].topic_name) {\r\n topic_name = time_back[0].topic_name;\r\n } else {\r\n // Handle the case when neither dcategory nor time_back have a topic_name\r\n }\r\n const last_time1 = this.state.timeLeft;\r\n const [hours, minutes, seconds] = last_time1.split(':');\r\n const last_time = ((parseInt(hours) * 60 * 60) + (parseInt(minutes) * 60) + parseInt(seconds)) * 1000;\r\n\r\n axios\r\n .post(apiUrl+'serverside/tempexam.php', {\r\n email,\r\n regid,\r\n exam_id,\r\n last_time,\r\n topic_name,\r\n })\r\n .then((response) => {\r\n console.log(response);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, 40000);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n // Clear interval to prevent memory leaks\r\n clearInterval(this.interval);\r\n localStorage.removeItem('exam_id');\r\n // localStorage.removeItem('secl_id');\r\n }\r\n\r\n\r\n loadQuestion = (index) => {\r\n const regid1 = localStorage.getItem('regid');\r\n const exam_id1 = localStorage.getItem('exam_id');\r\n axios\r\n .get(apiUrl+`serverside/marked_backup.php?exam_id=${exam_id1}®id=${regid1}`)\r\n .then((response) => {\r\n // console.log(response.data)\r\n this.setState({ markedbackup: response.data });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n\r\n axios\r\n .get(apiUrl+`serverside/save_backup.php?exam_id=${exam_id1}®id=${regid1}`)\r\n .then((response) => {\r\n console.log(response.data)\r\n this.setState({ savedbackup: response.data });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n axios\r\n .get(apiUrl+`serverside/visited_backup.php?exam_id=${exam_id1}®id=${regid1}`)\r\n .then((response) => {\r\n console.log(response.data)\r\n this.setState({ visitedbackup: response.data });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n const param = localStorage.getItem('secl_id');\r\n // fetch a single question from the server by index\r\n axios\r\n .get(apiUrl+`serverside/getquestion.php?sec_id=${param}&index=${index}`)\r\n .then((response) => {\r\n this.setState({\r\n question: response.data,\r\n currentQuestionIndex: index,\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n\r\n loadAllQuestions = (sec_id, section_name) => {\r\n\r\n const secl_id = localStorage.setItem('secl_id', sec_id);\r\n axios.get(apiUrl+`serverside/getquestion.php?sec_id=${sec_id}`)\r\n .then(response => {\r\n // console.log(response.data);\r\n this.setState({ question: response.data, currentSection: section_name, });\r\n const currentSectionIndex = this.state.section.findIndex(section => section.sec_id === sec_id);\r\n const nextSection = this.state.section[currentSectionIndex + 1];\r\n if (nextSection && response.data.length === 0) {\r\n // If there is a next section and the current section has no questions, load the questions for the next section\r\n this.loadAllQuestions(nextSection.sec_id);\r\n } else {\r\n // Otherwise, the current section has questions, so load the first question\r\n this.loadQuestion(0);\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n deleteResponse(q_id) {\r\n // console.log(q_id);\r\n const regid = localStorage.getItem('regid');\r\n const exam_id = localStorage.getItem('exam_id');\r\n\r\n axios.delete(apiUrl+`serverside/delete_response.php?exam_id=${exam_id}®id=${regid}&q_id=${q_id}`)\r\n .then(response => {\r\n // alert(response);\r\n this.loadQuestion(this.state.currentQuestionIndex);\r\n })\r\n .catch(error => {\r\n })\r\n }\r\n\r\n\r\n handleNextClick() {\r\n\r\n const regid = localStorage.getItem('regid');\r\n const email = localStorage.getItem('email');\r\n const exam_id = localStorage.getItem('exam_id');\r\n const dcategory = this.state.dcategory;\r\n const a_id = dcategory[0].a_id;\r\n const { question, currentQuestionIndex } = this.state;\r\n const currentQuestion = question && question[currentQuestionIndex];\r\n const q_id = currentQuestion.q_id;\r\n\r\n const answerElement = document.querySelector('input[name=\"answer\"]:checked');\r\n let answer = answerElement ? answerElement.value : 0;\r\n\r\n // Prepare the data to send to the server\r\n const data = {\r\n email: email, // Replace with the user's email address\r\n regid: regid, // Replace with the user's registration ID\r\n exam_id: exam_id, // Replace with the ID of the current exam\r\n a_id: a_id, // Replace with the ID of the current attempt\r\n q_id: q_id,\r\n answer: answer,\r\n };\r\n\r\n // Make an API call to the server to save the selected answer\r\n axios.post(apiUrl+'serverside/savequestion.php', data)\r\n .then(response => {\r\n // this.loadQuestion();\r\n console.log(response.data);\r\n if (answerElement) {\r\n answerElement.checked = false;\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n // Make an API call to the server to save the selected answer\r\n axios.post(apiUrl+'serverside/visitedquestion.php', data)\r\n .then(response => {\r\n console.log(response.data);\r\n if (answerElement) {\r\n answerElement.checked = false;\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n const nextIndex = this.state.currentQuestionIndex + 1;\r\n\r\n if (nextIndex < this.state.question.length) {\r\n // if there are more questions, load the next one\r\n this.loadQuestion(nextIndex)\r\n } else {\r\n // if we've reached the end of the questions, disable the Next button\r\n const { currentQuestionIndex, section, currentQuestionNumber } = this.state;\r\n const currentSectionIndex = section.findIndex(sec => sec.sec_id === currentQuestionNumber.sec_id);\r\n // alert(currentSectionIndex);\r\n\r\n if (currentQuestionNumber && currentQuestionNumber.question && currentQuestionIndex < currentQuestionNumber.question.length - 1) {\r\n // if there are more questions in the current section, load the next one\r\n this.loadQuestion(currentQuestionIndex - 1);\r\n } else if (currentSectionIndex < section.length - 1) {\r\n // if we've reached the end of the current section, but there are more sections,\r\n // reload all the questions in the next section and update the currentQuestionNumber state\r\n const nextSection = section[currentSectionIndex + 1];\r\n this.loadAllQuestions(nextSection.sec_id, nextSection.section_name);\r\n this.setState({ currentQuestionNumber: nextSection, currentQuestionIndex: 0 });\r\n } else {\r\n // if we've reached the end of all the questions and sections, reload all the questions from the beginning\r\n this.loadAllQuestions(section[0].sec_id);\r\n this.setState({ currentQuestionNumber: section[0], currentQuestionIndex: 0 });\r\n }\r\n }\r\n }\r\n\r\n\r\n handleChange = (event) => {\r\n this.setState({\r\n [event.target.name]: event.target.value,\r\n });\r\n console.log(this.state);\r\n }\r\n\r\n\r\n handleMarkQuestion() {\r\n // this.loadQuestion(this.state.currentQuestionIndex);\r\n const regid = localStorage.getItem('regid');\r\n const email = localStorage.getItem('email');\r\n const exam_id = localStorage.getItem('exam_id');\r\n const dcategory = this.state.dcategory;\r\n const a_id = dcategory[0].a_id;\r\n const { question, currentQuestionIndex } = this.state;\r\n const currentQuestion = question && question[currentQuestionIndex];\r\n const q_id = currentQuestion.q_id;\r\n\r\n const answerElement = document.querySelector('input[name=\"answer\"]:checked');\r\n let answer = answerElement ? answerElement.value : 0;\r\n\r\n // Prepare the data to send to the server\r\n const data = {\r\n email: email, // Replace with the user's email address\r\n regid: regid, // Replace with the user's registration ID\r\n exam_id: exam_id, // Replace with the ID of the current exam\r\n a_id: a_id, // Replace with the ID of the current attempt\r\n q_id: q_id,\r\n answer: answer,\r\n };\r\n\r\n // Make an API call to the server to save the selected answer\r\n axios.post(apiUrl+'serverside/markquestion.php', data)\r\n .then(response => {\r\n // this.loadQuestion(this.state.currentQuestionIndex);\r\n console.log(response.data);\r\n if (answerElement) {\r\n answerElement.checked = false;\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n axios.post(apiUrl+'serverside/visitedquestion.php', data)\r\n .then(response => {\r\n console.log(response.data);\r\n if (answerElement) {\r\n answerElement.checked = false;\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n const nextIndex = this.state.currentQuestionIndex + 1;\r\n\r\n if (nextIndex < this.state.question.length) {\r\n // if there are more questions, load the next one\r\n this.loadQuestion(nextIndex)\r\n } else {\r\n // if we've reached the end of the questions, disable the Next button\r\n const { currentQuestionIndex, section, currentQuestionNumber } = this.state;\r\n const currentSectionIndex = section.findIndex(sec => sec.sec_id === currentQuestionNumber.sec_id);\r\n // alert(currentSectionIndex);\r\n\r\n if (currentQuestionNumber && currentQuestionNumber.question && currentQuestionIndex < currentQuestionNumber.question.length - 1) {\r\n // if there are more questions in the current section, load the next one\r\n this.loadQuestion(currentQuestionIndex - 1);\r\n } else if (currentSectionIndex < section.length - 1) {\r\n // if we've reached the end of the current section, but there are more sections,\r\n // reload all the questions in the next section and update the currentQuestionNumber state\r\n const nextSection = section[currentSectionIndex + 1];\r\n this.loadAllQuestions(nextSection.sec_id);\r\n this.setState({ currentQuestionNumber: nextSection, currentQuestionIndex: 0 });\r\n } else {\r\n // if we've reached the end of all the questions and sections, reload all the questions from the beginning\r\n this.loadAllQuestions(section[0].sec_id);\r\n this.setState({ currentQuestionNumber: section[0], currentQuestionIndex: 0 });\r\n }\r\n }\r\n }\r\n\r\n\r\n submit = (timeLeft) => {\r\n if (window.confirm('Are you sure you want to submit the test?')) {\r\n const regid = localStorage.getItem('regid');\r\n const email = localStorage.getItem('email');\r\n const exam_id = localStorage.getItem('exam_id');\r\n const dcategory = this.state.dcategory;\r\n const a_id = dcategory[0].a_id;\r\n\r\n const last_time1 = this.state.timeLeft;\r\n const [hours, minutes, seconds] = last_time1.split(':');\r\n const last_time = ((parseInt(hours) * 60 * 60) + (parseInt(minutes) * 60) + parseInt(seconds)) * 1000;\r\n const time_taken = last_time;\r\n\r\n const data = {\r\n email: email, // Replace with the user's email address\r\n regid: regid, // Replace with the user's registration ID\r\n exam_id: exam_id, // Replace with the ID of the current exam\r\n a_id: a_id, // Replace with the ID of the current attempt\r\n time_taken: last_time,\r\n };\r\n\r\n axios.post(apiUrl+'serverside/submittest.php', data)\r\n .then(response => {\r\n // console.log(response.data);\r\n this.props.history.push('/result', { data });\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n\r\n\r\n submitup = (timeLeft) => {\r\n const regid = localStorage.getItem('regid');\r\n const email = localStorage.getItem('email');\r\n const exam_id = localStorage.getItem('exam_id');\r\n const dcategory = this.state.dcategory;\r\n const a_id = dcategory[0].a_id;\r\n\r\n const last_time1 = this.state.timeLeft;\r\n const [hours, minutes, seconds] = last_time1.split(':');\r\n const last_time = ((parseInt(hours) * 60 * 60) + (parseInt(minutes) * 60) + parseInt(seconds)) * 1000;\r\n const time_taken = last_time;\r\n\r\n const data = {\r\n email: email, // Replace with the user's email address\r\n regid: regid, // Replace with the user's registration ID\r\n exam_id: exam_id, // Replace with the ID of the current exam\r\n a_id: a_id, // Replace with the ID of the current attempt\r\n time_taken: last_time,\r\n };\r\n\r\n\r\n // If last_time is less than 3 seconds, submit the test automatically without confirmation\r\n axios.post(apiUrl+'serverside/submittest.php', data)\r\n .then(response => {\r\n // console.log(response.data);\r\n this.props.history.push('/result', { data });\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n render() {\r\n const { values, show, fullscreen } = this.state;\r\n const { isFullScreen } = this.state;\r\n const { timeLeft } = this.state;\r\n const { section } = this.state;\r\n\r\n const { question, currentQuestionIndex } = this.state;\r\n const currentQuestion = question && question[currentQuestionIndex];\r\n\r\n const email = localStorage.getItem('email');\r\n const regid = localStorage.getItem('regid');\r\n\r\n // alert(regid);\r\n if (!email || !regid) {\r\n this.props.history.push('/login'); // Redirect to login page\r\n return null; // Render nothing\r\n }\r\n\r\n const totalSavedQuestions = Array.isArray(this.state.savedbackup) ? this.state.savedbackup.length : 0;\r\n const totalMarkedQuestions = Array.isArray(this.state.markedbackup) ? this.state.markedbackup.length : 0;\r\n const totalVisitedQuestions = Array.isArray(this.state.visitedbackup) ? this.state.visitedbackup.length : 0;\r\n\r\n const handleCopy = (e) => {\r\n e.preventDefault();\r\n alert('Copying text is not allowed on this page.');\r\n };\r\n\r\n\r\n return (\r\n\r\n\r\n\r\n \r\n
\r\n {this.state.dcategory.map((item) => (

ErwaToday {item.topic_name}

))}\r\n \r\n \r\n {timeLeft && (\r\n \r\n Time Left {timeLeft}\r\n \r\n )}\r\n \r\n\r\n \r\n {this.state.isFullScreen ? 'Exit Full Screen' : 'Full Screen'}\r\n \r\n\r\n \r\n \r\n Pause\r\n \r\n \r\n\r\n \r\n {values.map((v, idx) => (\r\n this.handleShow(v)}\r\n style={{ height: '35px' }}\r\n >\r\n \r\n {typeof v === 'string' && `below ${v.split('-')[0]}`}\r\n \r\n ))}\r\n \r\n
\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n
\r\n Section | {Array.isArray(section) && section.map((item) => (\r\n
\r\n this.loadAllQuestions(item.sec_id, item.section_name)} id=\"section_bar\" >\r\n {item.section_name}\r\n \r\n
\r\n ))}\r\n\r\n
\r\n View In:\r\n \r\n \r\n
\r\n
\r\n {currentQuestion ? (\r\n
\r\n

Question No.{currentQuestionIndex + 1}{' '}\r\n {ReactHtmlParser(currentQuestion.year)}\r\n

\r\n

{ReactHtmlParser(currentQuestion.question)}

\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n {/* button design */}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n ) : (\r\n
Click on Any Section ,

to start the test & show questions !!
\r\n )}\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n {email}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Section: {this.state.currentSection}\r\n
\r\n
\r\n
\r\n {Array.isArray(this.state.question) && this.state.question.map((item, index) => {\r\n const isMarked = Array.isArray(this.state.markedbackup) && this.state.markedbackup.some((markedItem) => markedItem.q_id.toString() === item.q_id.toString());\r\n const isSaved = Array.isArray(this.state.savedbackup) && this.state.savedbackup.some((savedItem) => savedItem.q_id.toString() === item.q_id.toString());\r\n const isVisited = Array.isArray(this.state.visitedbackup) && this.state.visitedbackup.some((visitedItem) => visitedItem.q_id.toString() === item.q_id.toString());\r\n return (\r\n this.loadQuestion(index)}\r\n style={{\r\n backgroundColor: isSaved ? 'green' : isMarked ? 'blue' : isVisited ? 'red' : 'white',\r\n color: isVisited || isMarked || isSaved ? '#ffffff' : '#000000',\r\n border: '1px solid #dee2e6',\r\n borderRadius: '50%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n width: '40px',\r\n height: '40px',\r\n margin: '5px',\r\n cursor: 'pointer',\r\n fontSize: '14px',\r\n fontWeight: 'bold',\r\n }}\r\n >\r\n {index + 1}\r\n \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n\r\n {show && (\r\n \r\n this.setState({ show: false })}\r\n centered\r\n dialogClassName=\"custom-modal\"\r\n >\r\n \r\n ErwaToday\r\n \r\n \r\n
\r\n \r\n {email}\r\n
\r\n
\r\n
\r\n
\r\n {Array.isArray(this.state.question) &&\r\n this.state.question.map((item, index) => {\r\n const isMarked = Array.isArray(this.state.markedbackup) && this.state.markedbackup.some((markedItem) => markedItem.q_id.toString() === item.q_id.toString());\r\n const isSaved = Array.isArray(this.state.savedbackup) && this.state.savedbackup.some((savedItem) => savedItem.q_id.toString() === item.q_id.toString());\r\n const isVisited = Array.isArray(this.state.visitedbackup) && this.state.visitedbackup.some((visitedItem) => visitedItem.q_id.toString() === item.q_id.toString());\r\n return (\r\n
\r\n this.loadQuestion(index)}\r\n >\r\n {index + 1}\r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n )}\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Edashboard;","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport { Link } from 'react-router-dom';\r\nimport { FaAngular, FaSignOutAlt, FaUserCircle } from \"react-icons/fa\";\r\nimport { Navbar, Nav, Card, Title, Text } from 'react-bootstrap';\r\nimport apiUrl from './base_url';\r\n\r\nexport default class Practice extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isFullScreen: false\r\n };\r\n }\r\n \r\n handleFullScreenToggle = () => {\r\n const element = document.documentElement;\r\n if (document.fullscreenElement) {\r\n document.exitFullscreen();\r\n this.setState({ isFullScreen: false });\r\n } else if (element.requestFullscreen) {\r\n element.requestFullscreen().then(() => {\r\n this.setState({ isFullScreen: true });\r\n }).catch((err) => {\r\n console.error(err);\r\n });\r\n } else if (element.webkitRequestFullscreen) {\r\n element.webkitRequestFullscreen().then(() => {\r\n this.setState({ isFullScreen: true });\r\n }).catch((err) => {\r\n console.error(err);\r\n });\r\n } else if (element.msRequestFullscreen) {\r\n element.msRequestFullscreen().then(() => {\r\n this.setState({ isFullScreen: true });\r\n }).catch((err) => {\r\n console.error(err);\r\n });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n this.handleFullScreenToggle();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport apiUrl from './base_url';\r\n\r\nclass Tempexam extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n currentQuestionIndex: 0,\r\n sectionId: 6, // assume sectionId is passed in as a prop\r\n question: [], // array to hold all the questions\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // load the first question when component mounts\r\n this.loadQuestion(this.state.currentQuestionIndex);\r\n }\r\n\r\n loadQuestion(index) {\r\n // fetch a single question from the server by index\r\n axios\r\n .get(apiUrl+`serverside/getquestion.php?sec_id=${this.state.sectionId}&index=${index}`)\r\n .then((response) => {\r\n this.setState({\r\n question: response.data,\r\n currentQuestionIndex: index,\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n loadAllQuestions() {\r\n // fetch all questions from the server\r\n axios\r\n .get(apiUrl+`serverside/getquestion.php?sec_id=${this.state.sectionId}`)\r\n .then((response) => {\r\n console.log(response.data)\r\n this.setState({\r\n question: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n handleNextClick() {\r\n const nextIndex = this.state.currentQuestionIndex + 1;\r\n if (nextIndex < this.state.question.length) {\r\n // if there are more questions, load the next one\r\n this.loadQuestion(nextIndex);\r\n } else {\r\n // if we've reached the end of the questions, disable the Next button\r\n this.setState({ currentQuestionIndex: nextIndex });\r\n }\r\n }\r\n \r\n\r\n render() {\r\n const { question, currentQuestionIndex } = this.state;\r\n const currentQuestion = question && question[currentQuestionIndex];\r\n \r\n return (\r\n
\r\n {currentQuestion ? (\r\n
\r\n

Question No.{currentQuestion.q_id}

\r\n

{currentQuestion.question}

\r\n \r\n
\r\n ) : (\r\n
No more questions
\r\n )}\r\n
\r\n );\r\n }\r\n} \r\nexport default Tempexam;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport apiUrl from './base_url';\r\n\r\nexport default class Questiond extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n question:[],\r\n sec_id:'',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const sec_id = this.props.sec_id;\r\n const param = sec_id;\r\n axios.get(apiUrl+`serverside/getquestion.php?sec_id=${param}`)\r\n .then(response => {\r\n console.log(response.data);\r\n this.setState({ question: response.data });\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n }\r\n \r\n render() {\r\n return (\r\n
\r\n {Array.isArray(this.state.question) && this.state.question.map((item)=>(\r\n
{item.question}
\r\n ))}\r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport Questiond from './getquestiond';\r\nimport { Link } from 'react-router-dom';\r\nimport { FaAngular, FaSignOutAlt, FaUserCircle, FaBars } from \"react-icons/fa\";\r\nimport { Container, Row, Col, Button } from 'react-bootstrap';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport apiUrl from './base_url';\r\n\r\nexport default class Section extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n values: [true,], fullscreen: true, show: false, isFullScreen: false,\r\n timeLeft: null,\r\n\r\n question: [],\r\n section: [],\r\n exam_id: '',\r\n \r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const exam_id = this.props.exam_id;\r\n const param = exam_id;\r\n axios.get(apiUrl+`serverside/getsection.php?exam_id=${param}`)\r\n .then(response => {\r\n console.log(response.data);\r\n this.setState({ section: response.data });\r\n const firstSectionId = response.data[0].sec_id; // Get the id of the first section\r\n this.handleClick(firstSectionId); // Call the handleClick method with the first section id\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n }\r\n \r\n\r\n handleClick = (sec_id) => {\r\n alert('hello');\r\n const param = sec_id;\r\n axios.get(apiUrl+`serverside/getquestion.php?sec_id=${param}`)\r\n .then(response => {\r\n console.log(response.data);\r\n this.setState({\r\n question: response.data,\r\n });\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n render() {\r\n const { section} = this.state;\r\n\r\n return (\r\n
\r\n\r\n \r\n Section | {section.map((item) => (\r\n
\r\n this.handleClick(item.sec_id)}\r\n >\r\n {item.section_name}{item.sec_id}\r\n \r\n
\r\n ))}\r\n \r\n
\r\n \r\n\r\n {Array.isArray(this.state.question) && this.state.question.map((item)=>(\r\n
{item.question}
\r\n ))}\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport {\r\n PieChart, Pie, Cell, Tooltip, Legend\r\n} from 'recharts';\r\nimport apiUrl from './base_url';\r\nimport '../components/cssfile/result.css';\r\nimport HOC from './HOC';\r\n\r\nimport { FaAngular, FaSignOutAlt, FaAward, FaTrophy, FaFileAlt, FaUsers, FaUserCircle, } from \"react-icons/fa\";\r\nimport { FcStatistics } from \"react-icons/fc\";\r\n\r\nclass Result extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n analysis: [],\r\n rank: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const regid1 = this.props.location.state?.regid || this.props.location.state?.data?.regid;\r\n const exam_id1 = this.props.location.state?.id || this.props.location.state?.data?.exam_id;\r\n\r\n if (regid1 && exam_id1) {\r\n axios\r\n .get(`${apiUrl}serverside/analysis.php?exam_id=${exam_id1}®id=${regid1}`)\r\n .then((response) => this.setState({ analysis: response.data }))\r\n .catch((error) => console.error(\"Analysis API Error:\", error));\r\n\r\n axios\r\n .get(`${apiUrl}serverside/rank.php?exam_id=${exam_id1}®id=${regid1}`)\r\n .then((response) => this.setState({ rank: response.data }))\r\n .catch((error) => console.error(\"Rank API Error:\", error));\r\n } else {\r\n console.error(\"Missing regid or exam_id.\");\r\n }\r\n }\r\n\r\n renderPieChart(title, value, total) {\r\n const data = [\r\n { name: 'Achieved By You', value },\r\n { name: 'Remaining out of Total', value: total - value },\r\n ];\r\n\r\n const COLORS = ['#0088FE', '#FFBB28'];\r\n\r\n return (\r\n
\r\n
{title}
\r\n \r\n \r\n {data.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { analysis, rank } = this.state;\r\n\r\n // Extracting values for Pie Charts\r\n const totalStudents = rank.length > 0 ? rank[0].total_students : 1;\r\n const rankObtained = rank.length > 0 ? rank[0].rank : 0;\r\n\r\n const totalScore = analysis.length > 0 ? analysis[0].total_score : 1;\r\n const scoreObtained = analysis.length > 0 ? analysis[0].total_score_obtained : 0;\r\n\r\n const totalQuestions = analysis.length > 0 ? analysis[0].total_q : 1;\r\n const attemptedQuestions = analysis.length > 0 ? analysis[0].total_qid : 0;\r\n\r\n const percentile = rank.length > 0 ? rank[0].percentile : 0;\r\n\r\n const accuracy = analysis.length > 0 ? analysis[0].accuracy : 0;\r\n\r\n const correctAnswers = analysis.length > 0 ? analysis[0].total_correct : 0;\r\n const incorrectAnswers = analysis.length > 0 ? analysis[0].total_incorrect : 0;\r\n\r\n const totalTime = analysis.length > 0 ? Math.floor(analysis[0].time / 60000) : 1;\r\n const timeTaken = analysis.length > 0 ? Math.floor((analysis[0].time - analysis[0].time_taken) / 60000) : 0;\r\n const time_taken1 = this.state.analysis.length > 0 ? this.state.analysis[0].time - this.state.analysis[0].time_taken : 0;\r\n\r\n return (\r\n
\r\n

Overall Performance Summary

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {Array.isArray(this.state.rank) && this.state.rank.map((item) => (\r\n
{item.rank}/{item.total_students}
\r\n ))}\r\n \r\n

Rank

\r\n
\r\n
\r\n \r\n {Array.isArray(this.state.analysis) && this.state.analysis.map((item) => (\r\n
{item.total_score_obtained}/{item.total_score}
\r\n ))}\r\n

Score

\r\n
\r\n
\r\n \r\n {Array.isArray(this.state.analysis) && this.state.analysis.map((item) => (\r\n
{item.total_qid}/{item.total_q}
\r\n ))}\r\n

Attempted

\r\n
\r\n
\r\n \r\n {Array.isArray(this.state.rank) && this.state.rank.map((item) => (\r\n
{item.percentile.toFixed(2)}%
\r\n ))}\r\n

Percentile

\r\n
\r\n
\r\n \r\n {Array.isArray(this.state.analysis) && this.state.analysis.map((item) => (\r\n
{item.accuracy.toFixed(2)}%
\r\n ))}\r\n \r\n

Accuracy

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {Array.isArray(this.state.analysis) && this.state.analysis.map((item) => (\r\n
{item.total_correct}/{item.total_q}
\r\n ))}\r\n

Correct

\r\n
\r\n
\r\n \r\n {Array.isArray(this.state.analysis) && this.state.analysis.map((item) => (\r\n
{item.total_incorrect}/{item.total_q}
\r\n ))}\r\n

Incorrect

\r\n
\r\n
\r\n \r\n {Array.isArray(this.state.analysis) && this.state.analysis.map((item) => (\r\n
({Math.floor(time_taken1 / 60000)} /{Math.floor(item.time / 60000)})mins
\r\n ))}\r\n

Time Taken

\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n {this.renderPieChart('Rank', rankObtained, totalStudents)}\r\n {this.renderPieChart('Score', scoreObtained, totalScore)}\r\n {this.renderPieChart('Attempted Questions', attemptedQuestions, totalQuestions)}\r\n {this.renderPieChart('Percentile', percentile, 100)}\r\n {this.renderPieChart('Accuracy', accuracy, 100)}\r\n {this.renderPieChart('Correct Answers', correctAnswers, totalQuestions)}\r\n {this.renderPieChart('Incorrect Answers', incorrectAnswers, totalQuestions)}\r\n {this.renderPieChart('Time Taken (minutes)', timeTaken, totalTime)}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default HOC(Result);\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport HOC from './HOC';\r\nimport moment from 'moment';\r\nimport apiUrl from './base_url';\r\n\r\n\r\nimport '../components/cssfile/dashboard.css';\r\nimport'../components/cssfile/solution.css';\r\n\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\r\nimport { Link } from 'react-router-dom';\r\nimport { FaAngular, FaSignOutAlt, FaUserCircle, FaBars, FaCheck } from \"react-icons/fa\";\r\nimport { Container, Row, Col, Button, ListGroup, ListGroupItem } from 'react-bootstrap';\r\nimport Modal from 'react-bootstrap/Modal';\r\n\r\nclass Solution extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n\r\n \r\n\r\n values: [true,], fullscreen: true, show: false, isFullScreen: false, showSidePanel: false,\r\n timeLeft: null,\r\n currentQuestionNumber: 0,\r\n\r\n exam_id: '',\r\n instruction: [],\r\n dcategory: [],\r\n\r\n time_back: [],\r\n markedbackup: [],\r\n savedbackup: [],\r\n visitedbackup: [],\r\n\r\n totalSavedQuestions: 0,\r\n\r\n section: [],\r\n question: [],\r\n\r\n currentQuestionIndex: null,\r\n answer: '',\r\n currentSection: null,\r\n\r\n showAnswer: false,\r\n \r\n\r\n };\r\n this.toggleSidebar = this.toggleSidebar.bind(this);\r\n\r\n }\r\n ///////////////////This part for toggle system///////////////////////////////////\r\n handleFullScreenToggle = () => {\r\n if (document.fullscreenElement) {\r\n document.exitFullscreen();\r\n this.setState({ isFullScreen: false });\r\n } else {\r\n document.documentElement.requestFullscreen();\r\n this.setState({ isFullScreen: true });\r\n }\r\n };\r\n\r\n toggleSidebar() {\r\n this.setState({ showSidebar: !this.state.showSidebar });\r\n }\r\n\r\n handleShow = (breakpoint) => {\r\n this.setState({\r\n fullscreen: breakpoint,\r\n show: true\r\n });\r\n }\r\n\r\n ///////////////This part for data loading/////////////////////////////////\r\n\r\n componentDidMount() {\r\n ///////////this is for section and question part ///////////\r\n const exam_id = this.props.location.state?.exam_id || localStorage.getItem('exam_id1');\r\n if (!exam_id) {\r\n // handle the error here\r\n console.error('exam_id is not defined');\r\n return;\r\n }\r\n \r\n localStorage.setItem('exam_id1', exam_id);\r\n \r\n this.loadQuestion(this.state.currentQuestionIndex, exam_id);\r\n \r\n const param = exam_id;\r\n axios.get(apiUrl+`serverside/getsection.php?exam_id=${param}`)\r\n .then(response => {\r\n this.setState({ section: response.data });\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n \r\n const param5 = exam_id;\r\n axios\r\n .get(apiUrl+`serverside/dashboard_category.php?exam_id=${param5}`)\r\n .then((response) => {\r\n this.setState({ dcategory: response.data });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n const regid = localStorage.getItem('regid');\r\n let totalTime, startTime;\r\n }\r\n \r\n \r\n loadQuestion = (index) => {\r\n const regid1 = localStorage.getItem('regid');\r\n const exam_id1 = localStorage.getItem('exam_id1');\r\n axios\r\n .get(apiUrl+`serverside/marked_backup.php?exam_id=${exam_id1}®id=${regid1}`)\r\n .then((response) => {\r\n // console.log(response.data)\r\n this.setState({ markedbackup: response.data });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n\r\n axios.get(apiUrl + 'serverside/save_backup.php?exam_id=' + exam_id1 + '®id=' + regid1)\r\n .then((response) => {\r\n if (Array.isArray(response.data)) {\r\n this.setState({ savedbackup: response.data });\r\n } else {\r\n console.error('Unexpected data format for savedbackup:', response.data);\r\n this.setState({ savedbackup: [] }); // Fallback to empty array\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n this.setState({ savedbackup: [] }); // Fallback to empty array in case of error\r\n });\r\n \r\n\r\n axios\r\n .get(apiUrl+`serverside/visited_backup.php?exam_id=${exam_id1}®id=${regid1}`)\r\n .then((response) => {\r\n console.log(response.data)\r\n this.setState({ visitedbackup: response.data });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n\r\n\r\n const param = localStorage.getItem('secl_id');\r\n // fetch a single question from the server by index\r\n axios\r\n .get(apiUrl+`serverside/getquestion.php?sec_id=${param}&index=${index}`)\r\n .then((response) => {\r\n this.setState({\r\n question: response.data,\r\n currentQuestionIndex: index,\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n\r\n\r\n loadAllQuestions = (sec_id, section_name) => {\r\n\r\n const secl_id = localStorage.setItem('secl_id', sec_id);\r\n axios.get(apiUrl+`serverside/getquestion.php?sec_id=${sec_id}`)\r\n .then(response => {\r\n // console.log(response.data);\r\n this.setState({ question: response.data, currentSection: section_name, });\r\n const currentSectionIndex = this.state.section.findIndex(section => section.sec_id === sec_id);\r\n const nextSection = this.state.section[currentSectionIndex + 1];\r\n if (nextSection && response.data.length === 0) {\r\n // If there is a next section and the current section has no questions, load the questions for the next section\r\n this.loadAllQuestions(nextSection.sec_id);\r\n } else {\r\n // Otherwise, the current section has questions, so load the first question\r\n this.loadQuestion(0);\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n handleNextClick() {\r\n\r\n const regid = localStorage.getItem('regid');\r\n const email = localStorage.getItem('email');\r\n const exam_id = localStorage.getItem('exam_id');\r\n const dcategory = this.state.dcategory;\r\n const a_id = dcategory[0].a_id;\r\n const { question, currentQuestionIndex } = this.state;\r\n const currentQuestion = question && question[currentQuestionIndex];\r\n const q_id = currentQuestion.q_id;\r\n\r\n const answerElement = document.querySelector('input[name=\"answer\"]:checked');\r\n let answer = answerElement ? answerElement.value : 0;\r\n\r\n // Prepare the data to send to the server\r\n const data = {\r\n email: email, // Replace with the user's email address\r\n regid: regid, // Replace with the user's registration ID\r\n exam_id: exam_id, // Replace with the ID of the current exam\r\n a_id: a_id, // Replace with the ID of the current attempt\r\n q_id: q_id,\r\n answer: answer,\r\n };\r\n\r\n // Make an API call to the server to save the selected answer\r\n axios.post(apiUrl+'serverside/savequestion.php', data)\r\n .then(response => {\r\n console.log(response.data);\r\n if (answerElement) {\r\n answerElement.checked = false;\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n\r\n // Make an API call to the server to save the selected answer\r\n axios.post(apiUrl+'serverside/visitedquestion.php', data)\r\n .then(response => {\r\n console.log(response.data);\r\n if (answerElement) {\r\n answerElement.checked = false;\r\n }\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n\r\n const nextIndex = this.state.currentQuestionIndex + 1;\r\n\r\n if (nextIndex < this.state.question.length) {\r\n // if there are more questions, load the next one\r\n this.loadQuestion(nextIndex)\r\n } else {\r\n // if we've reached the end of the questions, disable the Next button\r\n const { currentQuestionIndex, section, currentQuestionNumber } = this.state;\r\n const currentSectionIndex = section.findIndex(sec => sec.sec_id === currentQuestionNumber.sec_id);\r\n // alert(currentSectionIndex);\r\n\r\n if (currentQuestionNumber && currentQuestionNumber.question && currentQuestionIndex < currentQuestionNumber.question.length - 1) {\r\n // if there are more questions in the current section, load the next one\r\n this.loadQuestion(currentQuestionIndex - 1);\r\n } else if (currentSectionIndex < section.length - 1) {\r\n // if we've reached the end of the current section, but there are more sections,\r\n // reload all the questions in the next section and update the currentQuestionNumber state\r\n const nextSection = section[currentSectionIndex + 1];\r\n this.loadAllQuestions(nextSection.sec_id, nextSection.section_name);\r\n this.setState({ currentQuestionNumber: nextSection, currentQuestionIndex: 0 });\r\n } else {\r\n // if we've reached the end of all the questions and sections, reload all the questions from the beginning\r\n this.loadAllQuestions(section[0].sec_id);\r\n this.setState({ currentQuestionNumber: section[0], currentQuestionIndex: 0 });\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n \r\n\r\n render() {\r\n const { values, show, fullscreen } = this.state;\r\n const { isFullScreen } = this.state;\r\n const { timeLeft } = this.state;\r\n const { section } = this.state;\r\n\r\n const { question, currentQuestionIndex } = this.state;\r\n const currentQuestion = question && question[currentQuestionIndex];\r\n\r\n const email = localStorage.getItem('email');\r\n const regid = localStorage.getItem('regid');\r\n\r\n // alert(regid);\r\n if (!email || !regid) {\r\n this.props.history.push('/login'); // Redirect to login page\r\n return null; // Render nothing\r\n }\r\n\r\n const totalSavedQuestions = Array.isArray(this.state.savedbackup) ? this.state.savedbackup.length : 0;\r\n const totalMarkedQuestions = Array.isArray(this.state.markedbackup) ? this.state.markedbackup.length : 0;\r\n const totalVisitedQuestions = Array.isArray(this.state.visitedbackup) ? this.state.visitedbackup.length : 0;\r\n const totalUnsavedVisitedQuestions = totalVisitedQuestions - totalSavedQuestions + 1;\r\n const totalUnVisitedQuestions = totalVisitedQuestions - totalUnsavedVisitedQuestions - totalMarkedQuestions;\r\n\r\n\r\n \r\n const handleCopy = (e) => {\r\n e.preventDefault();\r\n alert('Copying text is not allowed on this page.');\r\n };\r\n \r\n\r\n return (\r\n\r\n\r\n\r\n \r\n
\r\n {this.state.dcategory.map((item) => (\r\n

ErwaToday {item.topic_name}

\r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n {values.map((v, idx) => (\r\n \r\n ))}\r\n \r\n {' '}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* Header Section */}\r\n
\r\n Section:\r\n {Array.isArray(section) && section.map((item) => (\r\n
\r\n this.loadAllQuestions(item.sec_id, item.section_name)}\r\n id=\"section_bar\"\r\n style={{ padding: '5px 10px', fontSize: '14px', borderRadius: '20px', transition: 'transform 0.3s ease' }}\r\n >\r\n {item.section_name}\r\n \r\n
\r\n ))}\r\n
\r\n \r\n {/* Language Selector */}\r\n
\r\n View In:\r\n \r\n
\r\n \r\n {/* Question Display */}\r\n
\r\n
\r\n {currentQuestion ? (\r\n
\r\n

\r\n Question No.{currentQuestionIndex + 1} {' '}\r\n {ReactHtmlParser(currentQuestion.year)}\r\n

\r\n

\r\n {ReactHtmlParser(currentQuestion.question)}\r\n

\r\n \r\n {/* Options */}\r\n
\r\n {['option1', 'option2', 'option3', 'option4'].map((option, index) => (\r\n
\r\n \r\n \r\n item.q_id === currentQuestion.q_id &&\r\n item.answer === currentQuestion[option]\r\n )\r\n ? 'matched-answer'\r\n : ''}\r\n ${Array.isArray(this.state.markedbackup) &&\r\n this.state.markedbackup.some(\r\n (item) =>\r\n item.q_id === currentQuestion.q_id &&\r\n item.answer === currentQuestion[option]\r\n )\r\n ? 'marked-answer'\r\n : ''}\r\n `}\r\n >\r\n {ReactHtmlParser(currentQuestion[option])}\r\n \r\n
\r\n ))}\r\n
\r\n \r\n {/* Conditional Answer Display */}\r\n {this.state.showAnswer && (\r\n
\r\n

\r\n Correct Answer:{' '}\r\n {ReactHtmlParser(currentQuestion.answer)}\r\n

\r\n
\r\n )}\r\n
\r\n ) : (\r\n \r\n Click on Any Section to View Question !!\r\n \r\n )}\r\n \r\n {/* Action Buttons */}\r\n {currentQuestion && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {email}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Section: {this.state.currentSection}\r\n
\r\n
\r\n
\r\n {Array.isArray(this.state.question) && this.state.question.map((item, index) => {\r\n const isMarked = Array.isArray(this.state.markedbackup) && this.state.markedbackup.some((markedItem) => markedItem.q_id.toString() === item.q_id.toString());\r\n const isSaved = Array.isArray(this.state.savedbackup) && this.state.savedbackup.some((savedItem) => savedItem.q_id.toString() === item.q_id.toString());\r\n const isVisited = Array.isArray(this.state.visitedbackup) && this.state.visitedbackup.some((visitedItem) => visitedItem.q_id.toString() === item.q_id.toString());\r\n return (\r\n this.loadQuestion(index)}\r\n style={{\r\n backgroundColor: isSaved ? 'green' : isMarked ? 'blue' : isVisited ? 'red' : 'white',\r\n color: isVisited || isMarked || isSaved ? '#ffffff' : '#000000',\r\n border: '1px solid #dee2e6',\r\n borderRadius: '50%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n width: '40px',\r\n height: '40px',\r\n margin: '5px',\r\n cursor: 'pointer',\r\n fontSize: '14px',\r\n fontWeight: 'bold',\r\n }}\r\n >\r\n {index + 1}\r\n \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n \r\n {show && (\r\n this.setState({ show: false })}\r\n centered\r\n dialogClassName=\"custom-modal\"\r\n >\r\n \r\n ErwaToday\r\n \r\n \r\n
\r\n \r\n {email}\r\n
\r\n
\r\n
\r\n
\r\n {Array.isArray(this.state.question) && this.state.question.map((item, index) => {\r\n const isMarked = Array.isArray(this.state.markedbackup) && this.state.markedbackup.some((markedItem) => markedItem.q_id.toString() === item.q_id.toString());\r\n const isSaved = Array.isArray(this.state.savedbackup) && this.state.savedbackup.some((savedItem) => savedItem.q_id.toString() === item.q_id.toString());\r\n const isVisited = Array.isArray(this.state.visitedbackup) && this.state.visitedbackup.some((visitedItem) => visitedItem.q_id.toString() === item.q_id.toString());\r\n return (\r\n
\r\n this.loadQuestion(index)}\r\n >\r\n {index + 1}\r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Solution;","import React from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport Header from './header';\r\nimport Footer from './footer';\r\nimport apiUrl from './base_url';\r\nimport pic1 from './img/award.jpg';\r\nimport pic2 from './img/ejobindiaaward.jpg';\r\nimport pic3 from './img/nivt skill award.jpg';\r\nimport pic4 from './img/workingoffice.jpg';\r\nimport pic5 from './img/bisag-n.jpg';\r\nimport pic6 from './img/happytime.jpg';\r\nimport pic7 from './img/office.jpg';\r\nimport pic8 from './img/cultural.jpg';\r\nimport pic9 from './img/office sikandar.jpg';\r\nconst AboutUs = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n

About Us – ErwaToday

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

Who We Are

\r\n

Welcome to ErwaToday, your ultimate destination for online mock test series for government exams. Our mission is to empower students and job seekers by providing high-quality resources to prepare for competitive exams like SSC, UPSC, IBPS, and more.

\r\n

We believe that smart preparation leads to success. Our mock tests are expertly curated, following the latest exam patterns and syllabus. We don’t just provide practice tests; we offer detailed performance analysis and feedback to help candidates identify their strengths and areas for improvement.

\r\n \r\n

Why Choose ErwaToday?

\r\n
    \r\n
  • Expertly Designed Mock Tests – Created by professionals following the latest exam patterns.
  • \r\n
  • Performance Analysis – Get insights into your strengths and weaknesses.
  • \r\n
  • Affordable & Accessible – Quality education at budget-friendly prices.
  • \r\n
  • Comprehensive Study Materials – Stay updated with current affairs, notes, and more.
  • \r\n
  • User-Friendly Platform – Simple and intuitive interface for seamless learning.
  • \r\n
\r\n\r\n

Why the Name \"ErwaToday\"?

\r\n

The name \"ErwaToday\" holds a special place in our hearts. It is dedicated to the founder’s respected mother, symbolizing love, inspiration, and guidance—values that we strive to incorporate into our platform.

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

Meet the Founder

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

Founder’s Profile: Er.Sikandar Pandit

\r\n

👨‍🎓 Educational Background: BCA & MCA (Gold Medalist)

\r\n

💼 Professional Experience: IT Executive at BISAG-N *(Bhaskaracharya National Institute for Space Applications and Geo-informatics)*

\r\n

🏆 Awards & Achievements:

\r\n
    \r\n
  • BCA Gold Medalist
  • \r\n
  • NIVT Skill Best Trainee Award (Major Project, Kolkata)
  • \r\n
  • EjobIndia MERN Stack Project Gold Medalist (Kolkata)
  • \r\n
\r\n\r\n

🎓 School Life Achievements:

\r\n
    \r\n
  • Jago Foundation – 2nd Prize in Science Competition (2012)
  • \r\n
  • Jago Foundation – 1st Prize in Math (2011)
  • \r\n
  • Jago Foundation (by UNICEF) – 1st Prize on Girls’ Culture Topic (2011)
  • \r\n
  • Gurukul Computer Academy, Hazaribagh – 1st Prize in C++ & SQL (2014) *(Silver Medal)*
  • \r\n
  • Miracle English Classes, Hazaribagh – 1st Prize (2015) *(Silver Medal)*
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n

Awards & Achievements

\r\n
\r\n \r\n
\r\n \r\n {[pic1, pic2, pic3, pic4, pic5, pic6, pic7, pic8, pic9].map((num) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AboutUs;\r\n","import React from 'react';\r\nimport { Navbar, Container, Row, Col, Form, Button,Card } from 'react-bootstrap';\r\nimport Header from './header';\r\nimport Footer from './footer';\r\n\r\nimport { FaMapMarkerAlt, FaEnvelope, FaPhoneAlt } from 'react-icons/fa';\r\n\r\nclass ContactUs extends React.Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n

Contact Us

\r\n
\r\n

We'd love to hear from you! Reach out to us for any inquiries or feedback.

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

Our Address

\r\n

\r\n ErwaToday.in
\r\n 192/2 Opposite Public Garden,Car Park Stand
\r\n Sector 3A New ,Infocity, Gandhinagar, Ahmedabad, Gujarat - 382016\r\n

\r\n

Email

\r\n

sikandar0503@gmail.com

\r\n

Phone

\r\n

+91 9608372362

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

Send Us a Message

\r\n
\r\n \r\n Name\r\n \r\n \r\n \r\n Email address\r\n \r\n \r\n \r\n Message\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ContactUs;\r\n","import React from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport Header from './header';\r\nimport Footer from './footer';\r\n\r\nconst PrivacyPolicy = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n

Privacy Policy

\r\n
\r\n

Your privacy is important to us. Learn how we handle your personal data.

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

Information We Collect

\r\n

We collect information when you register, fill out forms, or interact with our website. This includes your name, email, phone number, and browsing behavior.

\r\n \r\n

How We Use Your Information

\r\n

Your information helps us personalize your experience, improve our platform, and communicate with you effectively.

\r\n \r\n

How We Protect Your Information

\r\n

We use security measures like encryption, firewalls, and secure servers to protect your data.

\r\n \r\n

Cookies

\r\n

We use cookies to enhance your browsing experience. You can manage cookie preferences in your browser settings.

\r\n \r\n

Online Payment Transactions

\r\n

All payments are processed securely through third-party payment gateways. We do not store payment details.

\r\n \r\n

Changes to This Policy

\r\n

We may update our privacy policy from time to time. Any changes will be reflected on this page.

\r\n \r\n

Contact Us

\r\n

If you have any questions, email us at privacy@erwatoday.in.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PrivacyPolicy;\r\n","import React from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport Header from './header';\r\nimport Footer from './footer';\r\n\r\nclass TermsAndConditions extends React.Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n

Terms and Conditions

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

1. Intellectual Property Rights

\r\n

The content and materials on this website, including text, graphics, logos, images, and software, are the property of ErwaToday.in and are protected by copyright laws.

\r\n \r\n

2. Use of the Website

\r\n

This website may only be used for lawful purposes and in accordance with these terms.

\r\n \r\n

3. User Content

\r\n

Any content submitted through this website will be considered non-confidential and non-proprietary.

\r\n \r\n

4. Disclaimer of Warranties

\r\n

This website is provided \"as is\" without warranties of any kind.

\r\n \r\n

5. Limitation of Liability

\r\n

We will not be liable for any damages resulting from the use of this website.

\r\n \r\n

6. Indemnification

\r\n

You agree to indemnify us against any claims arising from your use of the website.

\r\n \r\n

7. Governing Law

\r\n

These terms are governed by the laws of India.

\r\n \r\n

8. Changes to These Terms

\r\n

We reserve the right to modify these terms at any time.

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

Payment Related Terms & Conditions

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

Validity of Online Mock Test Series

\r\n

Access to the mock tests is valid for one year from enrollment.

\r\n \r\n

Refund Policy

\r\n

Refunds are only provided for technical issues preventing access.

\r\n \r\n

Modifications to Test Series

\r\n

We reserve the right to modify the test content at any time.

\r\n \r\n

Termination of Access

\r\n

Access may be terminated for policy violations or fraudulent activity.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TermsAndConditions;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Card, Button, Container, Form } from 'react-bootstrap';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport axios from 'axios';\r\nimport ReactHtmlParser from 'react-html-parser';\r\n\r\nconst Allseries = () => {\r\n const [addcategory, setAddcategory] = useState([]);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n\r\n useEffect(() => {\r\n axios.get(apiUrl + 'serverside/parentcategory.php')\r\n .then(response => {\r\n setAddcategory(response.data);\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n const addSeries = (event, category) => {\r\n event.preventDefault();\r\n const regid = localStorage.getItem('regid');\r\n\r\n if (!regid) {\r\n window.location.href = '/login';\r\n return;\r\n }\r\n\r\n axios.post(apiUrl + 'serverside/addseries.php', { category, regid })\r\n .then(() => {\r\n window.location.href = '/dashboard';\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n alert(error);\r\n });\r\n };\r\n\r\n const filteredSeries = addcategory.filter(item =>\r\n item.status == 1 && item.topic_name.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n\r\n return (\r\n
\r\n
\r\n \r\n

Available Test Series

\r\n\r\n setSearchTerm(e.target.value)}\r\n />\r\n\r\n
\r\n {filteredSeries.length > 0 ? (\r\n filteredSeries.map((item, index) => (\r\n \r\n
\r\n \r\n
\r\n
\r\n {item.topic_name}\r\n {ReactHtmlParser(item.total_set)}\r\n addSeries(e, item.category)}\r\n >\r\n Get Started Now\r\n \r\n
\r\n
\r\n ))\r\n ) : (\r\n

No test series found.

\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Allseries;\r\n","import React from 'react';\r\nimport { Container, Row, Col, Card } from 'react-bootstrap';\r\nimport Header from './header';\r\nimport Footer from './footer';\r\n\r\nconst PaymentC = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n

Payment Terms & Conditions / Refund & Cancellation Policy

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

Payment Related Terms & Conditions

\r\n

Validity: Online mock test series purchased on this website are valid for one year from the date of enrollment. No extensions or refunds will be provided after this period.

\r\n

Test Content Ownership: All test materials, including questions, answers, and explanations, are copyrighted by ErwaToday.in and cannot be reproduced or distributed without permission.

\r\n

Conduct Policy: Any fraudulent activity or attempt to cheat in the test series will result in immediate termination of access without a refund.

\r\n

Technical Issues: While we ensure a seamless experience, we are not liable for unexpected technical difficulties such as server downtime or connectivity issues.

\r\n

Modifications: We reserve the right to update test content, format, and structure without prior notice.

\r\n

Access Termination: Violation of these terms may lead to termination of access without prior notice or refund.

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

Refund & Cancellation Policy

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

Refund Policy:

\r\n

Refunds will only be issued for unsuccessful transactions or unauthorized payments. The amount will be refunded within 5-7 business days via the original payment method.

\r\n \r\n

Cancellation Policy:

\r\n

Users can cancel their transactions within 24 hours of purchase. If applicable, cancellation charges will be deducted, and the remaining amount will be refunded.

\r\n

All refunds and cancellations comply with RBI guidelines for digital transactions.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PaymentC;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport '../components/cssfile/question_paper.css';\r\nimport '../components/cssfile/job.css';\r\nimport { FaArrowRight } from \"react-icons/fa\";\r\n\r\nclass Job extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n job: [],\r\n admit: [],\r\n result: [],\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n axios\r\n .get(apiUrl + 'serverside/latest_job.php')\r\n .then((response) => {\r\n this.setState({\r\n job: response.data.filter(item => item.category === 'notification' && item.exam_category === 'job'),\r\n admit: response.data.filter(item => item.category === 'admitcard' && item.exam_category === 'job'),\r\n result: response.data.filter(item => item.category === 'result' && item.exam_category === 'job'),\r\n loading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n this.setState({ error: 'There was an error fetching the data!', loading: false });\r\n });\r\n }\r\n\r\n renderSection = (title, items, color) => (\r\n
\r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n {items.length > 0 ? (\r\n
    \r\n {items.slice(0, 10).map((item, index) => {\r\n const slug = item.topic_name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\r\n return (\r\n
  • \r\n \r\n {item.topic_name.slice(0, 60) + '...'}\r\n \r\n
  • \r\n );\r\n })}\r\n
\r\n ) : (\r\n

No {title.toLowerCase()} available.

\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n\r\n render() {\r\n const { job, admit, result, loading, error } = this.state;\r\n\r\n if (loading) return
Loading...
;\r\n if (error) return
{error}
;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Latest Job Updates

\r\n
\r\n {this.renderSection('Latest Jobs', job, '#007bff')}\r\n {this.renderSection('Admit Cards', admit, '#17a2b8')}\r\n {this.renderSection('Results', result, '#28a745')}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Job;\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport '../components/cssfile/question_paper.css';\r\nimport logo from './img/erwatodaylogo.png';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport { Modal, Button, Form } from 'react-bootstrap';\r\n\r\nconst Question_paper = () => {\r\n const [questionPapers, setQuestionPapers] = useState([]);\r\n const [successfulPayments, setSuccessfulPayments] = useState({});\r\n const [showModal, setShowModal] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState(null);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n\r\n useEffect(() => {\r\n axios.get(apiUrl + 'serverside/question_paper.php')\r\n .then(response => setQuestionPapers(response.data))\r\n .catch(error => console.error('Error fetching question papers:', error));\r\n }, []);\r\n\r\n const toggleDescription = (index) => {\r\n const updatedPapers = [...questionPapers];\r\n updatedPapers[index].isExpanded = !updatedPapers[index].isExpanded;\r\n setQuestionPapers(updatedPapers);\r\n };\r\n\r\n const savePaymentToDatabase = (phone, paymentId, amount, questionPaperId) => {\r\n axios.post(apiUrl + 'serverside/question_paper_pay.php', {\r\n phone,\r\n payment_id: paymentId,\r\n amount,\r\n question_paper_id: questionPaperId,\r\n }).then(response => console.log('Payment saved to database:', response.data))\r\n .catch(error => console.error('Error saving payment to database:', error));\r\n };\r\n\r\n const handlePaymentSuccess = (response) => {\r\n if (!selectedItem) return;\r\n const phone = \"9608372362\";\r\n const paymentId = response.razorpay_payment_id;\r\n const amount = selectedItem.amount;\r\n const questionPaperId = selectedItem.id;\r\n alert(`Payment successful. Transaction ID: ${paymentId}`);\r\n savePaymentToDatabase(phone, paymentId, amount, questionPaperId);\r\n setSuccessfulPayments(prev => ({ ...prev, [questionPaperId]: true }));\r\n setShowModal(false);\r\n };\r\n\r\n const handlePayment = (item) => {\r\n setSelectedItem(item);\r\n setShowModal(true);\r\n };\r\n\r\n const handlePaymentProcess = () => {\r\n if (!selectedItem) return;\r\n const options = {\r\n key: \"rzp_live_AQkJ7i0IS8F2nj\",\r\n amount: selectedItem.amount * 100,\r\n currency: \"INR\",\r\n name: \"ErwaToday\",\r\n description: `Purchase for ${selectedItem.topic_name}`,\r\n image: logo,\r\n handler: handlePaymentSuccess,\r\n prefill: { name: \"User Name\", email: \"user@example.com\", contact: \"9608372362\" },\r\n theme: { color: \"#0d6efd\" },\r\n };\r\n const razorpay = new window.Razorpay(options);\r\n razorpay.open();\r\n };\r\n\r\n const filteredPapers = questionPapers.filter(item => \r\n item.topic_name.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n setSearchTerm(e.target.value)}\r\n />\r\n
\r\n {filteredPapers.map((item, index) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{item.topic_name}
\r\n
\r\n {ReactHtmlParser(item.isExpanded ? item.des : item.des.slice(0, 100) + '...')}\r\n
\r\n {item.des.length > 100 && (\r\n \r\n )}\r\n {item.status === 'prime' ? (\r\n
\r\n

Amount: ₹{item.amount}

\r\n {successfulPayments[item.id] ? (\r\n Download Now\r\n ) : (\r\n \r\n )}\r\n
\r\n ) : item.status === 'nonprime' ? (\r\n Download Now\r\n ) : null}\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n {showModal && selectedItem && (\r\n setShowModal(false)}>\r\n \r\n Complete Your Payment\r\n \r\n \r\n
\r\n \"ErwaToday\"\r\n
{selectedItem.topic_name}
\r\n

Amount: ₹{selectedItem.amount}

\r\n

Proceed with the payment to complete your purchase.

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Question_paper;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport '../components/cssfile/question_paper.css';\r\nimport '../components/cssfile/job.css';\r\nimport { FaArrowRight } from \"react-icons/fa\";\r\n\r\nclass Intrance extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n job: [],\r\n admit: [],\r\n result: [],\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n axios\r\n .get(apiUrl + 'serverside/latest_job.php')\r\n .then((response) => {\r\n this.setState({\r\n job: response.data.filter(item => item.category === 'notification' && item.exam_category === 'entrance'),\r\n admit: response.data.filter(item => item.category === 'admitcard' && item.exam_category === 'entrance'),\r\n result: response.data.filter(item => item.category === 'result' && item.exam_category === 'entrance'),\r\n loading: false,\r\n });\r\n })\r\n .catch((error) => {\r\n this.setState({ error: 'There was an error fetching the data!', loading: false });\r\n });\r\n }\r\n\r\n renderSection = (title, items, color) => (\r\n
\r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n {items.length > 0 ? (\r\n
    \r\n {items.slice(0, 10).map((item, index) => {\r\n const slug = item.topic_name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\r\n return (\r\n
  • \r\n \r\n {item.topic_name.slice(0, 60) + '...'}\r\n \r\n
  • \r\n );\r\n })}\r\n
\r\n ) : (\r\n

No {title.toLowerCase()} available.

\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n\r\n render() {\r\n const { job, admit, result, loading, error } = this.state;\r\n\r\n if (loading) return
Loading...
;\r\n if (error) return
{error}
;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Latest Entrance Exam Updates

\r\n
\r\n {this.renderSection('Latest Entrance Exams', job, '#007bff')}\r\n {this.renderSection('Admit Cards', admit, '#17a2b8')}\r\n {this.renderSection('Results', result, '#28a745')}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Intrance;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport { FaFacebook, FaTwitter, FaLinkedin, FaWhatsapp } from 'react-icons/fa';\r\nimport { Link } from 'react-router-dom';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\n\r\nclass JobDetail extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n jobDetail: null,\r\n relatedArticles: [],\r\n loading: true,\r\n error: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.loadJobDetail();\r\n this.fetchRelatedArticles();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.match.params.slug !== this.props.match.params.slug) {\r\n this.loadJobDetail();\r\n }\r\n }\r\n\r\n loadJobDetail = () => {\r\n const { slug } = this.props.match.params;\r\n if (slug) {\r\n this.fetchJobDetail(slug);\r\n } else {\r\n this.setState({ error: 'No article found.', loading: false });\r\n }\r\n };\r\n\r\n fetchJobDetail = (slug) => {\r\n this.setState({ loading: true });\r\n\r\n axios\r\n .get(`${apiUrl}serverside/latest_job.php`)\r\n .then((response) => {\r\n const matchedJob = response.data.find(\r\n (job) => job.topic_name.toLowerCase().replace(/[^a-z0-9]+/g, '-') === slug\r\n );\r\n\r\n if (matchedJob) {\r\n this.setState({ jobDetail: matchedJob, loading: false });\r\n } else {\r\n this.setState({ error: 'Job not found.', loading: false });\r\n }\r\n })\r\n .catch(() => {\r\n this.setState({ error: 'Failed to fetch job details.', loading: false });\r\n });\r\n };\r\n\r\n fetchRelatedArticles = () => {\r\n axios\r\n .get(`${apiUrl}serverside/latest_job.php`)\r\n .then((response) => {\r\n const latestArticles = response.data\r\n .sort((a, b) => new Date(b.date) - new Date(a.date))\r\n .slice(0, 20);\r\n\r\n this.setState({ relatedArticles: latestArticles });\r\n })\r\n .catch(() => {\r\n this.setState({ error: 'Failed to fetch related articles.' });\r\n });\r\n };\r\n\r\n render() {\r\n const { jobDetail, relatedArticles, loading, error } = this.state;\r\n\r\n if (loading) return
Loading...
;\r\n if (error) return
{error}
;\r\n\r\n return (\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n {/* Main Content */}\r\n
\r\n
\r\n

{jobDetail.title}

\r\n

{ReactHtmlParser(jobDetail.des)}

\r\n

Exam Category: {jobDetail.exam_category}

\r\n

Category: {jobDetail.category}

\r\n\r\n {/* Social Sharing */}\r\n
\r\n
Share this article:
\r\n \r\n
\r\n
\r\n
\r\n\r\n {/* Sidebar for Ads & Related Articles */}\r\n
\r\n
\r\n

Sponsored

\r\n
\r\n Ad Space\r\n
\r\n\r\n
Related Articles
\r\n
    \r\n {relatedArticles.map((article) => {\r\n const slug = article.topic_name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\r\n return (\r\n
  • \r\n \r\n {article.title}\r\n \r\n
  • \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default JobDetail;\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport { Modal, Button, Form } from 'react-bootstrap';\r\n\r\nconst QuestionPaperDownload = () => {\r\n const [questionPapers, setQuestionPapers] = useState([]);\r\n const [showModal, setShowModal] = useState(false);\r\n const [mobileNumber, setMobileNumber] = useState('');\r\n const [selectedFile, setSelectedFile] = useState(null);\r\n const [selectedQuestionPaperId, setSelectedQuestionPaperId] = useState(null);\r\n const [downloadAllowed, setDownloadAllowed] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n const [searchTerm, setSearchTerm] = useState('');\r\n\r\n useEffect(() => {\r\n axios.get(apiUrl + 'serverside/question_paper.php')\r\n .then(response => setQuestionPapers(response.data))\r\n .catch(error => console.error(error));\r\n }, []);\r\n\r\n const handleModalOpen = (file, questionPaperId) => {\r\n setShowModal(true);\r\n setSelectedFile(file);\r\n setSelectedQuestionPaperId(questionPaperId);\r\n setDownloadAllowed(false);\r\n setErrorMessage('');\r\n };\r\n\r\n const handleModalClose = () => {\r\n setShowModal(false);\r\n setMobileNumber('');\r\n setSelectedFile(null);\r\n setSelectedQuestionPaperId(null);\r\n setErrorMessage('');\r\n };\r\n\r\n const verifyMobileNumberAndId = () => {\r\n if (!mobileNumber || mobileNumber.length !== 10) {\r\n setErrorMessage('Please enter a valid 10-digit mobile number.');\r\n return;\r\n }\r\n\r\n axios.post(apiUrl + 'serverside/question_paper_pay_pro.php', {\r\n mobile: mobileNumber,\r\n pay_id: selectedQuestionPaperId,\r\n })\r\n .then(response => {\r\n if (response.data.success) {\r\n setDownloadAllowed(true);\r\n setErrorMessage('');\r\n } else {\r\n setErrorMessage(response.data.message || 'Access denied.');\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Verification Error:', error);\r\n setErrorMessage('An error occurred. Please try again.');\r\n });\r\n };\r\n\r\n const filteredPapers = questionPapers.filter(paper =>\r\n paper.topic_name.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Download Question Papers

\r\n\r\n setSearchTerm(e.target.value)}\r\n />\r\n\r\n
\r\n {filteredPapers.map((item, index) => (\r\n
\r\n
\r\n
\r\n
{item.topic_name}
\r\n handleModalOpen(item.file, item.id)}\r\n >\r\n Download\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n \r\n \r\n Verify Mobile Number\r\n \r\n \r\n
\r\n \r\n Enter your 10-digit mobile number:\r\n setMobileNumber(e.target.value)}\r\n placeholder=\"Enter mobile number\"\r\n />\r\n \r\n {errorMessage &&

{errorMessage}

}\r\n {downloadAllowed && (\r\n \r\n Download Now\r\n \r\n )}\r\n
\r\n
\r\n \r\n {!downloadAllowed && (\r\n \r\n )}\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default QuestionPaperDownload;\r\n","import React, { useState, useEffect ,useRef} from 'react';\r\nimport { Card, Container, Form, Row, Col, Button } from 'react-bootstrap';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport apiUrl from './base_url';\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom';\r\nimport '../components/cssfile/mcq.css';\r\nimport Slider from \"react-slick\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport { FaChevronLeft, FaChevronRight } from \"react-icons/fa\"; // Import arrow icons\r\n\r\nconst McqPractice = () => {\r\n const [addcategory, setAddcategory] = useState([]);\r\n const [subcategory, setsubcategory] = useState([]);\r\n const [section, setsection] = useState([]);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const [loading, setLoading] = useState(true);\r\n const [selectedCategory, setSelectedCategory] = useState(null); // Track selected category\r\n\r\n const sliderRef = useRef(null); // Ref for controlling slider\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const [catRes, subRes, secRes] = await Promise.all([\r\n axios.get(apiUrl + 'serverside/mcq_practice.php'),\r\n axios.get(apiUrl + 'serverside/mcq_practice_sub.php'),\r\n axios.get(apiUrl + 'serverside/mcq_practice_section.php')\r\n ]);\r\n\r\n setAddcategory(catRes.data);\r\n setsubcategory(subRes.data);\r\n setsection(secRes.data);\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n fetchData();\r\n }, []);\r\n\r\n // **Apply filtering ONLY on main category (Test Series)**\r\n const filteredSeries = addcategory.filter(item =>\r\n item.status == 1 &&\r\n item.topic_name.toLowerCase().includes(searchTerm.toLowerCase()) &&\r\n (!selectedCategory || item.a_id === selectedCategory) // Filter based on selected category\r\n );\r\n\r\n if (loading) {\r\n return
Loading data...
;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n

Available Test for MCQ Practice Questions

\r\n \r\n setSearchTerm(e.target.value)}\r\n />\r\n\r\n {/* Left Column: Display all categories */}\r\n \r\n
All Exam Topic Filteration
\r\n\r\n \r\n\r\n \r\n {addcategory.map(category => (\r\n
\r\n setSelectedCategory(category.a_id)}\r\n >\r\n
\r\n \r\n \r\n {category.topic_name.length > 30\r\n ? `${category.topic_name.substring(0, 30)}...`\r\n : category.topic_name}\r\n \r\n
\r\n \r\n
\r\n ))}\r\n \r\n\r\n {/* Manual Left & Right Buttons */}\r\n
\r\n \r\n \r\n
\r\n\r\n {/* Reset Filter Button */}\r\n setSelectedCategory(null)}\r\n >\r\n Reset Filter\r\n \r\n \r\n\r\n {/* Right Column: Display test series */}\r\n \r\n \r\n \r\n {filteredSeries.length > 0 ? (\r\n filteredSeries.map((categoryItem) => (\r\n \r\n \r\n \r\n \r\n {categoryItem.topic_name}\r\n \r\n\r\n \r\n \r\n {/* Show all subcategories of this category */}\r\n {subcategory.filter(subItem => subItem.a_id == categoryItem.a_id).map((subItem) => (\r\n \r\n \r\n {subItem.topic_name}\r\n \r\n \r\n {section.filter(sectionItem => sectionItem.id === subItem.id).map((sectionItem, index) => {\r\n const slug = sectionItem.section_name.toLowerCase().replace(/[^a-z0-9]+/g, '-');\r\n return (\r\n \r\n
\r\n
\r\n CH:{index + 1}\r\n
\r\n
\r\n \r\n {sectionItem.section_name}\r\n \r\n
\r\n
{sectionItem.total_question}
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n ))\r\n ) : (\r\n

No test series found.

\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default McqPractice;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport apiUrl from \"./base_url\"; // Ensure this file exists and exports the API URL\r\n\r\nconst RandomTopics = () => {\r\n const [topics, setTopics] = useState([]);\r\n const [relatedArticles, setRelatedArticles] = useState([]);\r\n\r\n useEffect(() => {\r\n const fetchTopics = async () => {\r\n try {\r\n const response = await axios.get(`${apiUrl}serverside/latest_job.php`);\r\n console.log(\"API Response:\", response.data); // Debugging\r\n \r\n // Filter out topics without a valid name\r\n const validTopics = response.data.filter(topic => topic.name);\r\n \r\n // Shuffle and pick 10 random topics\r\n const shuffledTopics = validTopics.sort(() => 0.5 - Math.random()).slice(0, 10);\r\n setTopics(shuffledTopics);\r\n } catch (error) {\r\n console.error(\"Error fetching topics:\", error);\r\n }\r\n };\r\n\r\n const fetchRelatedArticles = async () => {\r\n try {\r\n const response = await axios.get(`${apiUrl}serverside/latest_job.php`);\r\n const latestArticles = response.data\r\n .sort((a, b) => new Date(b.date) - new Date(a.date))\r\n .slice(0, 20);\r\n\r\n setRelatedArticles(latestArticles);\r\n } catch (error) {\r\n console.error(\"Failed to fetch related articles:\", error);\r\n }\r\n };\r\n\r\n fetchTopics();\r\n fetchRelatedArticles();\r\n }, []);\r\n\r\n return (\r\n
\r\n
Explore More Topics
\r\n \r\n\r\n
Related Articles
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default RandomTopics;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useLocation, Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport Header from \"./header\";\r\nimport Footer from \"./footer\";\r\nimport RandomTopics from \"./randompost\";\r\nimport apiUrl from \"./base_url\";\r\nimport { Container, Row, Col, Card, Form, Spinner, Dropdown, Button } from \"react-bootstrap\";\r\nimport \"../components/cssfile/mcq.css\";\r\n\r\nconst MCQ = () => {\r\n const location = useLocation();\r\n const initialSecId = location.state?.sec_id || localStorage.getItem(\"sec_id\");\r\n const initialId = location.state?.id || localStorage.getItem(\"id\");\r\n const initialSectionName = location.state?.section_name || localStorage.getItem(\"section_name\");\r\n const initialTopic = location.state?.topic_name || localStorage.getItem(\"topic_name\");\r\n\r\n const [sec_id, setSecId] = useState(initialSecId);\r\n const [id, setId] = useState(initialId);\r\n const [section_name, setSectionName] = useState(initialSectionName);\r\n const [topic_name, setTopicName] = useState(initialTopic);\r\n const [questions, setQuestions] = useState([]);\r\n const [sections, setSections] = useState([]);\r\n const [userAnswers, setUserAnswers] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n const [selectedSection, setSelectedSection] = useState(sec_id);\r\n\r\n // Store values in localStorage when page loads\r\n useEffect(() => {\r\n if (sec_id && id && section_name && topic_name) {\r\n localStorage.setItem(\"sec_id\", sec_id);\r\n localStorage.setItem(\"id\", id);\r\n localStorage.setItem(\"section_name\", section_name);\r\n localStorage.setItem(\"topic_name\", topic_name);\r\n }\r\n }, [sec_id, id, section_name]);\r\n\r\n // Fetch Questions for Selected Section\r\n useEffect(() => {\r\n if (!sec_id) {\r\n setError(\"Invalid section ID.\");\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n const fetchQuestions = async () => {\r\n try {\r\n const response = await axios.get(`${apiUrl}serverside/mcq_practice_question.php?sec_id=${sec_id}`);\r\n setQuestions(response.data);\r\n } catch (err) {\r\n setError(\"Failed to fetch questions. Please try again.\");\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n fetchQuestions();\r\n }, [sec_id]);\r\n\r\n // Fetch Sections Based on a_id\r\n useEffect(() => {\r\n if (!id) return;\r\n\r\n const fetchSections = async () => {\r\n try {\r\n const response = await axios.get(`${apiUrl}serverside/mcq_practice_section.php`);\r\n const filteredSections = response.data.filter((section) => section.id === id);\r\n setSections(filteredSections);\r\n } catch (err) {\r\n console.error(\"Error fetching sections:\", err);\r\n }\r\n };\r\n\r\n fetchSections();\r\n }, [id]);\r\n\r\n const handleSectionClick = (section) => {\r\n setSecId(section.sec_id);\r\n setSectionName(section.section_name);\r\n setSelectedSection(section.sec_id);\r\n setUserAnswers({}); // Reset answers\r\n \r\n localStorage.setItem(\"sec_id\", section.sec_id);\r\n localStorage.setItem(\"section_name\", section.section_name);\r\n };\r\n \r\n const handleAnswerSelect = (qId, selectedOption, correctAnswer) => {\r\n setUserAnswers((prev) => ({ \r\n ...prev, \r\n [qId]: { selectedOption, correctAnswer } \r\n }));\r\n };\r\n\r\n\r\n\r\n \r\n \r\n// Find the current section index\r\nconst currentIndex = sections.findIndex((section) => section.sec_id === sec_id);\r\nconst prevSection = currentIndex > 0 ? sections[currentIndex - 1] : null;\r\nconst nextSection = currentIndex < sections.length - 1 ? sections[currentIndex + 1] : null;\r\n\r\nconst handleNavigation = (section) => {\r\n if (section) {\r\n setSecId(section.sec_id);\r\n setSectionName(section.section_name);\r\n setSelectedSection(section.sec_id);\r\n setUserAnswers({}); // Reset answers\r\n\r\n localStorage.setItem(\"sec_id\", section.sec_id);\r\n localStorage.setItem(\"section_name\", section.section_name);\r\n }\r\n};\r\n\r\n\r\nconst calculateScore = () => {\r\n let correctCount = 0;\r\n let incorrectCount = 0;\r\n\r\n Object.values(userAnswers).forEach(({ selectedOption, correctAnswer }) => {\r\n if (selectedOption === correctAnswer) {\r\n correctCount++;\r\n } else {\r\n incorrectCount++;\r\n }\r\n });\r\n\r\n return { correctCount, incorrectCount };\r\n};\r\n\r\nconst { correctCount, incorrectCount } = calculateScore();\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n\r\n \r\n \r\n {/* Sidebar for Sections (Visible on Desktop) */}\r\n \r\n
\r\n
{topic_name}
\r\n
\r\n {sections.length > 0 ? (\r\n
    \r\n {sections.map((section) => (\r\n
  • \r\n handleSectionClick(section)}\r\n className={`d-block text-dark text-decoration-none px-2 py-1 rounded ${\r\n selectedSection === section.sec_id ? \"active bg-info text-white\" : \"\"\r\n }`}\r\n to={{\r\n pathname: `/mcq/${section.section_name.toLowerCase().replace(/[^a-z0-9]+/g, \"-\")}`,\r\n state: { sec_id: section.sec_id, id: id }\r\n }}\r\n >\r\n {section.section_name}\r\n \r\n
  • \r\n ))}\r\n
\r\n ) : (\r\n

No sections available.

\r\n )}\r\n \r\n\r\n {/* Mobile Section Selector (3-dot menu) */}\r\n \r\n \r\n \r\n ☰ Select Section\r\n \r\n \r\n {sections.map((section) => (\r\n handleSectionClick(section)}\r\n className={selectedSection === section.sec_id ? \"bg-info text-white\" : \"\"}\r\n >\r\n {section.section_name}\r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n {/* Main Content - MCQs */}\r\n \r\n \r\n \r\n

MCQ Questions for {section_name}

\r\n {/* Navigation Buttons */}\r\n \r\n\r\n\r\n\r\n\r\n {loading ? (\r\n
\r\n \r\n

Loading questions...

\r\n
\r\n ) : error ? (\r\n

{error}

\r\n ) : questions.length > 0 ? (\r\n
\r\n {questions.map((question, index) => {\r\n const options = [question.option1, question.option2, question.option3, question.option4];\r\n\r\n return (\r\n \r\n
{index + 1}. {question.question} {question.year}
\r\n
\r\n {options.map((option, i) => {\r\n const isSelected = userAnswers[question.q_id]?.selectedOption === option;\r\n const isCorrect = userAnswers[question.q_id]?.selectedOption === question.answer;\r\n return (\r\n handleAnswerSelect(question.q_id, option, question.answer)}\r\n disabled={!!userAnswers[question.q_id]}\r\n className={`${\r\n isSelected ? (isCorrect ? \"text-success fw-bold\" : \"text-danger fw-bold\") : \"\"\r\n }`}\r\n style={{\r\n backgroundColor: isSelected\r\n ? isCorrect\r\n ? \"#d4edda\"\r\n : \"#f8d7da\"\r\n : \"transparent\",\r\n padding: \"5px\",\r\n paddingLeft: \"15px\",\r\n borderRadius: \"5px\",\r\n }}\r\n />\r\n );\r\n })}\r\n \r\n
\r\n );\r\n })}\r\n
\r\n ) : (\r\n

No questions available.

\r\n )}\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n {/* Sidebar - Advertisements */}\r\n \r\n \r\n
Sponsored
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n {/* Correct Answers */}\r\n
\r\n
{correctCount}
✅\r\n
\r\n\r\n {/* Incorrect Answers */}\r\n
\r\n
{incorrectCount}
❌\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MCQ;\r\n","import React from 'react';\nimport logo from './logo.svg';\nimport './App.css';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport Header from './components/header.js';\nimport './components/cssfile/header.css';\n\nimport Footer from './components/footer';\nimport { Route, Link, BrowserRouter as Router, BrowserRouter ,Switch,Redirect} from 'react-router-dom' \nimport Home from './components/home'; \nimport Error from './components/Error';\nimport Login from './components/login';\nimport Signup from './components/signup';\nimport User from './components/user';\nimport Blog from './components/blog';\nimport Ca from './components/ca';\nimport Dashboard from './components/dashboard';\nimport Myseries from './components/myseries';\nimport payment from './components/payment';\nimport Instruction from './components/instruction';\nimport Edashboard from './components/edashboard';\nimport Practice from './components/practice';\nimport Tempexam from './components/tempexam';\nimport Section from './components/getsection';\nimport Questiond from './components/getquestiond';\nimport Result from './components/result';\nimport Solution from './components/solution';\nimport AboutUs from './components/aboutus';\nimport ContactUs from './components/contactus';\nimport PrivacyPolicy from './components/privacy';\nimport TermsAndConditions from './components/termscondition';\nimport Allseries from './components/allseries';\nimport PaymentC from './components/paymentc';\nimport Job from './components/job.js';\nimport Question_paper from './components/question_paper.js';\nimport Intrance from './components/intrance.js';\nimport job_detail from './components/job_detail.js';\nimport Question_paper_download from './components/question_paper_download.js';\nimport McqPractice from './components/mcq_practice.js';\nimport MCQ from './components/mcq.js';\n\n\n\n\nfunction App() {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n {}\n \n \n \n
\n\n );\n}\n\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\n\nReactDOM.render(\n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = __webpack_public_path__ + \"static/media/erwatodaylogo.748a61a1.png\";"],"sourceRoot":""}