{"version":3,"sources":["store/types.js","store/reducer.js","store/index.js","assets/logo.svg","components/Login/index.js","config.js","utils/axios.js","utils/index.js","store/actions/account.js","pages/Login.js","components/Register/index.js","pages/Register.js","components/PasswordReset/index.js","pages/PasswordReset.js","components/PasswordReset/ForgotPassword.js","pages/ForgotPassword.js","components/Common/DashboardHeader.js","store/actions/topic.js","components/Common/Accordion.js","components/Payment/Field.js","components/Payment/CreditCardForm.js","components/Payment/index.js","components/Dashboard/Topic/ListAllTopics.js","pages/Dashboard/ListAllTopics.js","components/Dashboard/Content/ViewContent.js","components/Dashboard/Topic/ViewTopic.js","pages/Dashboard/ViewTopic.js","assets/aboutUs.svg","components/Dashboard/AboutUs/index.js","pages/Dashboard/AboutUs.js","components/Dashboard/Account/Profile.js","components/Dashboard/Account/ChangePassword.js","components/Dashboard/Account/Account.js","pages/Dashboard/Account/Logout.js","pages/Dashboard/Account/index.js","pages/Dashboard/CheckoutSuccess.js","layouts/Dashboard.js","App.js","reportWebVitals.js","index.js","components/Login/Login.module.css","components/PasswordReset/PasswordReset.module.css","components/Dashboard/Account/Profile.module.css","components/Dashboard/Content/ViewContent.module.css","components/Common/Accordion.module.css","components/Dashboard/Account/Account.module.css","components/Dashboard/Topic/ViewTopic.module.css","components/Payment/Payment.module.css","components/Common/DashboardHeader.module.css","components/Dashboard/AboutUs/AboutUs.module.css","components/Dashboard/Topic/ListAllTopics.module.css"],"names":["SET_USER_INFO","UPDATE_USER_INFO","CHANGE_PASSWORD","LOGOUT","SET_TOPICS","SET_TOPIC_CONTENT","SET_SUBSCRIBED_TOPICS","SUBSCRIBE_TOPIC","IS_LOADING_TOPICS","FETCH_TOPICS_ERROR","IS_LOADING_SUBSCRIBED_TOPICS","FETCH_SUBSCRIBED_TOPICS_ERROR","SET_CATEGORIES","SET_CATEGORIES_AND_CHAPTERS","CREATE_CATEGORY","UPDATE_CATEGORY","DELETE_CATEGORY","SET_CHAPTERS","CREATE_CHAPTER","UPDATE_CHAPTER","DELETE_CHAPTER","SET_SUBTOPICS","SET_SUBTOPICS_AND_CONTENTS","CREATE_SUBTOPIC","UPDATE_SUBTOPIC","DELETE_SUBTOPIC","SET_CONTENTS","CREATE_CONTENT","UPDATE_CONTENT","DELETE_CONTENT","reducer","state","action","type","types","user","payload","topics","subscribedTopics","topicContents","categories","chapters","subTopics","contents","isLoadingTopics","fetchTopicsError","isLoadingSubscribedTopics","fetchSubscribedTopicsError","topic","_id","data","map","lc","filter","category","ch","chapter","st","subTopic","con","initialState","Context","createContext","Provider","ContextProvider","children","useReducer","dispatch","value","Login","handleLogin","useState","validated","setValidated","loggingIn","setLoggingIn","passwordVisibility","setPasswordVisibility","email_id","password","inputs","setInputs","misc","errors","setErrors","handleChange","e","target","name","handleSubmit","event","a","preventDefault","currentTarget","checkValidity","toLowerCase","includes","Container","Row","className","Col","xs","src","Logo","alt","width","classes","content","header","icon","faIdBadge","Form","noValidate","onSubmit","form","Group","controlId","Label","Control","onChange","placeholder","isInvalid","required","Feedback","passwordField","faEye","faEyeSlash","onClick","to","Alert","variant","loginButton","Spinner","as","animation","size","role","footer","API_URL_USER","axios","defaults","withCredentials","interceptors","request","use","token","localStorage","getItem","headers","error","Promise","reject","getUrlParameter","search","replace","results","RegExp","exec","window","location","hash","decodeURIComponent","generateAxiosError","err","response","message","login","post","success","setItem","authenticated","authenticationError","register","updateUserInfo","put","changePassword","resetPassword","sendPasswordResetOTP","sendPasswordResetLink","verifyPasswordResetOTP","history","useContext","toast","position","POSITION","TOP_RIGHT","autoClose","Register","handleRegister","saving","setSaving","password2Visibility","setPassword2Visibility","password2","faUserPlus","push","PasswordReset","handleResetPassword","invalidRequest","handleSendOTP","OTPVerified","setOTPVerified","loading","setLoading","passwordChanged","setPasswordChanged","newPassword","newPassword2","otp","validationData","setValidationData","setInvalidRequest","useEffect","verifyOTP","ForgotPassword","handleSendPasswordResetLink","DashboardHeader","pathname","Navbar","expand","sticky","fluid","Brand","Link","style","marginLeft","Toggle","Collapse","id","Nav","activeKey","navItems","href","marginRight","color","NavLink","borderBottom","NavDropdown","title","navDropdown","Item","active","subscribeTopic","getTopic","get","Accordion","arrowDirection","openState","postToggleFunction","buttonAction","buttonLoading","linkHref","customContainerClass","customAccordionClass","open","setOpen","container","preOpenState","accordion","borderTopLeftRadius","borderTopRightRadius","borderBottomColor","padding","borderRadius","faAngleUp","faAngleDown","md","margin","topicPrice","price","subscribed","topicActionButton","accordionContent","display","transform","borderTopColor","Field","this","props","htmlFor","fontWeight","label","disabled","min","autoComplete","React","Component","CARD_OPTIONS","iconStyle","base","fontFamily","fontSize","fontSmoothing","invalid","iconColor","CardField","FormRow","options","SubmitButton","processing","CreditCardForm","useHistory","stripe","useStripe","elements","useElements","setError","setSuccess","cardComplete","setCardComplete","setProcessing","setPaymentMethod","setPrice","email","address","line1","line2","billingDetails","setBillingDetails","getElement","focus","createPaymentMethod","card","CardElement","billing_details","intentDataResponse","intentData","secret","client_secret","intent_id","confirmCardPayment","payment_method","paymentMethod","result","paymentIntent","status","payment_id","payment_type","billing_info","confirmedPayment","Modal","show","Header","Title","Body","Footer","Button","complete","ELEMENTS_OPTIONS","fonts","cssSrc","PaymentComponent","keys","handleToggle","onHide","closeButton","Card","border","paymentWidgetContainerCard","loadStripe","ListTopics","getTopics","isLoading","fetchError","subscribing","setSubscribing","searchQuery","setSearchQuery","paymentModal","setPaymentModal","topicToBuy","setTopicToBuy","handleSubscribeTopic","productPrice","productName","checkout_url","find","i","dangerouslySetInnerHTML","__html","description","Payment","ListAllTopics","handleGetTopics","length","ViewContent","selectedTopic","selectedTopicId","selectedCategory","selectedChapter","selectedSubTopic","previousContent","nextContent","faTimesCircle","contentContainer","row","contentAbout","about","contentLookingFor","lookingFor","ViewTopic","fetching","selectedContent","changeQueryParams","handleSelectSubTopic","document","body","overflowY","Breadcrumb","linkAs","linkProps","backIcon","faArrowLeft","goBack","order","span","categoriesContainer","customAccordionContainerClass","ListGroup","chaptersList","subTopicTitle","handleSelectContent","match","selected","setSelected","setFetching","setFetchError","handleGetTopic","params","c","queryParams","AboutUs","aboutUsTitle","AboutUsImage","aboutUsText","Profile","getSubscribedTopics","formActions","subscribedTopic","activeIndicator","ChangePassword","Account","navLinksContainer","navLinks","navLink","activeNavLink","path","render","exact","Logout","removeItem","logout","handleGetSubscribedTopics","component","CheckoutSuccess","alert","Dashboard","getUserInfo","height","App","limit","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","getElementById","module","exports"],"mappings":"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","file":"static/js/main.e3e94fbd.chunk.js","sourcesContent":["//account\r\nexport const SET_USER_INFO = 'SET_USER_INFO';\r\nexport const UPDATE_USER_INFO = 'UPDATE_USER_INFO';\r\nexport const CHANGE_PASSWORD = 'CHANGE_PASSWORD';\r\nexport const LOGOUT = 'LOGOUT';\r\n\r\n//courses\r\nexport const SET_TOPICS = 'SET_TOPICS';\r\nexport const SET_TOPIC_CONTENT = 'SET_TOPIC_CONTENT';\r\nexport const SET_SUBSCRIBED_TOPICS = 'SET_SUBSCRIBED_TOPICS';\r\nexport const SUBSCRIBE_TOPIC = 'SUBSCRIBE_TOPIC';\r\nexport const UPDATE_TOPIC = 'UPDATE_TOPIC';\r\nexport const DELETE_TOPIC = 'DELETE_TOPIC';\r\nexport const IS_LOADING_TOPICS = 'IS_LOADING_TOPICS';\r\nexport const FETCH_TOPICS_ERROR = 'FETCH_TOPICS_ERROR';\r\nexport const IS_LOADING_SUBSCRIBED_TOPICS = 'IS_LOADING_SUBSCRIBED_TOPICS';\r\nexport const FETCH_SUBSCRIBED_TOPICS_ERROR = 'FETCH_SUBSCRIBED_TOPICS_ERROR';\r\n\r\n//lectures\r\nexport const SET_CATEGORIES = 'SET_CATEGORIES';\r\nexport const SET_CATEGORIES_AND_CHAPTERS = 'SET_CATEGORIES_AND_CHAPTERS';\r\nexport const CREATE_CATEGORY = 'CREATE_CATEGORY';\r\nexport const UPDATE_CATEGORY = 'UPDATE_CATEGORY';\r\nexport const DELETE_CATEGORY = 'DELETE_CATEGORY';\r\nexport const FETCH_CATEGORIES_ERROR = 'FETCH_CATEGORIES_ERROR';\r\n\r\n//chapters\r\nexport const SET_CHAPTERS = 'SET_CHAPTERS';\r\nexport const CREATE_CHAPTER = 'CREATE_CHAPTER';\r\nexport const UPDATE_CHAPTER = 'UPDATE_CHAPTER';\r\nexport const DELETE_CHAPTER = 'DELETE_CHAPTER';\r\nexport const FETCH_CHAPTERS_ERROR = 'FETCH_CHAPTERS_ERROR';\r\n\r\n//sub topics\r\nexport const SET_SUBTOPICS = 'SET_SUBTOPICS';\r\nexport const SET_SUBTOPICS_AND_CONTENTS = 'SET_SUBTOPICS_AND_CONTENTS';\r\nexport const CREATE_SUBTOPIC = 'CREATE_SUBTOPIC';\r\nexport const UPDATE_SUBTOPIC = 'UPDATE_SUBTOPIC';\r\nexport const DELETE_SUBTOPIC = 'DELETE_SUBTOPIC';\r\nexport const FETCH_SUBTOPICS_ERROR = 'FETCH_SUBTOPICS_ERROR';\r\n\r\n//contents\r\nexport const SET_CONTENTS = 'SET_CONTENTS';\r\nexport const CREATE_CONTENT = 'CREATE_CONTENT';\r\nexport const UPDATE_CONTENT = 'UPDATE_CONTENT';\r\nexport const DELETE_CONTENT = 'DELETE_CONTENT';\r\nexport const FETCH_CONTENTS_ERROR = 'FETCH_CONTENTS_ERROR';","import * as types from './types';\r\n\r\n\r\nexport default function reducer(state = {}, action) {\r\n switch (action.type){\r\n //account\r\n case types.SET_USER_INFO:\r\n return {\r\n //...state,\r\n user: {...state.user, ...action.payload},\r\n topics:[],\r\n subscribedTopics: [],\r\n topicContents: {},\r\n categories:{},\r\n chapters: {},\r\n subTopics:{},\r\n contents:{},\r\n isLoadingTopics: false,\r\n fetchTopicsError: null\r\n };\r\n case types.UPDATE_USER_INFO:\r\n return {\r\n ...state,\r\n user: {...state.user, ...action.payload}\r\n };\r\n case types.LOGOUT:\r\n return {\r\n user: {...action.payload},\r\n topics:[],\r\n subscribedTopics: [],\r\n topicContents: {},\r\n categories:{},\r\n chapters: {},\r\n subTopics:{},\r\n contents:{},\r\n isLoadingTopics: false,\r\n fetchTopicsError: null\r\n };\r\n case types.CHANGE_PASSWORD:\r\n return {\r\n ...state\r\n }\r\n\r\n //topics\r\n case types.SET_TOPICS:\r\n return {\r\n ...state,\r\n topics: action.payload.topics,\r\n subscribedTopics: action.payload.subscribedTopics,\r\n isLoadingTopics: false,\r\n fetchTopicsError: false\r\n };\r\n case types.SET_SUBSCRIBED_TOPICS:\r\n return {\r\n ...state,\r\n subscribedTopics: action.payload,\r\n isLoadingSubscribedTopics: false,\r\n fetchSubscribedTopicsError: false\r\n };\r\n case types.SET_TOPIC_CONTENT:\r\n return {\r\n ...state,\r\n topicContents: {...state.topicContents, [action.payload.topic._id]:action.payload}\r\n };\r\n case types.SUBSCRIBE_TOPIC:\r\n return {\r\n ...state,\r\n subscribedTopics: [...state.subscribedTopics, action.payload]\r\n };\r\n case types.IS_LOADING_TOPICS:\r\n return {\r\n ...state,\r\n isLoadingTopics: action.payload\r\n }\r\n case types.FETCH_TOPICS_ERROR:\r\n return {\r\n ...state,\r\n isLoadingTopics: false,\r\n fetchTopicsError: action.payload\r\n }\r\n case types.IS_LOADING_SUBSCRIBED_TOPICS:\r\n return {\r\n ...state,\r\n isLoadingSubscribedTopics: action.payload\r\n }\r\n case types.FETCH_SUBSCRIBED_TOPICS_ERROR:\r\n return {\r\n ...state,\r\n isLoadingSubscribedTopics: false,\r\n fetchSubscribedTopicsError: action.payload\r\n }\r\n \r\n case types.SET_CATEGORIES:\r\n return {\r\n ...state,\r\n categories: {\r\n ...state.categories,\r\n [action.payload.topic]: [...action.payload.data]\r\n }\r\n }\r\n case types.SET_CATEGORIES_AND_CHAPTERS:\r\n return {\r\n ...state,\r\n categories: {\r\n ...state.categories,\r\n [action.payload.topic]: [...action.payload.categories]\r\n },\r\n chapters: {\r\n ...state.chapters,\r\n ...action.payload.chapters\r\n }\r\n }\r\n case types.CREATE_CATEGORY:\r\n return {\r\n ...state,\r\n categories: {\r\n ...state.categories,\r\n [action.payload.topic]: [...state.categories[action.payload.topic], action.payload]\r\n }\r\n }\r\n case types.UPDATE_CATEGORY:\r\n return {\r\n ...state,\r\n categories: {\r\n ...state.categories,\r\n [action.payload.topic]: state.categories[action.payload.topic].map(lc => lc._id === action.payload._id ? \r\n {...action.payload} \r\n : lc)\r\n }\r\n }\r\n case types.DELETE_CATEGORY:\r\n return {\r\n ...state,\r\n categories: {\r\n ...state.categories,\r\n [action.payload.topic]: state.categories[action.payload.topic].filter(lc => lc._id !== action.payload._id)\r\n },\r\n }\r\n\r\n //chapters\r\n case types.SET_CHAPTERS:\r\n return {\r\n ...state,\r\n chapters: {\r\n ...state.chapters,\r\n ...action.payload.chapters\r\n }\r\n };\r\n case types.CREATE_CHAPTER:\r\n return {\r\n ...state,\r\n chapters: {\r\n ...state.chapters,\r\n [action.payload.category]: state.chapters[action.payload.category] ?\r\n [...state.chapters[action.payload.category], action.payload]\r\n : \r\n [action.payload]\r\n }\r\n }\r\n case types.UPDATE_CHAPTER:\r\n return {\r\n ...state,\r\n chapters: {\r\n ...state.chapters,\r\n [action.payload.category]: state.chapters[action.payload.category].map(ch => ch._id === action.payload._id ? \r\n {...action.payload} \r\n : ch)\r\n }\r\n }\r\n case types.DELETE_CHAPTER:\r\n return {\r\n ...state,\r\n chapters: {\r\n ...state.chapters,\r\n [action.payload.category]: (state.chapters[action.payload.category] && state.chapters[action.payload.category].filter(ch => ch._id !== action.payload._id))\r\n },\r\n }\r\n \r\n //sub topics\r\n case types.SET_SUBTOPICS:\r\n return {\r\n ...state,\r\n subTopics: {\r\n ...state.subTopics,\r\n ...action.payload.subTopics\r\n }\r\n };\r\n case types.SET_SUBTOPICS_AND_CONTENTS:\r\n return {\r\n ...state,\r\n subTopics: {\r\n ...state.subTopics,\r\n [action.payload.chapter]: [...action.payload.subTopics]\r\n },\r\n contents: {\r\n ...state.contents,\r\n ...action.payload.contents\r\n }\r\n };\r\n case types.CREATE_SUBTOPIC:\r\n return {\r\n ...state,\r\n subTopics: {\r\n ...state.subTopics,\r\n [action.payload.chapter]: [...state.subTopics[action.payload.chapter], action.payload]\r\n }\r\n }\r\n\r\n case types.UPDATE_SUBTOPIC:\r\n return {\r\n ...state,\r\n subTopics: {\r\n ...state.subTopics,\r\n [action.payload.chapter]: state.subTopics[action.payload.chapter].map(st => st._id === action.payload._id ? \r\n {...action.payload} \r\n : st)\r\n }\r\n }\r\n case types.DELETE_SUBTOPIC:\r\n return {\r\n ...state,\r\n subTopics: {\r\n ...state.subTopics,\r\n [action.payload.chapter]: state.subTopics[action.payload.chapter].filter(st => st._id !== action.payload._id)\r\n },\r\n }\r\n \r\n //contents\r\n case types.SET_CONTENTS:\r\n return {\r\n ...state,\r\n contents: action.payload\r\n };\r\n case types.CREATE_CONTENT:\r\n return {\r\n ...state,\r\n contents: {\r\n ...state.contents,\r\n [action.payload.subTopic]: state.contents[action.payload.subTopic] ?\r\n [...state.contents[action.payload.subTopic], action.payload]\r\n : \r\n [action.payload]\r\n }\r\n }\r\n case types.UPDATE_CONTENT:\r\n return {\r\n ...state,\r\n contents: {\r\n ...state.contents,\r\n [action.payload.subTopic]: state.contents[action.payload.subTopic].map(con => con._id === action.payload._id ? \r\n {...action.payload} \r\n : con)\r\n }\r\n }\r\n case types.DELETE_CONTENT:\r\n return {\r\n ...state,\r\n contents: {\r\n ...state.contents,\r\n [action.payload.subTopic]: (state.contents[action.payload.subTopic] && state.contents[action.payload.subTopic].filter(con => con._id !== action.payload._id))\r\n },\r\n }\r\n\r\n default:\r\n return state; \r\n }\r\n}","import {useReducer, createContext} from 'react';\r\n\r\nimport reducer from './reducer';\r\n\r\nconst initialState = {\r\n user:{},\r\n topics:[],\r\n subscribedTopics: [],\r\n topicContents: {},\r\n categories:{},\r\n chapters: {},\r\n subTopics:{},\r\n contents:{},\r\n isLoadingTopics: false,\r\n fetchTopicsError: null\r\n}\r\n\r\nexport const Context = createContext(initialState);\r\n\r\nconst { Provider } = Context;\r\n\r\nexport const ContextProvider = ({children}) => {\r\n\r\n const [state, dispatch] = useReducer(reducer, initialState)\r\n\r\n return {children}\r\n\r\n}","export default __webpack_public_path__ + \"static/media/logo.d74c83be.svg\";","import {useState} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {Container, Row, Col, Form, Spinner, Alert} from 'react-bootstrap';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faIdBadge } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport Logo from '../../assets/logo.svg';\r\nimport classes from './Login.module.css';\r\n\r\nfunction Login({handleLogin}){\r\n const [validated, setValidated] = useState(false);\r\n const [loggingIn, setLoggingIn] = useState(false);\r\n const [passwordVisibility, setPasswordVisibility] = useState(false);\r\n const [inputs, setInputs] = useState({\r\n email_id: '',\r\n password: '',\r\n type: 'user'\r\n })\r\n const [errors, setErrors] = useState({\r\n email_id: null,\r\n password: null,\r\n misc: null\r\n })\r\n\r\n const handleChange = (e) => {\r\n const {name, value} = e.target;\r\n setInputs({\r\n ...inputs,\r\n [name]: value\r\n })\r\n }\r\n\r\n const handleSubmit = async (event) => {\r\n\r\n try{\r\n event.preventDefault();\r\n\r\n setErrors({\r\n email_id: null,\r\n password: null,\r\n misc: null\r\n });\r\n const form = event.currentTarget;\r\n if (form.checkValidity() !== false) {\r\n setLoggingIn(true);\r\n await handleLogin(inputs);\r\n }\r\n else{\r\n setValidated(true);\r\n }\r\n\r\n }\r\n catch(e){\r\n //setValidated(true);\r\n if(e.toLowerCase().includes('email') || e.toLowerCase().includes('user')) setErrors({password: null, misc: null, email_id:e})\r\n else if(e.toLowerCase().includes('password')) setErrors({email_id: null, misc: null, password: e})\r\n else setErrors({email_id:null, password: null, misc: e})\r\n }\r\n finally{\r\n setLoggingIn(false);\r\n }\r\n\r\n };\r\n\r\n return(\r\n \r\n \r\n \r\n
\r\n \"logo\"\r\n
\r\n
\r\n\r\n
\r\n \r\n

Login

\r\n
\r\n
\r\n
\r\n \r\n Email address\r\n \r\n \r\n {errors.email_id || \"Please enter a valid email address\"}\r\n \r\n \r\n\r\n \r\n Password\r\n
\r\n \r\n
\r\n setPasswordVisibility(!passwordVisibility)}/>\r\n
\r\n \r\n {errors.password || \"Password cannot be left blank\"}\r\n \r\n
\r\n
\r\n
\r\n Forgot password?\r\n
\r\n\r\n {errors.misc && \r\n \r\n {errors.misc}\r\n \r\n }\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

Don't have an account? Sign up

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Login;","const IS_PROD = process.env.REACT_APP_NODE_ENV === 'production';\r\nconst API_URL_USER = (IS_PROD ? process.env.REACT_APP_API_URL : 'http://localhost:4000')+'/api/user';\r\nconst API_URL_AUTH = (IS_PROD ? process.env.REACT_APP_API_URL : 'http://localhost:4000')+'/api/auth';\r\n\r\nexport {\r\n API_URL_USER,\r\n API_URL_AUTH\r\n}","import axios from 'axios';\r\n \r\naxios.defaults.withCredentials = true;\r\n\r\naxios.interceptors.request.use(request => {\r\n const token = localStorage.getItem('user-token');\r\n request.headers['Authorization'] = `basic ${token}`;\r\n return request;\r\n}, function (error) {\r\n return Promise.reject(error);\r\n});\r\n\r\nexport default axios;","export const getUrlParameter = (name, search) => {\r\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n let regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\r\n let results = regex.exec(search || window.location.search || window.location.hash);\r\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n};\r\n\r\nexport const generateAxiosError = (err) => {\r\n if(err.response){\r\n return (err.response.data ? (err.response.data.message || err.response.data) : err.response)\r\n }\r\n else{\r\n return err.message || err\r\n }\r\n}","import * as types from '../types';\r\nimport {API_URL_AUTH, API_URL_USER} from '../../config';\r\nimport axios from '../../utils/axios';\r\nimport {generateAxiosError} from '../../utils';\r\n\r\nexport const login = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.post(`${API_URL_AUTH}/login`, inputs)\r\n if(data && data.success){\r\n localStorage.setItem(\"user-token\", data.data.token);\r\n dispatch({ type: types.SET_USER_INFO, payload: {authenticated: true, name: data.data.name, email_id: data.data.email_id, authenticationError: null} });\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n dispatch({ type: types.SET_USER_INFO, payload: {authenticationError: generateAxiosError(error)} });\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\nexport const register = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.post(`${API_URL_USER}/auth/register`, inputs)\r\n if(data && data.success){\r\n return true;\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\nexport const logout = () => async (dispatch) => {\r\n try {\r\n const token = localStorage.getItem('user-token');\r\n // const {data} = await axios.post(`${API_URL_AUTH}/logout`, {})\r\n // if(data && data.success){\r\n // localStorage.setItem(\"user-token\", data.data.token);\r\n // dispatch({ type: types.SET_USER_INFO, payload: {authenticated: true, name: data.data.name, email_id: data.data.email_id} });\r\n // }\r\n // else{\r\n // throw data ? data.message : \"Some error occurred\";\r\n // }\r\n localStorage.removeItem('user-token');\r\n dispatch({ type: types.LOGOUT, payload: {authenticated: false} });\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n \r\nexport const getUserInfo = () => async (dispatch) => {\r\n try {\r\n const {data} = await axios.get(`${API_URL_USER}/auth/info`)\r\n if(data && data.success){\r\n dispatch({ type: types.SET_USER_INFO, payload: {authenticated: true, name: data.data.name, email_id: data.data.email_id,authenticationError: null} });\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n dispatch({ type: types.SET_USER_INFO, payload: {authenticationError: generateAxiosError(error)} });\r\n }\r\n}\r\n\r\nexport const updateUserInfo = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.put(`${API_URL_USER}/auth/info`, inputs)\r\n if(data && data.success){\r\n dispatch({ type: types.SET_USER_INFO, payload: {name: data.data.name} });\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\nexport const changePassword = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.put(`${API_URL_USER}/auth/change-password`, inputs)\r\n if(data && data.success){\r\n return;\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\n\r\nexport const resetPassword = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.post(`${API_URL_USER}/auth/password-reset`, inputs)\r\n if(data && data.success){\r\n return;\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\n\r\nexport const sendPasswordResetOTP = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.post(`${API_URL_USER}/auth/password-reset/otp`, inputs)\r\n if(data && data.success){\r\n return;\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\nexport const sendPasswordResetLink = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.post(`${API_URL_USER}/auth/password-reset/link`, inputs)\r\n if(data && data.success){\r\n return;\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\nexport const verifyPasswordResetOTP = (inputs) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.post(`${API_URL_USER}/auth/password-reset/verify`, inputs)\r\n if(data && data.success){\r\n return;\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}","import {useContext} from 'react';\r\nimport {toast} from 'react-toastify';\r\nimport LoginComponent from '../components/Login/index';\r\n\r\n//store imports\r\nimport {Context} from '../store';\r\nimport {login} from '../store/actions/account';\r\n\r\nfunction Login({history}){\r\n\r\n const {state, dispatch} = useContext(Context);\r\n\r\n async function handleLogin(data){\r\n try{\r\n await login(data)(dispatch);\r\n toast.success(\"Login successful\", {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n history.replace('/');\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n throw e;\r\n }\r\n }\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\nexport default Login;","import {useState} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {Container, Row, Col, Form, Spinner} from 'react-bootstrap';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faUserPlus } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport Logo from '../../assets/logo.svg';\r\nimport classes from '../Login/Login.module.css';\r\n\r\nfunction Register({handleRegister}){\r\n \r\n const [validated, setValidated] = useState(false);\r\n const [saving, setSaving] = useState(false);\r\n const [passwordVisibility, setPasswordVisibility] = useState(false);\r\n const [password2Visibility, setPassword2Visibility] = useState(false);\r\n const [inputs, setInputs] = useState({\r\n name: '',\r\n email_id: '',\r\n password: '',\r\n password2: ''\r\n })\r\n\r\n const handleChange = (e) => {\r\n const {name, value} = e.target;\r\n setInputs({\r\n ...inputs,\r\n [name]: value\r\n })\r\n }\r\n\r\n const handleSubmit = async (event) => {\r\n\r\n try{\r\n event.preventDefault();\r\n\r\n const form = event.currentTarget;\r\n if (form.checkValidity() !== false) {\r\n setSaving(true);\r\n await handleRegister(inputs);\r\n }\r\n else{\r\n setValidated(true);\r\n }\r\n\r\n }\r\n catch(e){\r\n setValidated(true);\r\n }\r\n finally{\r\n setSaving(false);\r\n }\r\n\r\n };\r\n\r\n return(\r\n \r\n \r\n \r\n
\r\n \"logo\"\r\n
\r\n
\r\n\r\n
\r\n \r\n

Create new account

\r\n
\r\n
\r\n
\r\n \r\n Full name\r\n \r\n \r\n Full name cannot be left blank\r\n \r\n \r\n\r\n \r\n Email address\r\n \r\n \r\n Please enter a valid email address\r\n \r\n \r\n\r\n \r\n Password\r\n
\r\n \r\n
\r\n setPasswordVisibility(!passwordVisibility)}/>\r\n
\r\n \r\n Password cannot be left blank\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Confirm password\r\n
\r\n \r\n
\r\n setPassword2Visibility(!password2Visibility)}/>\r\n
\r\n \r\n Passwords does not match\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

Already have an account? Login

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Register;","import {useContext} from 'react';\r\nimport {toast} from 'react-toastify';\r\nimport RegisterComponent from '../components/Register/index';\r\n\r\n//store imports\r\nimport {Context} from '../store';\r\nimport {register} from '../store/actions/account';\r\n\r\nfunction Register({history}){\r\n\r\n const {state, dispatch} = useContext(Context);\r\n\r\n async function handleRegister(data){\r\n try{\r\n if(data.password !== data.password2){\r\n throw \"Passwords does not match\";\r\n }\r\n await register(data)(dispatch);\r\n toast.success(\"Signup successful\", {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n history.push('/login');\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n throw e;\r\n }\r\n }\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\nexport default Register;","import {useState} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {Container, Row, Col, Form, Spinner, Alert} from 'react-bootstrap';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport Logo from '../../assets/logo.svg';\r\nimport classes from './PasswordReset.module.css';\r\n\r\nfunction PasswordReset({handleResetPassword, handleSendOTP, invalidRequest, OTPVerified, setOTPVerified}){\r\n \r\n const [validated, setValidated] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [passwordChanged, setPasswordChanged] = useState(false);\r\n const [inputs, setInputs] = useState({\r\n newPassword:'',\r\n newPassword2:''\r\n })\r\n const [passwordVisibility, setPasswordVisibility] = useState(false);\r\n const [password2Visibility, setPassword2Visibility] = useState(false);\r\n const [errors, setErrors] = useState({\r\n newPassword: null,\r\n newPassword2: null,\r\n misc: null\r\n })\r\n\r\n const handleChange = (e) => {\r\n const {name, value} = e.target;\r\n setInputs({\r\n ...inputs,\r\n [name]: value\r\n })\r\n }\r\n const handleSubmit = async (event) => {\r\n\r\n try{\r\n event.preventDefault();\r\n\r\n setErrors({\r\n newPassword: null,\r\n newPassword2: null,\r\n misc: null\r\n });\r\n const form = event.currentTarget;\r\n if (form.checkValidity() !== false && inputs.newPassword === inputs.newPassword2) {\r\n setLoading(true);\r\n await handleResetPassword(inputs);\r\n\r\n setInputs({newPassword:'', newPassword2: ''})\r\n setPasswordChanged(true);\r\n }\r\n else if(inputs.newPassword !== inputs.newPassword2){\r\n toast.error(\"Passwords does not match\", {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n setErrors({misc: null, newPassword: null, newPassword2: \"Passwords does not match\"});\r\n \r\n }\r\n else{\r\n setValidated(true);\r\n }\r\n\r\n }\r\n catch(e){\r\n //setValidated(true);\r\n setErrors({newPassword: null, newPassword2: null, misc: e})\r\n }\r\n finally{\r\n setLoading(false);\r\n }\r\n\r\n };\r\n\r\n return(\r\n \r\n \r\n \r\n
\r\n \"logo\"\r\n
\r\n
\r\n\r\n
\r\n

Reset Password

\r\n
\r\n
\r\n\r\n {passwordChanged ?\r\n \r\n
\r\n
Password changed successfully
\r\n
\r\n :(!invalidRequest && OTPVerified) ?\r\n
\r\n\r\n \r\n Enter new password\r\n
\r\n \r\n
\r\n setPasswordVisibility(!passwordVisibility)}/>\r\n
\r\n \r\n {errors.newPassword || \"This field cannot be blank\"}\r\n \r\n
\r\n
\r\n \r\n \r\n Re-enter new password\r\n
\r\n \r\n
\r\n setPassword2Visibility(!password2Visibility)}/>\r\n
\r\n \r\n {errors.newPassword2 || \"This field cannot be blank\"}\r\n \r\n
\r\n
\r\n\r\n {errors.misc && \r\n \r\n {errors.misc}\r\n \r\n }\r\n\r\n
\r\n \r\n
\r\n
\r\n :invalidRequest?\r\n \r\n
\r\n
Invalid Request
\r\n
\r\n \r\n :\r\n \r\n
\r\n \r\n
\r\n }\r\n\r\n {OTPVerified && \r\n
\r\n

Go to Login

\r\n
}\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default PasswordReset;","import {useContext, useEffect, useState} from 'react';\r\nimport {toast} from 'react-toastify';\r\nimport PasswordResetComponent from '../components/PasswordReset/index';\r\n\r\n//store imports\r\nimport {Context} from '../store';\r\nimport {sendPasswordResetOTP, verifyPasswordResetOTP, resetPassword} from '../store/actions/account';\r\nimport { getUrlParameter } from '../utils';\r\n\r\nfunction PasswordReset({history, location}){\r\n\r\n const {state, dispatch} = useContext(Context);\r\n\r\n const [validationData, setValidationData] = useState({email_id:null, otp: null})\r\n const [invalidRequest, setInvalidRequest] = useState(false);\r\n const [OTPVerified, setOTPVerified] = useState(false);\r\n\r\n useEffect(()=>{\r\n verifyOTP();\r\n },[location.search])\r\n\r\n async function verifyOTP(){\r\n try{\r\n const user = getUrlParameter('user');\r\n const otp = getUrlParameter('otp');\r\n\r\n setValidationData({email_id:user, otp})\r\n if(!user || !otp){\r\n setInvalidRequest(true);\r\n }\r\n else{\r\n await verifyPasswordResetOTP({email_id: user, otp})(dispatch);\r\n }\r\n }\r\n catch(e){\r\n setInvalidRequest(true);\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n }\r\n finally{\r\n setOTPVerified(true);\r\n }\r\n }\r\n\r\n async function handleResetPassword(data){\r\n try{\r\n await resetPassword({...data, ...validationData})(dispatch);\r\n toast.success(\"Password changed successfully\", {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n history.push('/login');\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n throw e;\r\n }\r\n }\r\n \r\n async function handleSendOTP(data){\r\n try{\r\n await sendPasswordResetOTP(data)(dispatch);\r\n toast.success(\"OTP sent to the provided email address\", {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n throw e;\r\n }\r\n }\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\nexport default PasswordReset;","import {useState} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {Container, Row, Col, Form, Spinner, Alert} from 'react-bootstrap';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash, faIdBadge } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport Logo from '../../assets/logo.svg';\r\nimport classes from './PasswordReset.module.css';\r\n\r\nfunction ForgotPassword({handleSendPasswordResetLink}){\r\n \r\n const [validated, setValidated] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [inputs, setInputs] = useState({\r\n email_id: ''\r\n })\r\n const [errors, setErrors] = useState({\r\n email_id: null,\r\n misc: null\r\n })\r\n\r\n const handleChange = (e) => {\r\n const {name, value} = e.target;\r\n setInputs({\r\n ...inputs,\r\n [name]: value\r\n })\r\n }\r\n const handleSubmit = async (event) => {\r\n\r\n try{\r\n event.preventDefault();\r\n\r\n setErrors({\r\n email_id: null,\r\n misc: null\r\n });\r\n const form = event.currentTarget;\r\n if (form.checkValidity() !== false) {\r\n setLoading(true);\r\n\r\n await handleSendPasswordResetLink(inputs);\r\n\r\n setInputs({\r\n email_id: ''\r\n })\r\n }\r\n else{\r\n setValidated(true);\r\n }\r\n\r\n }\r\n catch(e){\r\n //setValidated(true);\r\n if(e.toLowerCase().includes('email') || e.toLowerCase().includes('user')) setErrors({misc: null, email_id:e})\r\n else setErrors({email_id:null, misc: e})\r\n }\r\n finally{\r\n setLoading(false);\r\n }\r\n\r\n };\r\n\r\n return(\r\n \r\n \r\n \r\n
\r\n \"logo\"\r\n
\r\n
\r\n\r\n
\r\n

Forgot Password

\r\n
\r\n
\r\n
\r\n \r\n Enter your email address, and we will send you instructions to reset your password\r\n \r\n \r\n {errors.email_id || \"Please enter a valid email address\"}\r\n \r\n \r\n\r\n {errors.misc && \r\n \r\n {errors.misc}\r\n \r\n }\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

Go to Login

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ForgotPassword;","import {useContext} from 'react';\r\nimport {toast} from 'react-toastify';\r\nimport ForgotPasswordComponent from '../components/PasswordReset/ForgotPassword';\r\n\r\n//store imports\r\nimport {Context} from '../store';\r\nimport {sendPasswordResetLink} from '../store/actions/account';\r\n\r\nfunction ForgotPassword({history}){\r\n\r\n const {state, dispatch} = useContext(Context);\r\n \r\n async function handleSendPasswordResetLink(data){\r\n try{\r\n await sendPasswordResetLink(data)(dispatch);\r\n toast.success(\"Password reset link sent to the provided email address\", {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n throw e;\r\n }\r\n }\r\n\r\n return(\r\n \r\n )\r\n}\r\n\r\nexport default ForgotPassword;","import {Link, NavLink} from 'react-router-dom';\r\nimport {Navbar, Container, Nav, NavDropdown} from 'react-bootstrap';\r\n\r\nimport classes from \"./DashboardHeader.module.css\";\r\nimport Logo from '../../assets/logo.svg';\r\n\r\nfunction DashboardHeader({pathname}){\r\n return(\r\n \r\n \r\n \r\n \"logo\"/\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default DashboardHeader;","import * as types from '../types';\r\nimport {API_URL_USER} from '../../config';\r\nimport axios from '../../utils/axios';\r\nimport {generateAxiosError} from '../../utils';\r\n\r\nexport const getTopics = () => async (dispatch) => {\r\n dispatch({ type: types.IS_LOADING_TOPICS, payload: true });\r\n try {\r\n const {data} = await axios.get(`${API_URL_USER}/topic`)\r\n if(data && data.success){\r\n dispatch({ type: types.SET_TOPICS, payload: data.data });\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n dispatch({ type: types.FETCH_TOPICS_ERROR, payload: generateAxiosError(error) });\r\n }\r\n}\r\n\r\nexport const getSubscribedTopics = () => async (dispatch) => {\r\n dispatch({ type: types.IS_LOADING_SUBSCRIBED_TOPICS, payload: true });\r\n try {\r\n const {data} = await axios.get(`${API_URL_USER}/topic/subscribed`)\r\n if(data && data.success){\r\n dispatch({ type: types.SET_SUBSCRIBED_TOPICS, payload: data.data });\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n dispatch({ type: types.FETCH_SUBSCRIBED_TOPICS_ERROR, payload: generateAxiosError(error) });\r\n }\r\n}\r\n\r\nexport const subscribeTopic = (topic) => async (dispatch) => {\r\n try {\r\n dispatch({ type: types.SUBSCRIBE_TOPIC, payload: topic });\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}\r\n\r\nexport const getTopic = (topic) => async (dispatch) => {\r\n try {\r\n const {data} = await axios.get(`${API_URL_USER}/topic/subscribed/${topic}`)\r\n if(data && data.success){\r\n dispatch({ type: types.SET_TOPIC_CONTENT, payload: data.data });\r\n }\r\n else{\r\n throw data ? data.message : \"Some error occurred\";\r\n }\r\n } catch (error) {\r\n throw generateAxiosError(error);\r\n }\r\n}","import {useState, useEffect} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {Row, Col, Spinner} from 'react-bootstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faAngleDown, faAngleUp } from '@fortawesome/free-solid-svg-icons'\r\n\r\nimport classes from './Accordion.module.css';\r\n\r\nfunction Accordion({title, type, topic, arrowDirection, openState, postToggleFunction, buttonAction, buttonLoading, linkHref, customContainerClass, customAccordionClass, children}){\r\n\r\n const [open, setOpen] = useState(false);\r\n\r\n useEffect(()=>{\r\n if(typeof openState === 'boolean'){\r\n setOpen(openState);\r\n }\r\n },[openState])\r\n\r\n function handleToggle(e){\r\n if(e.target.className.includes(\"action-button\")){\r\n return;\r\n }\r\n else{\r\n const preOpenState = !open;\r\n setOpen(!open);\r\n if(postToggleFunction){\r\n postToggleFunction(type, title, preOpenState);\r\n }\r\n }\r\n }\r\n\r\n return(\r\n
\r\n
\r\n {arrowDirection === \"left\" && \r\n \r\n }\r\n \r\n \r\n
{title}
\r\n \r\n {arrowDirection === \"right\" && \r\n \r\n \r\n \r\n }\r\n {topic && \r\n \r\n \r\n \r\n

$ {topic.price}

\r\n \r\n \r\n {topic.subscribed ?\r\n Access Content\r\n :\r\n \r\n }\r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Accordion;","//template for form fields\r\nimport React from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\n\r\nexport default class Field extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n {this.props.label}\r\n \r\n \r\n \r\n );\r\n }\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { useHistory, Redirect, Link } from \"react-router-dom\";\r\nimport {\r\n CardElement,\r\n useElements,\r\n useStripe,\r\n Elements,\r\n} from \"@stripe/react-stripe-js\";\r\nimport { Row, Col, Form, Modal, Button } from \"react-bootstrap\";\r\nimport Field from \"./Field\";\r\n\r\n//css provided by stripe to format elements\r\nimport classes from \"./Payment.module.css\";\r\n\r\nimport axios from '../../utils/axios';\r\nimport {API_URL_USER} from '../../config';\r\n\r\n//credit card element specific styling\r\nconst CARD_OPTIONS = {\r\n iconStyle: \"solid\",\r\n style: {\r\n base: {\r\n fontWeight: 500,\r\n fontFamily: \"Roboto, Open Sans, Segoe UI, sans-serif\",\r\n\t\t\tfontSize: \"18px\",\r\n\t\t\tcolor: \"#424770\",\r\n fontSmoothing: \"antialiased\",\r\n \":-webkit-autofill\": {\r\n color: '#cccccc',\r\n },\r\n \"::placeholder\": {\r\n color: '#888',\r\n },\r\n },\r\n invalid: {\r\n iconColor: \"red\",\r\n color: \"red\",\r\n },\r\n },\r\n};\r\n\r\n//scredit card button sub component\r\nconst CardField = ({onChange}) => (\r\n
\r\n \r\n
\r\n );\r\n\r\n//submit button sub component\r\nconst SubmitButton = ({ processing, error, children, disabled }) => (\r\n \r\n {processing ? \"Processing...\" : children}\r\n \r\n);\r\n\r\n//component declaration\r\nexport default function CreditCardForm({topic, subscribeTopic}) {\r\n\r\n let history = useHistory();\r\n\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const [error, setError] = useState(null);\r\n const [success, setSuccess] = useState(false)\r\n const [cardComplete, setCardComplete] = useState(false);\r\n const [processing, setProcessing] = useState(false);\r\n const [paymentMethod, setPaymentMethod] = useState('');\r\n const [price, setPrice] = useState(0);\r\n const [billingDetails, setBillingDetails] = useState({\r\n email: '',\r\n name: '',\r\n address: { \r\n line1: '',\r\n line2: '',\r\n }\r\n });\r\n\r\n\r\n //resets state on completion\r\n const reset = () => {\r\n setError(null);\r\n setProcessing(false);\r\n setPaymentMethod('');\r\n setPrice(0);\r\n setSuccess(false);\r\n setCardComplete(false);\r\n setBillingDetails({\r\n email: '',\r\n name: '',\r\n address: {\r\n line1: '',\r\n line2: ''\r\n }\r\n });\r\n };\r\n\r\n /*\r\n\tThis code runs when a card transaction is submitted\r\n\tThere are three main components to this function:\r\n\t\t\r\n\t\t1. create a new stripe payment method using the form data\r\n\t\t\r\n\t\t2. get a payment intent from the server using the speficied price\r\n\t\t3. confirm the payment intent using the new payment method\r\n\t\t4. send a confiemation to the server if the payment succeeded\r\n\t*/\r\n const handleSubmit = async (event) => {\r\n try{\r\n //prevent default form values\r\n event.preventDefault();\r\n\r\n ///if stripe api is loaded\r\n if (!stripe || !elements) {\r\n return;\r\n }\r\n\r\n //handle errors\r\n if (error) {\r\n //console.log(error);\r\n elements.getElement(\"card\").focus();\r\n return;\r\n }\r\n\r\n // if(topic.price == 0) {\r\n // return;\r\n // }\r\n\r\n //start processing animation on submit button\r\n if (cardComplete) {\r\n setProcessing(true);\r\n } else {\r\n setError(\"Invalid Card Details\");\r\n return;\r\n }\r\n\r\n\t\t//STEP 1:\r\n //create new payment method based on card and form information\r\n const payload = await stripe.createPaymentMethod({\r\n type: \"card\",\r\n card: elements.getElement(CardElement),\r\n billing_details: billingDetails\r\n });\r\n\r\n //handle errors, otherwise set the new payment method in state\r\n if (payload.error) {\r\n setError(payload.error.message || payload.error);\r\n return;\r\n } \r\n\t\t\r\n\t\t//STEP 2:\r\n //create a new payment request and get irs client secret + id from the server\r\n \r\n const intentDataResponse = await axios\r\n .post(`${API_URL_USER}/topic/subscribe/initiate`, {\r\n //include the bet amount\r\n topic: topic._id,\r\n price: topic.price,\r\n });\r\n\r\n const intentData = {\r\n secret: intentDataResponse.data.data.client_secret,\r\n id: intentDataResponse.data.data.intent_id\r\n }\r\n\t\t\r\n\t\t//STEP 3:\r\n //confirm the payment and use the new payment method\r\n const result = await stripe.confirmCardPayment(intentData.secret, {\r\n payment_method: payload.paymentMethod.id,\r\n });\r\n\r\n //handle errors again\r\n if (result.error) {\r\n setError((result.error && result.error.message) ? result.error.message : result.error);\r\n return\r\n }\r\n\t\t\r\n\t\t//STEP 4:\r\n // The payment has been processed! send a confirmation to the server\r\n if (result.paymentIntent.status === \"succeeded\") {\r\n const confirmedPayment = await axios\r\n .post(`${API_URL_USER}/topic/subscribe`, {\r\n //include id of payment\r\n topic: topic._id,\r\n price: topic.price,\r\n payment_id: intentData.id,\r\n payment_type: \"stripe\",\r\n billing_info: billingDetails\r\n //send any other data here\r\n })\r\n\r\n //reset the state and show the success message\r\n if (confirmedPayment) {\r\n subscribeTopic(confirmedPayment.data.data)\r\n //reset the form\r\n reset();\r\n\r\n /*\r\n YOUR APPLICATION SPECIFIC CODE HERE:\r\n for this example all we do is render a modal\r\n */\r\n setSuccess(true);\r\n }\r\n }\r\n }\r\n catch(error){\r\n setError((error.response && error.response.data.message ) || error.message || error);\r\n return error;\r\n }\r\n finally{\r\n setProcessing(false);\r\n }\r\n }\r\n\r\n \r\n\r\n //render\r\n return (\r\n // the credit card form\r\n
\r\n\r\n {/* Error modal */}\r\n \r\n \r\n Error\r\n \r\n\r\n \r\n

{error}

\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n {/* success banner, only shows after confirmation */}\r\n \r\n \r\n Payment Succeeded\r\n \r\n \r\n Your card payment has been confirmed\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n

Topic Information

\r\n
\r\n \r\n \r\n \r\n\r\n {/* Credit Card Payment Form */}\r\n \r\n

Billing Information

\r\n
\r\n {/* name field */}\r\n {\r\n setBillingDetails({...billingDetails, name: event.target.value});\r\n }}\r\n />\r\n {/* email field */}\r\n {\r\n setBillingDetails({...billingDetails, email: event.target.value});\r\n }}\r\n />\r\n {/* address fields */}\r\n {\r\n setBillingDetails({...billingDetails, \r\n address: {\r\n line1: event.target.value, \r\n line2: billingDetails.address.line2\r\n }\r\n });\r\n }}\r\n />\r\n {/* address line 2 */}\r\n {\r\n setBillingDetails({...billingDetails, \r\n address: {\r\n line1: billingDetails.address.line1, \r\n line2: event.target.value, \r\n }\r\n });\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n\r\n {/* credit card field and submit button */}\r\n \r\n

Card Information

\r\n
\r\n {/* card */}\r\n {\r\n setError((event.error && event.error.message) || event.error);\r\n setCardComplete(event.complete);\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n {/* submit */}\r\n \r\n
\r\n \r\n Make Payment\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n \r\n}","import React from \"react\";\r\nimport { Elements } from \"@stripe/react-stripe-js\";\r\nimport { Card, Row, Button,Col, Modal } from \"react-bootstrap\";\r\nimport CreditCardForm from \"./CreditCardForm\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport classes from \"./Payment.module.css\";\r\n// import \"./elements.css\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { loadStripe } from \"@stripe/stripe-js\";\r\n\r\n//config of fonts for the stripe prebuilt elements\r\nconst ELEMENTS_OPTIONS = {\r\n fonts: [\r\n {\r\n cssSrc: \"https://fonts.googleapis.com/css?family=Roboto\",\r\n },\r\n ],\r\n};\r\n\r\n//component\r\nfunction PaymentComponent({keys, topic, show, handleToggle, subscribeTopic}) {\r\n //history object for redirects\r\n let history = useHistory();\r\n\r\n //render\r\n return (\r\n \r\n \r\n \r\n Payment Interface\r\n \r\n \r\n \r\n\r\n {/* header and back button */}\r\n\r\n {/* body */}\r\n \r\n\r\n {/* Elements Wrapper and checkout form component */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default PaymentComponent;","import {useState} from 'react';\r\nimport axios from '../../../utils/axios';\r\nimport {Card, Button, Spinner, Alert} from 'react-bootstrap';\r\nimport {toast} from 'react-toastify';\r\nimport Accordion from '../../Common/Accordion';\r\nimport PaymentComponent from '../../Payment';\r\n\r\nimport {API_URL_USER} from '../../../config';\r\n\r\nimport classes from './ListAllTopics.module.css';\r\n\r\nfunction ListTopics({topics, subscribedTopics, subscribeTopic, getTopics, isLoading, fetchError}){\r\n\r\n const [subscribing, setSubscribing] = useState(null);\r\n const [searchQuery, setSearchQuery] = useState(\"\");\r\n const [paymentModal, setPaymentModal] = useState(false);\r\n const [topicToBuy, setTopicToBuy] = useState({});\r\n\r\n\r\n const handleSubscribeTopic = async (topic) => {\r\n\r\n try{\r\n setTopicToBuy(topic);\r\n const {data} = await axios.post(`${API_URL_USER}/topic/subscribe/create-checkout-session`, {productPrice: topic.price, productName: topic.title});\r\n\r\n window.location.href = data.checkout_url;\r\n //setPaymentModal(true);\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n }\r\n finally{\r\n setSubscribing(null);\r\n }\r\n\r\n };\r\n\r\n const handleTogglePaymentModal = () => {\r\n setTopicToBuy({});\r\n setPaymentModal(!paymentModal);\r\n }\r\n\r\n return(\r\n
\r\n
\r\n
All
\r\n setSearchQuery(e.target.value)}/>\r\n
\r\n
\r\n\r\n {isLoading ?\r\n
\r\n \r\n
\r\n :fetchError ?\r\n
\r\n \r\n {fetchError}\r\n \r\n \r\n
\r\n :\r\n topics\r\n .filter(topic => (searchQuery.toLowerCase() === \"\" || topic.title.toLowerCase().includes(searchQuery)))\r\n .map(topic => subscribedTopics.find(st => st.topic._id === topic._id) ? {...topic, subscribed: true} : topic)\r\n .map((topic, i) => \r\n handleSubscribeTopic(topic)} buttonLoading={subscribing === topic._id} linkHref={`/topics/view/${topic._id}`}>\r\n

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

\r\n \r\n {paymentModal && \r\n }\r\n
\r\n )\r\n\r\n}\r\n\r\nexport default ListTopics;","import {useContext, useEffect} from 'react';\r\nimport {Container, Row, Col} from 'react-bootstrap';\r\n\r\nimport {Context} from '../../store';\r\nimport {getTopics, getSubscribedTopics, subscribeTopic} from '../../store/actions/topic';\r\n\r\nimport ListAllTopicsComponent from '../../components/Dashboard/Topic/ListAllTopics';\r\n\r\nfunction ListAllTopics({location, history}){\r\n\r\n const {state, dispatch} = useContext(Context);\r\n\r\n useEffect(()=>{\r\n if(!state.topics || state.topics.length===0){\r\n handleGetTopics();\r\n }\r\n },[])\r\n\r\n function handleGetTopics(){\r\n getTopics()(dispatch);\r\n }\r\n\r\n async function handleSubscribeTopic(topic){\r\n subscribeTopic(topic)(dispatch);\r\n }\r\n\r\n function changeQueryParams(queryParams){\r\n history.push(location.pathname + queryParams);\r\n }\r\n\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n}\r\n\r\nexport default ListAllTopics;","import {useState} from 'react';\r\nimport {Link, useHistory} from 'react-router-dom';\r\nimport {Container, Row, Col, Breadcrumb, Spinner, Alert} from 'react-bootstrap';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faTimesCircle } from '@fortawesome/free-solid-svg-icons'\r\n\r\nimport classes from './ViewContent.module.css';\r\n\r\nfunction ViewContent({content, pathname, selectedTopicId, selectedTopic, selectedCategory, selectedChapter, selectedSubTopic, previousContent, nextContent}){\r\n\r\n const history = useHistory();\r\n\r\n return(\r\n \r\n {/* \r\n Topics\r\n {selectedTopic}\r\n Categories\r\n {selectedCategory}\r\n Chapters\r\n {selectedChapter}\r\n Sub Topics\r\n {selectedSubTopic}\r\n Contents\r\n {content.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 history.push(`${pathname}?category=${selectedCategory}&chapter=${selectedChapter}&subTopic=${selectedSubTopic}&content=${nextContent}`)}\r\n className=\"button primary\" \r\n disabled={!nextContent}\r\n >\r\n Next\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n

About {content.title}

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

Look for {content.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\nexport default ViewContent;","import {useState, useEffect, Fragment} from 'react';\r\nimport {Link, useHistory} from 'react-router-dom';\r\nimport {Row, Col, Breadcrumb, ListGroup, Alert, Spinner} from 'react-bootstrap';\r\nimport {toast} from 'react-toastify';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport Accordion from '../../Common/Accordion';\r\nimport ViewContent from '../Content/ViewContent';\r\n\r\nimport classes from './ViewTopic.module.css';\r\n\r\nfunction ViewTopic({topic, getTopic, fetching, fetchError, pathname, selectedTopic, selectedChapter, selectedCategory, selectedSubTopic, selectedContent, nextContent, previousContent, changeQueryParams}){\r\n \r\n const history = useHistory();\r\n\r\n useEffect(()=>{\r\n if(selectedContent.title){\r\n document.body.style.overflowY = \"hidden\";\r\n }\r\n else{\r\n document.body.style.overflowY = \"auto\";\r\n }\r\n }, [selectedContent])\r\n\r\n function handleSelectSubTopic(name, value, open){\r\n if(selectedChapter && selectedCategory && value){\r\n\r\n const category = `?category=${selectedCategory}`;\r\n const chapter = `&chapter=${selectedChapter}`;\r\n const subTopic = `&${name}=${value}`;\r\n\r\n changeQueryParams(category+chapter+(open ? subTopic : ''));\r\n }\r\n }\r\n \r\n function handleSelectContent(subTopicTitle, value){\r\n if(selectedChapter && selectedCategory && selectedSubTopic && value){\r\n\r\n const category = `?category=${selectedCategory}`;\r\n const chapter = `&chapter=${selectedChapter}`;\r\n const subTopic = `&subTopic=${subTopicTitle}`;\r\n const content = `&content=${value}`;\r\n\r\n changeQueryParams(category+chapter+subTopic+content);\r\n }\r\n }\r\n\r\n function goBack(){\r\n if(selectedContent && selectedContent.title){\r\n const category = `?category=${selectedCategory}`;\r\n const chapter = `&chapter=${selectedChapter}`;\r\n const subTopic = `&subTopic=${selectedSubTopic}`;\r\n changeQueryParams(category+chapter+subTopic);\r\n }\r\n else if(selectedChapter){\r\n const category = `?category=${selectedCategory}`;\r\n changeQueryParams(category)\r\n }\r\n // const category = selectedCategory ? `?category=${selectedCategory}`\r\n // changeQueryParams()\r\n }\r\n \r\n\r\n return(\r\n
\r\n \r\n \r\n Topics\r\n {topic.title}\r\n \r\n \r\n \r\n
\r\n {selectedChapter &&
\r\n goBack()}/>\r\n
}\r\n
\r\n

{(selectedContent && selectedContent.title) || selectedChapter || topic.title}

\r\n
\r\n
\r\n \r\n {fetching ?\r\n
\r\n \r\n
\r\n :fetchError ?\r\n
\r\n \r\n {fetchError}\r\n \r\n \r\n
\r\n :\r\n \r\n {//desktop view\r\n }\r\n \r\n
\r\n
Categories
\r\n
\r\n {topic.categories && \r\n (topic.categories.length === 0 ?\r\n
\r\n \r\n No categories found for this topic\r\n \r\n
\r\n :topic.categories.map((category) => \r\n \r\n \r\n {category.chapters.map(chapter =>\r\n {chapter.title}\r\n )}\r\n \r\n \r\n ))\r\n }\r\n
\r\n
\r\n \r\n\r\n \r\n {(selectedCategory && selectedChapter && topic.categories) ?\r\n (topic.categories\r\n .find(category => category.title === selectedCategory)\r\n .chapters\r\n .find(chapter => chapter.title === selectedChapter)\r\n .subTopics.length === 0?\r\n
\r\n \r\n No sub topics found for this chapter\r\n \r\n
\r\n :topic.categories\r\n .find(category => category.title === selectedCategory)\r\n .chapters\r\n .find(chapter => chapter.title === selectedChapter)\r\n .subTopics.map(st =>\r\n \r\n {st.contents.length === 0?\r\n
\r\n \r\n No contents found for this sub topic\r\n \r\n
\r\n :\r\n \r\n {st.contents.map(content =>\r\n handleSelectContent(st.title, content.title)}>{content.title}\r\n )}\r\n \r\n }\r\n
\r\n ))\r\n :\r\n
\r\n \r\n No chapter selected\r\n \r\n
\r\n }\r\n \r\n\r\n \r\n
\r\n }\r\n\r\n {selectedContent.title &&\r\n \r\n }\r\n
\r\n )\r\n\r\n}\r\n\r\nexport default ViewTopic;","import {useState, useContext, useEffect} from 'react';\r\nimport {Container, Row, Col} from 'react-bootstrap';\r\nimport {toast} from 'react-toastify';\r\n\r\nimport {Context} from '../../store';\r\nimport {getTopic} from '../../store/actions/topic';\r\nimport {getUrlParameter} from '../../utils';\r\n\r\nimport ViewTopicComponent from '../../components/Dashboard/Topic/ViewTopic';\r\n\r\nfunction ViewTopic({location, history, match}){\r\n\r\n const {state, dispatch} = useContext(Context);\r\n\r\n const [selected, setSelected] = useState({\r\n category: {},\r\n chapter: {},\r\n subTopic: {},\r\n content: {},\r\n previousContent: null,\r\n nextContent: null\r\n })\r\n const [fetching, setFetching] = useState(false);\r\n const [fetchError, setFetchError] = useState(null);\r\n\r\n useEffect(()=>{\r\n if(state.topicContents[match.params.topic]){\r\n const topic = state.topicContents[match.params.topic].topic;\r\n let subTopic, content, category, chapter, nextContent, previousContent;\r\n \r\n if(topic && topic.categories){\r\n category = topic.categories.find(c => c.title === getUrlParameter('category'));\r\n }\r\n if(category){\r\n chapter = category.chapters.find(c => c.title === getUrlParameter('chapter'));\r\n }\r\n if(chapter){\r\n subTopic = chapter.subTopics.find(st => st.title === getUrlParameter('subTopic'));\r\n }\r\n if(subTopic){\r\n for(let i=0;i0){\r\n previousContent = subTopic.contents[i-1] && subTopic.contents[i-1].title;\r\n }\r\n if(i{\r\n if(!state.topicContents[match.params.topic]){\r\n handleGetTopic();\r\n }\r\n },[match.params.topic])\r\n\r\n async function handleGetTopic(){\r\n setFetchError(null);\r\n try{\r\n setFetching(true);\r\n await getTopic(match.params.topic)(dispatch);\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n setFetchError(e);\r\n }\r\n finally{\r\n setFetching(false);\r\n }\r\n }\r\n\r\n function changeQueryParams(queryParams){\r\n history.push(location.pathname + queryParams);\r\n }\r\n\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n}\r\n\r\nexport default ViewTopic;","export default __webpack_public_path__ + \"static/media/aboutUs.b40c36ec.svg\";","import {Container} from \"react-bootstrap\";\r\n\r\nimport classes from './AboutUs.module.css';\r\nimport AboutUsImage from '../../../assets/aboutUs.svg';\r\n\r\nfunction AboutUs(){\r\n return(\r\n \r\n
\r\n

WELCOME TO THE INSTITUTE OF THERAPEUTIC SCIENCES

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

The Institute of Therapeutic Sciences (ITS) was established in 2003 in Livonia, Michigan, (by a Physical Therapist, Manual Osteopath and Naturopath), with a musculoskeletal practice philosophy combining the concepts of traditional physical therapy and osteopathy. At the ITS, the clinician is trained to determine appropriateness of individuals for musculoskeletal intervention. Hence, identifying non mechanical, in addition to mechanical sources of neuro-musculoskeletal dysfunction is stressed upon. The outcome: a constant reinforcement of the role of the physical therapist as a primary care musculoskeletal practitioner.

\r\n

The institute claims to be the first orthopaedic manual therapy philosophy to describe how hands on interventions actually influence the primary musculoskeletal clinical diagnosis. Other credits include the first time description of clinical syndromes and clinical tests (musculoskeletal), which are published in peer reviewed journals and indexed in medline. The institute boasts holism to an extent where all (eclectic) musculoskeletal treatment approaches out there are made sense of in treating the clinical diagnosis at hand.

\r\n

The programs of the institute are recommended for the motivated clinician, who desires to possess strong clinical reasoning and diagnostic skills in musculoskeletal practice. The programs assure the clinician, the ability to be able to incorporate all treatment approaches out there within the scope of musculoskeletal physical therapy. The goal: to encompass all treatment approaches, intervene with the simplest and least iatrogenic methods; yet be logical and effective with treatment outcomes.

\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default AboutUs;","\r\n\r\nimport AboutUsComponent from '../../components/Dashboard/AboutUs';\r\n\r\nfunction AboutUs({}){\r\n\r\n\r\n return(\r\n \r\n )\r\n\r\n}\r\n\r\nexport default AboutUs;","import {useState, useEffect} from 'react';\r\nimport {Form, Spinner, Alert} from 'react-bootstrap';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport classes from './Profile.module.css';\r\n\r\nfunction Profile({user, updateUserInfo, subscribedTopics, getSubscribedTopics, isLoadingSubscribedTopics, fetchSubscribedTopicsError, history}){\r\n\r\n const [validated, setValidated] = useState(false);\r\n const [inputs, setInputs] = useState({\r\n name: '',\r\n email_id: ''\r\n })\r\n const [saving, setSaving] = useState(false);\r\n\r\n useEffect(()=>{\r\n setInputs({\r\n name: user.name,\r\n email_id: user.email_id\r\n })\r\n }, [user])\r\n\r\n function handleChange(e){\r\n const {name, value} = e.currentTarget;\r\n setInputs({\r\n ...inputs,\r\n [name]: value \r\n })\r\n }\r\n\r\n async function handleSubmit(e){\r\n \r\n try{\r\n e.preventDefault();\r\n const form = e.currentTarget;\r\n\r\n if (form.checkValidity() !== false) {\r\n setSaving(true);\r\n await updateUserInfo(inputs);\r\n toast.success(\"Profile saved successfully\", {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n }\r\n else{\r\n setValidated(true);\r\n }\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n setValidated(true);\r\n }\r\n finally{\r\n setSaving(false);\r\n }\r\n\r\n }\r\n\r\n return(\r\n
\r\n
\r\n
\r\n

User Profile

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n {user.email_id ?\r\n <>\r\n\r\n \r\n Name\r\n \r\n \r\n This field cannot be blank\r\n \r\n \r\n\r\n \r\n Email address\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {isLoadingSubscribedTopics ?\r\n
\r\n \r\n
\r\n :(fetchSubscribedTopicsError || !subscribedTopics) ?\r\n
\r\n \r\n {fetchSubscribedTopicsError || \"Some error occurred\"}\r\n \r\n \r\n
\r\n :subscribedTopics.map(st => \r\n
history.push(`/topics/view/${st.topic._id}`)} className={classes.subscribedTopic}>\r\n

{st.topic.title || \"\"}

\r\n
\r\n \r\n Active\r\n
\r\n
\r\n )}\r\n
\r\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 Profile;","import {useState, useEffect} from 'react';\r\nimport {Form, Spinner} from 'react-bootstrap';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport classes from './Profile.module.css';\r\n\r\nfunction ChangePassword({changePassword}){\r\n\r\n const [validated, setValidated] = useState(false);\r\n const [inputs, setInputs] = useState({\r\n password:'',\r\n newPassword:'',\r\n newPassword2:''\r\n })\r\n const [passwordVisibility, setPasswordVisibility] = useState(false);\r\n const [password2Visibility, setPassword2Visibility] = useState(false);\r\n const [saving, setSaving] = useState(false);\r\n\r\n\r\n function handleChange(e){\r\n const {name, value} = e.currentTarget;\r\n setInputs({\r\n ...inputs,\r\n [name]: value \r\n })\r\n }\r\n\r\n async function handleSubmit(e){\r\n \r\n try{\r\n e.preventDefault();\r\n const form = e.currentTarget;\r\n\r\n if (form.checkValidity() !== false && inputs.newPassword === inputs.newPassword2) {\r\n setSaving(true);\r\n\r\n await changePassword(inputs);\r\n setValidated(false);\r\n setInputs({\r\n password: '',\r\n newPassword: '',\r\n newPassword2: ''\r\n })\r\n toast.success(\"Password changed successfully\", {\r\n position: toast.POSITION.TOP_RIGHT,\r\n autoClose: 3000\r\n });\r\n }\r\n else{\r\n if(inputs.newPassword !== inputs.newPassword2){\r\n toast.error(\"Passwords does not match\", {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n }\r\n setValidated(true);\r\n }\r\n }\r\n catch(e){\r\n toast.error(e, {\r\n position: toast.POSITION.TOP_RIGHT\r\n });\r\n setValidated(true);\r\n }\r\n finally{\r\n setSaving(false);\r\n }\r\n\r\n }\r\n\r\n return(\r\n
\r\n
\r\n
\r\n

Change Password

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Enter current password\r\n \r\n \r\n This field cannot be blank\r\n \r\n \r\n\r\n \r\n Enter new password\r\n
\r\n \r\n
\r\n setPasswordVisibility(!passwordVisibility)}/>\r\n
\r\n \r\n This field cannot be blank\r\n \r\n
\r\n
\r\n \r\n \r\n Re-enter new password\r\n
\r\n \r\n
\r\n setPassword2Visibility(!password2Visibility)}/>\r\n
\r\n \r\n This field cannot be blank\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default ChangePassword;","import {Switch, Route, Link} from 'react-router-dom';\r\nimport {Container, Row, Col} from 'react-bootstrap';\r\n\r\nimport classes from './Account.module.css';\r\n\r\nimport Profile from './Profile';\r\nimport ChangePassword from './ChangePassword';\r\n\r\nfunction Account({pathname, user, updateUserInfo, changePassword, subscribedTopics, getSubscribedTopics, isLoadingSubscribedTopics, fetchSubscribedTopicsError, history}){\r\n return(\r\n \r\n \r\n \r\n
\r\n Profile\r\n Change Password\r\n
\r\n \r\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 Account;","import {useContext, useEffect} from 'react';\r\n\r\nimport {Context} from '../../../store';\r\nimport {logout} from '../../../store/actions/account';\r\n\r\nfunction Logout({}){\r\n\r\n const {state, dispatch} = useContext(Context);\r\n\r\n useEffect(()=>{\r\n logout()(dispatch);\r\n });\r\n\r\n return(\r\n <>\r\n \r\n )\r\n\r\n}\r\n\r\nexport default Logout;","import {useContext, useEffect} from 'react';\r\nimport {Route} from 'react-router-dom';\r\n\r\nimport AccountComponent from '../../../components/Dashboard/Account/Account';\r\nimport Logout from './Logout';\r\n\r\nimport {Context} from '../../../store';\r\nimport {updateUserInfo, changePassword} from '../../../store/actions/account';\r\nimport {getSubscribedTopics} from '../../../store/actions/topic';\r\n\r\nfunction Account({location, history}){\r\n const {state, dispatch} = useContext(Context);\r\n\r\n useEffect(()=>{\r\n if(!state.subscribedTopics || state.subscribedTopics.length===0){\r\n handleGetSubscribedTopics();\r\n }\r\n },[])\r\n\r\n function handleGetSubscribedTopics(){\r\n getSubscribedTopics()(dispatch);\r\n }\r\n\r\n async function handleUpdateProfile(data){\r\n await updateUserInfo(data)(dispatch);\r\n }\r\n \r\n async function handleChangePassword(data){\r\n await changePassword(data)(dispatch);\r\n }\r\n return(\r\n <>\r\n {location.pathname !== \"/account/logout\" &&\r\n \r\n }\r\n \r\n \r\n \r\n )\r\n}\r\nexport default Account;","import {useEffect} from 'react';\r\nimport axios from '../../utils/axios';\r\n\r\nimport {API_URL_USER} from '../../config';\r\n\r\nimport { getUrlParameter } from '../../utils';\r\n\r\nfunction CheckoutSuccess({history}){\r\n\r\n useEffect(async ()=>{\r\n try{\r\n await axios.post(`${API_URL_USER}/topic/subscribe/update-payment-info?session_id=${getUrlParameter('session_id')}`)\r\n }\r\n catch(e){\r\n alert('Server error')\r\n }\r\n finally{\r\n history.push('/');\r\n }\r\n },[])\r\n\r\n return(\r\n

Payment Confirmed. Please wait...

\r\n )\r\n\r\n}\r\n\r\nexport default CheckoutSuccess;","import {useContext, useEffect} from 'react';\r\nimport {Switch, Route, Redirect} from 'react-router-dom';\r\nimport {Spinner} from 'react-bootstrap';\r\n\r\n//store imports\r\nimport {Context} from '../store';\r\nimport {getUserInfo} from '../store/actions/account';\r\n\r\n//common component imports\r\nimport Header from '../components/Common/DashboardHeader';\r\n//\r\n//page imports\r\n// import Home from '../pages/Dashboard/Home';\r\nimport ListAllTopics from '../pages/Dashboard/ListAllTopics';\r\nimport ViewTopic from '../pages/Dashboard/ViewTopic';\r\nimport AboutUs from '../pages/Dashboard/AboutUs';\r\nimport Account from '../pages/Dashboard/Account';\r\nimport CheckoutSuccess from '../pages/Dashboard/CheckoutSuccess'\r\n\r\nfunction Dashboard({history, location}){\r\n const {state, dispatch} = useContext(Context);\r\n\r\n useEffect(()=>{\r\n if(!state.user.authenticated && !state.user.authenticationError){\r\n getUserInfo()(dispatch);\r\n }\r\n else if(state.user.authenticationError){\r\n history.push('/login');\r\n }\r\n },[state.user])\r\n\r\n return(\r\n !state.user.authenticated ?\r\n
\r\n \r\n
\r\n :\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\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 Dashboard;","import {HashRouter as Router, Switch, Route} from 'react-router-dom';\r\nimport { ToastContainer } from 'react-toastify';\r\n\r\n//stylesheets imports\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport './App.css';\r\n\r\n\r\n//store imports\r\nimport {ContextProvider} from './store';\r\n\r\n//pages imports\r\nimport Login from './pages/Login';\r\nimport Register from './pages/Register';\r\nimport PasswordReset from './pages/PasswordReset';\r\nimport ForgotPassword from './pages/ForgotPassword';\r\nimport Dashboard from './layouts/Dashboard';\r\n\r\nfunction App() {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"Login_content__3fJzP\",\"header\":\"Login_header__3sk9A\",\"form\":\"Login_form__2YcOX\",\"passwordField\":\"Login_passwordField__SoDqG\",\"loginButton\":\"Login_loginButton__1o9JP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"PasswordReset_content__2BiCp\",\"header\":\"PasswordReset_header__BIQRc\",\"form\":\"PasswordReset_form__7B8fV\",\"passwordField\":\"PasswordReset_passwordField__7xSg5\",\"loginButton\":\"PasswordReset_loginButton__3ENGi\",\"footer\":\"PasswordReset_footer__2wj5N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subscribedTopic\":\"Profile_subscribedTopic__1a1WG\",\"activeIndicator\":\"Profile_activeIndicator__1Yb1g\",\"passwordField\":\"Profile_passwordField__2dT9P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ViewContent_container__1ZvpE\",\"contentContainer\":\"ViewContent_contentContainer__1KAQE\",\"content\":\"ViewContent_content__LcCoo\",\"closeButton\":\"ViewContent_closeButton__26HQ_\",\"contentAbout\":\"ViewContent_contentAbout__1l7Qv\",\"contentLookingFor\":\"ViewContent_contentLookingFor__MA56U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Accordion_container__18uZ_\",\"accordion\":\"Accordion_accordion__3CKng\",\"topicActionButton\":\"Accordion_topicActionButton__vdOgT\",\"accordionContent\":\"Accordion_accordionContent__3PyYK\",\"topicPrice\":\"Accordion_topicPrice__1WNPZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"navLinksContainer\":\"Account_navLinksContainer__1X9yt\",\"navLinks\":\"Account_navLinks__1Tvyz\",\"navLink\":\"Account_navLink__y_oTs\",\"activeNavLink\":\"Account_activeNavLink__2oGci\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"ViewTopic_header__OtKml\",\"categoriesContainer\":\"ViewTopic_categoriesContainer__2oF9w\",\"chaptersList\":\"ViewTopic_chaptersList__3MpVb\",\"customAccordionContainerClass\":\"ViewTopic_customAccordionContainerClass__29rdF\",\"customAccordionClass\":\"ViewTopic_customAccordionClass__1LHdh\",\"backIcon\":\"ViewTopic_backIcon__fdd25\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button\":\"Payment_Button__3KfUg\",\"paymentWidgetContainerCard\":\"Payment_paymentWidgetContainerCard__vpTNe\",\"paymentSelectForm\":\"Payment_paymentSelectForm__2gjer\",\"paymentArea\":\"Payment_paymentArea__1qtlp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"DashboardHeader_header__3HMfj\",\"navDropdown\":\"DashboardHeader_navDropdown__3HWiV\",\"navItems\":\"DashboardHeader_navItems__1JnZj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"aboutUsTitle\":\"AboutUs_aboutUsTitle__2sCY7\",\"aboutUsText\":\"AboutUs_aboutUsText__2SqsS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"ListAllTopics_header__1jeEB\"};"],"sourceRoot":""}