{"version":3,"sources":["modules/Dashboard/service.js","resources/images/dark_logo.svg","modules/Dashboard/store/reducer.js","modules/Dashboard/routes.js","modules/Errors/components/Error404/Error404.js","resources/images/error-404.svg","CacheReset.js","resources/notification-sound.mp3","resources/en.js","resources/ar.js","resources/urdu.js","resources/pa.js","modules/Authintication/store/reducer.js","modules/Common/store/reducer.js","store/reducers.js","store/middlewares/switchDirection.js","store/index.js","store/config.js","modules/Authintication/routes.js","modules/Errors/routes.js","modules/MassageScreens/routes.js","modules/Settings/routes.js","modules/Exam/routes.js","routes/routes.js","resources/firebase.js","routes/index.js","App.js","serviceWorker.js","registerServiceWorker.js","index.js","modules/Authintication/store/action-types.js","modules/Authintication/store/actions.js","modules/Dashboard/store/action-types.js","resources/responseMessages.js","resources/responseMessagesAR.js","network.js","modules/Common/components/BaseComponent/BaseComponent.js","modules/Common/store/actions.js","modules/Common/service.js","modules/Common/components/LoadingIndicator/LoadingIndicator.js","modules/Common/store/action-types.js"],"names":["getUserInfo","onSuccess","onError","getResource","res","fail","errors","updateUserInfo","body","postResource","changePassword","JSON","stringify","changePasswordWithValidation","getStudentCourses","getFilteredStudentCourses","getStudentAssignments","addAssignmentAnswer","updateAssignmentAnswer","getAssignmentDetails","getSubjectsList","getStudentDetails","getStudentExamsList","generateUploadFileKey","uploadFileChunk","buildFileChunks","submitHomeworkSession","error","getStudnetTodoList","getStudnetCalendarList","joinOnlineSession","getStudentOnlineSessionDetails","query","getStudentOnlineSessionsList","LikeOnCourse","ViewOnCourse","module","exports","initialState","drawerActiveTab","date","courseName","subject","courseDetails","isFiltrationResultVisible","isFiltrationBarVisible","filterdAssigmentDate","setDrawerActiveTab","state","payload","setCoursesFiltration","type","value","setCourseDetails","setFiltrationResultsVisibility","setFiltrationBarVisibility","setFilterdAssigmentDate","reducer","SET_COURSES_FILTRATION","SET_DRAWER_ACTIVE_TAB","SET_COURSE_DETAILS","SET_FILTRATION_RESULT_VISIBILITY","SET_FILTRATION_BAR_VISIBILITY","SET_FILTRATION_ASSIGNMENT_DATE","routes","path","isAuth","nestedRoutes","component","parentType","allowedRoles","Loadable","loader","loading","exact","Error404","className","src","logo","alt","justify","span","align","this","props","errorsResources","notFound","error_text","htmlType","to","goToHome","Error_404","React","Component","connect","currentLocale","auth","currentResource","global","appVersion","packageJson","version","CacheReset","isLatestVersion","refreshCacheAndReload","console","log","caches","keys","then","names","name","delete","window","location","reload","fetch","cache","response","json","meta","latestVersion","versionA","versionB","versionsA","split","versionsB","length","a","Number","shift","b","minorA","minorB","patchA","patchB","isNaN","semverGreaterThan","setState","catch","children","en","login","logout","rememberMe","signIn","email","mail_massage","mail_req_massage","password_placeholder","plaeaseEnterMail","password","forgetPassword","Forget_Password","sammary","passwordMassage","backToSignin","sendMail","sorry505","resetSent","confirmPassword","restPass_placeholder","confirm_massage","Reset","cancle","CheckInpoxp1","CheckInpoxp2","GoToMail","Ok","oops","ResendMail","passwordmin","passwordmax","passwordexpresion","profile","personalInfo","nameMassage","namePlaceholder","Security","Account","Change","Deactivate","DeactivateAccount","SaveChanges","ChangePassword","NoCancel","YesDeactivate","PasswordsChanged","AccountDeactivated","YourAccountDeactivated","Delete","JoinYourClassNow","Studentcode","Studentcoderequired","AreYouSoure","YesSave","NoSave","NewPassword","Cancel","EnterPassFor","TimedOut","SinginOrLogout","otherwise","minute","stay","inactivityMessage","incorrectOldPassword","Imagemustsmallerthan5MB","YoucanonlyuploadJPGPNG","createAccount","aleadyHaveAccount","signUp","notifi","MarkAll","NotifiContent","fiveMin","validationMessages","shortDescriptionLength","descriptionLength","titleLength","titleLengthMax","titleLengthMin","firstNameLength","firstNameSpaces","imageSize","videoSize","invalidFormat","invalidWidth","invalidHeight","limitExceeded","invalidImages","AreYouSureDelete","deleteFile","fileSizeExceed","fileNotSupported","home","exportExcel","header","Search","Editprofile","SUPERADMIN","NOTIFICATIONS","Seeall","Unauthorized","sorry401","sorry403","Access","serverError","MScreens","LinkExpired","PasswordReset","ResetPassword","settings","successfullyDeleted","setting","Settings","Integratedappsmasterata","GoogleRECAPTCHA","GoogleAnalyticsTrackingCode","FacebookAppID","FacebookAppSecret","LinkedInAppID","EmailedLinksSettings","Emailverification","Enable","Emailverificationlinkexpirytimeminutes","Mins","EmailNotifications","Resetpasslinkverificationlinkexpirytimeminutes","Resendmailinterval","Tries","Xplacholder","Privileges","AddRole","Newrole","Personalinfo","Rolename","ISACTIVE","Hidetranslations","Showtranslations","TranslateIntoAr","TranslateIntoFr","Rolestatus","Privilege","AddPrivileges","SelectPrivileges","PleaseselectPrivilegestoAssign","AssignedPrivileges","Admins","AddAdmins","SelectAdmins","Admin","AddAdmin","SelectAdmin","PleaseselectAdminstoAssign","deletedSuccessfully","editedSuccessfully","addedSuccessfully","currency","Currencyname","Addcurrency","Newcurrency","currencyinfo","users","USERS","Name","Age","Email","Address","UpdateAdmins","Adduser","Rules","Addrule","Selectrule","PleaseselectruletoAssign","Assignedrules","grid","New","goTo","gridSearch","reset","sureToCancel","no","buttons","Close","SaveNew","Save","UpdateNew","Update","Duplicate","View","Archive","Edit","confirm","selectToEdit","selectToDelete","change","remove","Send","done","clear","qu","selectAll","deleteTheRest","add","YesCancel","NoDontCancel","rotate","crop","open","Answer","inputs","inputrequired","PleaseinputyourFirstname","PleaseinputyourMiddlename","PleaseinputyourLastName","Pleaseinputyourphonenumber","Firstname","Middlename","LastName","PhoneNumber","phonemin","phonemax","phone","TheinputisnotvalidEmail","PleaseinputyourEmail","EmailAlreadyExists","Firstnamemustcharacters","namecantacceptspace","Namecanacceptspecialcharacters","Namecanacceptnumbers","passwordDoesnotMatch","masterData","basicInfo","label","isActive","active","inActive","translate","hideTranslations","nameMaxLength","nameTranslationMaxLength","nameMinLength","nameTranslationMinLength","valuePlaceholder","nameTranslationPlaceholder","theFollowingData","inUseData","inUseActivated","countries","nullFlag","countryCurrency","currencyPlaceholder","countryCodePlaceholder","countryCode","governorates","schools","SchoolName","Country","AddSchool","State","selectState","Fax","AddressLine1","AddressLine2","PaymentMethod","Website","SchoolEmail","AllowedStudents","ContactPersonName","pleaseEngerName","Position","enterPosition","enterEmail","sideBar","Home","Courses","Assignments","Exams","Results","Schedule","Calendar","Timetable","OnlineSessions","payment","PaymentTypes","PaymentHistory","Chooseyourpaymentplan","SelectPaymenttype","Features","CurrentStudentsNumber","student","Changesby","EffectiveDate","LastChanges","seemore","CurrentTotalCost","perStu","NumberofdaysuntileveryPayment","InspecificDayeverymonths","days","Mon","Stations","Newstation","ViewStation","StationsName","NofChargers","ChoutofService","Governorate","Location","Chargers","Available","Directions","DirectionsToStation","StationsNearYou","Findtheneareststation","all","AddNewStation","StationName","StationNameTranslation","PleaseInputStationName","stationNamePlaceHolder","stationNameTranslationPlaceHolder","NumberOfChargers","PleaseInputNumberOfChargers","NumberOfChargersPlaceholder","NumberOfOutOfServiceChargers","PleaseinputNumberOfoutOfService","outOfServiceChargersPlaceholder","Customers","CustomersName","Phone","CardStatus","Lastcharge","ViewProfile","ViewCard","MobilePhone","Gender","CarType","BatteryRange","carlicense","PersonalInfo","CarInfo","Comments","writeyourcommenthere","inactive","inProgress","delivered","Requested","needsAction","inDelivery","canceled","RequestInfo","new","address","deliveryAddress","male","fmale","customerBan","commentSent","statusUpdated","userBaned","userActivated","PricingSettings","MinimumCharge","KW","CurrentAC","CurrentDC","ChargersPricingUpdated","infinty","EVChargingpoints","foryourbusiness","Morethan17Stations","Locateyourneareststation","EnvironmentFriendlyDrivingPleasure","zero","emissionisourvision","Getyour","ChargingCard","ChargingCardArticle","GetYourCard","EVchargingstationstodate","charginglocations","charginglocationsby2021","Neareststation","Setlocation","typeyourlocation","LocatetheNearestStation","headerFooter","AboutUs","Howitworks","ChargingStations","RequestCard","ContactUs","About","Additionallinks","infintyAdress","SignIn","viewProfile","Notifications","AllRightsReserved","contactusRequests","requestStatus","status","requestDetails","closed","close","reply","replyHint","commentHint","replyPlaceholder","requestUpdatedSuccessfully","userProfile","NameMin","NameMax","Lastname20Max","Firstname20Max","emailMin","emailMax","pleaseEntername","minmaxaddress","firstName","lastName","pleaseEnterValidmail","pleaseEntermail","mail","pleaseEnteraddress","pleaseSelectGender","Male","Female","contactUs","fullName","RequestDetails","PleaseinputyourRequestDetails","HereToHelp","ContactUS","ContactDetails","OpeningHours","Closed","subjectMin","subjectMax","nameMin","nameMax","dayopen","dayclose","notifications","loadMore","noNotifications","today","aboutUs","aboutUsPragraph","Exploremore","Ourstations","OurstationsPragraph1","OurstationsPragraph2","Our","Partners","howItWork","How","itworks","Start","StartStep","Second","SecondStep","Third","ThirdStep","End","EndStep","Requestcharging","Searchlocation","WelcomeBack","Tokeepconnected","SignUp","HelloFriend","personaldetails","SignintoInfinity","Forgotpassword","haveaccount","courses","TodaysCourses","more","Day","Week","Month","All","ToDo","Completed","Draft","NoCoursesAdded","allCourses","coursesSubtitle","attachments","downloadAll","filtrationBar","filter","subjectPlaceholder","datePlaceholder","courseNamePlaceholder","allYear","ResultType","ResultEvaluation","assigments","Assigments","Assignment","NoAssigmentsAdded","Youhave","NoFeedbackyet","SuccessfullyPass","assigmentstocompletetoday","Late","Feedback","Uncomplet","exams","headerSubtitle","toDo","upComing","previous","online","printed","hours","hour","questions","startExam","instructions","daysLeft","Beforeyoubegin","Themaximumtime","Theresnooption","Ifyouaccidentallyclose","Hintyoucanuse","HowtouseitInstruction","minutes","Hours","StartTime","EndTime","ExamDuration","NQuestions","Questions","Accessibilitytime","FromstartingTimeTill","checkTipNumberbelow","noExamsFound","under","correction","underCorrection","totalDegree","final","midterm","monthly","examTitle","examType","start","end","withinthetotal","Outoftotal","Excellent","VGood","Good","Congratulations","successfullypassed","LatestResults","NoResultsfoundyet","Yourresultswillappearhere","MoreDetails","exam","Exam","Class","continueExam","finishExam","next","FinishExam","solved","NotSolved","MarkForReview","Areyouready","Theexamisnotvalidanymore","ThisexamURLisnotvalidanymore","GoToExamsPage","question","point","MultiChoise","SingleChoise","Written","Trueorfalse","true","false","rearrange","complete","wellDone","youDidGreat","yourResult","examSubmitted","waitForCorrection","keepInMind","TextAreaTypeAnswer","showAnswer","selectAnswerFirst","questionQ","timeline","addPhoto","addVideo","Photo","Video","File","post","TimeLine","Calender","Attendens","TimeTable","HomeWork","createTagline","captionRequired","postCreatedSuccessfully","writeyourmessagehere","WholeClass","SetHomework","cropImage","DropToUpload","Upload","calendar","day","week","month","youHave","remainingTasks","OnlineSession","Solve","Join","Ended","todoList","ClassOnline","Time","Title","Topic","Subject","Teacher","Status","DueTime","Done","InProgress","TimeRemining","empty","YouHave","Coursestocompletetoday","Details","Type","timetable","Satarday","Sunday","Monday","Teusday","Wednesday","Thursday","Session","Sessions","onlineSessions","General","OnlineSessionTitle","Chapter","Date","EmptyText","Started","Scheduled","TimeRemaining","onlineSession","notStarted","emptyFiles","processing","general","ar","Yes","No","selectCountery","addContactPersonData","invalidURL","schoolData","contactPersonData","contactWorkPhone","contactPersonalPhone","addContactModalTitle","LatestResult","Friday","urdu","pa","isAuthenticated","token","refreshToken","token_expiry","userRoles","connectionStatus","user","userType","sessionStorage","setItem","roles","localStorage","checkAuth","Object","assign","getItem","undefined","parse","removeItem","userRole","setLocale","updateConnectionStatus","AUTH_LOGIN","AUTH_CHECK","AUTH_LOGOUT","SET_LOCALE","UPDATE_CONNECTION_STATUS","currentDirection","notificationsList","notificationsCount","events","setNotificationsList","list","setNotificationStatus","index","prop","key","findIndex","notification","notificationID","id","isSeen","addNewNotification","incomingDate","setNotificationsCounter","logEvent","ev","data","updateEventDuration","eventIndex","duration","LIST_USER_NOTIFICATIONS","SET_NOTIFICATION_STATUS","PREPEND_NEW_NOTIFICATION","SET_NOTIFICATIONS_COUNTER","LOG_EVENT","UPDATE_EVENT_DURATION","RESET_LOGS","combineReducers","common","dashboard","switchDirectionMiddleware","store","action","document","classList","querySelector","setAttribute","moment","locale","storeConfig","enhancers","applyMiddleware","thunk","createStore","rootReducer","compose","LoadingIndicator","DashboardRouts","SigninRouts","Errors","MassageScreens","firebase","isSupported","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","messaging","usePublicVapidKey","history","createBrowserHistory","listen","ReactGA","set","page","pathname","pageview","PublicRoute","rest","useLocation","useEffect","scrollTop","render","allowedType","PrivateRoute","useState","isIdle","setIdleState","addEventListener","hidden","ms","cb","wait","setTimeout","onfocus","onmousedown","onmouseenter","onmouseleave","onkeydown","onkeypress","onkeyup","e","clearTimeout","detectIdle","from","every","role","indexOf","hisotry","map","route","i","dispatch","authCheck","App","loginAsStudent","targetID","username","parseQuerstring","search","substr","clientId","clientSecret","loginAs","authLogin","accessToken","tokenExpiration","image","educationalGradeName","isBanned","href","replace","navigateToType","push","scrollRestoration","setInterval","evt","eventTypeId","eventData","parentTargetID","parentID","title","durationInMins","toFixed","sendEvents","resetLogs","obj","forEach","val","BaseComponent","Boolean","hostname","match","initialize","gaOptions","userId","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","authLogout","responseMessages","200","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","131","138","responseMessagesAR","getState","baseUrl","headers","Headers","setToken","after","expiryDate","currentDateTime","expiryDateTime","getTimezoneOffset","getTime","callback","method","handleResponse","newToken","onFailure","onLine","ok","contentType","get","text","handleHttpErrors","responseCode","responseData","code","validationList","msg","validationMessage","responseMessage","exception","timeoutPromise","promise","Promise","resolve","reject","timeoutId","err","isFormData","isDirect","openNotification","messages","headline","message","description","placement","isNumberKey","char","String","fromCharCode","which","parseFloat","target","preventDefault","test","includes","keyCode","getWeekDay","getDayTime","getEventTypeID","typesIDs","ASSIGNMENT_MEDIA","EXAMS","ASSGINMENT_DETAILS","COURSE_MEDIA","HOME","COURSES","ONLINESESSIONS","ONLINESESSION_DETAILS","ASSIGNMENTS","ONLINESESSION_MEDIA","COURSE_DETAILS","CALENDAR","EXAM_DETAILS","geolocation","getCurrentPosition","pos","coords","lat","latitude","lng","longitude","lon","filename","mime","bom","blob","Blob","msSaveBlob","blobURL","URL","createObjectURL","tempLink","createElement","style","display","download","appendChild","click","removeChild","revokeObjectURL","onGrant","onDeny","Notification","requestPermission","permission","fn","ext","icons","icon","extensions","array","sort","x","y","listUserNotifications","getUserNotifications","setNotificationAsSeen","defaultOptions","loop","autoplay","animationData","rendererSettings","preserveAspectRatio","width","height","options"],"mappings":"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","file":"static/js/main.8ca5408e.chunk.js","sourcesContent":["import {\r\n\tpostResource,\r\n\tgetResource,\r\n\ttestPostResource,\r\n\ttestGetResource,\r\n} from \"../../network\";\r\n\r\nexport function getUserInfo(onSuccess, onError) {\r\n\tgetResource(\r\n\t\t`/api/Account/GetUserInfo`,\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function updateUserInfo(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/Parent/UpdateProfileInfo\",\r\n\t\tbody,\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail);\r\n\t\t},\r\n\t\ttrue\r\n\t);\r\n}\r\n\r\nexport function changePassword(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/api/Account/ChangePassword\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function changePasswordWithValidation(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/api/Account/ChangePasswordV2\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail);\r\n\t\t}\r\n\t);\r\n}\r\n\r\n/** Courses Requests */\r\n\r\nexport function getStudentCourses(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/Materials/GetStudentMaterials\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function getFilteredStudentCourses(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/Materials/GetStudentFilteredMaterials\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\n/** Assignments Requests */\r\n\r\nexport function getStudentAssignments(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/Homeworks/GetStudentHomeworks\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function addAssignmentAnswer(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/HomeworkSessions/AddHomeworkSessionAnswer\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function updateAssignmentAnswer(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/HomewrokAnswers/UpdateHomeworkAnswer\",\r\n\t\tbody,\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t},\r\n\t\ttrue\r\n\t);\r\n}\r\n\r\nexport function getAssignmentDetails(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/HomeworkSessions/StartHomeworkSession\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\n/** Utils */\r\n\r\nexport function getSubjectsList(onSuccess, onError) {\r\n\tgetResource(\r\n\t\t\"/scholigit/api/Subject/GetStudentSubjects\",\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function getStudentDetails(onSuccess, onError) {\r\n\tgetResource(\r\n\t\t\"/scholigit/api/Student/GetStudentProfile\",\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function getStudentExamsList(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/examapi/api/Exams/GetStudentExams\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function generateUploadFileKey(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/filesservice/api/Files/GenerateUploadFileKey\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function uploadFileChunk(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/filesservice/api/Files/UploadFileChunk\",\r\n\t\tbody,\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t},\r\n\t\ttrue\r\n\t);\r\n}\r\n\r\nexport function buildFileChunks(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/filesservice/api/Files/BuildFileChunks\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function submitHomeworkSession(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/HomeworkSessions/SubmitHomeworkSession\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.error);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function getStudnetTodoList(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/Student/GetStudentToDoList\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.error);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function getStudnetCalendarList(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/Student/GetStudentCalender\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.error);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function joinOnlineSession(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/OnlineSessions/Join\",\r\n\t\t/*\"/api/OnlineSessions/Join\"*/ JSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function getStudentOnlineSessionDetails(query, onSuccess, onError) {\r\n\tgetResource(\r\n\t\t`/scholigit/api/OnlineSessions/GetStudentOnlineSessionDetails?SessionID=${query}`,\r\n\t\t/*`/api/OnlineSessions/GetStudentOnlineSessionDetails?SessionID=${query}`*/ (\r\n\t\t\tres\r\n\t\t) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nexport function getStudentOnlineSessionsList(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/OnlineSessions/GetStudentOnlineSessionsList\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\nexport function LikeOnCourse(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t\"/scholigit/api/Materials/UpdateMaterialLikeStatus\",\r\n\t\tJSON.stringify(body),\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\nexport function ViewOnCourse(body, onSuccess, onError) {\r\n\tpostResource(\r\n\t\t`/scholigit/api/Materials/UpdateVideoView?VideoId=${body}`,\r\n\t\t(res) => {\r\n\t\t\tonSuccess(res);\r\n\t\t},\r\n\t\t(fail) => {\r\n\t\t\tonError(fail.errors);\r\n\t\t}\r\n\t);\r\n}\r\n","module.exports = __webpack_public_path__ + \"static/media/dark_logo.39eca2a6.svg\";","/**\r\n * Import action types here\r\n */\r\nimport { \r\n SET_DRAWER_ACTIVE_TAB, SET_COURSES_FILTRATION, SET_COURSE_DETAILS, SET_FILTRATION_RESULT_VISIBILITY, SET_FILTRATION_BAR_VISIBILITY,\r\n SET_FILTRATION_ASSIGNMENT_DATE,\r\n} from \"./action-types\";\r\n\r\n/**\r\n * Module internal initial state\r\n */\r\nconst initialState = {\r\n drawerActiveTab: '1',\r\n date: '',\r\n courseName: '',\r\n subject: '',\r\n courseDetails: null,\r\n isFiltrationResultVisible: false,\r\n isFiltrationBarVisible: false,\r\n filterdAssigmentDate: null,\r\n}; \r\n\r\n\r\n/**\r\n * Checks dispatched actions and updates state accordingly\r\n * @param {Object} state \r\n * @param {Object} action \r\n * @returns {Function} \r\n */\r\n\r\nconst reducer = (state = initialState, {type, payload = null}) => {\r\n switch (type) {\r\n case SET_COURSES_FILTRATION: \r\n return setCoursesFiltration(state, payload)\r\n case SET_DRAWER_ACTIVE_TAB: \r\n return setDrawerActiveTab(state, payload)\r\n case SET_COURSE_DETAILS:\r\n return setCourseDetails(state, payload)\r\n case SET_FILTRATION_RESULT_VISIBILITY:\r\n return setFiltrationResultsVisibility(state, payload)\r\n case SET_FILTRATION_BAR_VISIBILITY:\r\n return setFiltrationBarVisibility(state, payload)\r\n case SET_FILTRATION_ASSIGNMENT_DATE:\r\n return setFilterdAssigmentDate(state, payload)\r\n default:\r\n return state;\r\n }\r\n} \r\n\r\n/**\r\n * Returns an updated version of the state based on the action\r\n * @param {Object} state \r\n * @param {Object} payload \r\n * @return {Object} state\r\n */\r\n\r\nfunction setDrawerActiveTab(state, payload){\r\n return {\r\n ...state, drawerActiveTab: payload\r\n }\r\n}\r\n\r\nfunction setCoursesFiltration(state, payload) {\r\n let subject, date, courseName\r\n if(payload.type === 'subject'){\r\n subject = payload.value\r\n }\r\n else if(payload.type === 'date'){\r\n date = payload.value\r\n }\r\n else {\r\n courseName = payload.value\r\n }\r\n return {\r\n ...state, subject, date, courseName\r\n }\r\n}\r\n\r\nfunction setCourseDetails(state, payload) {\r\n return {\r\n ...state, courseDetails: payload\r\n }\r\n}\r\n\r\nfunction setFiltrationResultsVisibility(state, payload) {\r\n return {\r\n ...state, isFiltrationResultVisible: payload\r\n }\r\n}\r\n\r\nfunction setFiltrationBarVisibility(state, payload) {\r\n return {\r\n ...state, isFiltrationBarVisible: payload\r\n }\r\n}\r\n\r\nfunction setFilterdAssigmentDate(state, payload) {\r\n return {\r\n ...state, filterdAssigmentDate: payload\r\n }\r\n}\r\n\r\nexport default reducer","import React from 'react'\r\nimport Loadable from 'react-loadable'\r\nimport { Spin } from 'antd';\r\nimport LoadingIndicator from '../Common/components/LoadingIndicator/LoadingIndicator';\r\n\r\n/**\r\n * Defines module routes, you can use react-router-dom route parameters\r\n * as properties in each object in routes array for example \"exact: true\"\r\n * \r\n * Each route lazy loads a component if its path matches the current path. \r\n */\r\n\r\nconst nestedRoutes = [\r\n {\r\n path: '/admins',\r\n component: './views/Admins/Admins'\r\n },\r\n {\r\n path: '/masterdata/carbrand',\r\n component: './views/MasterData/MasterData'\r\n },\r\n {\r\n path: '/masterdata/cartype',\r\n parentType: 'carbrand',\r\n component: './views/MasterData/MasterData'\r\n },{\r\n \r\n path: '/chargerManagement',\r\n component: './views/Stations/Stations'\r\n },\r\n {\r\n path: '/masterdata/batteryrange',\r\n component: './views/MasterData/MasterData'\r\n },\r\n {\r\n path: '/users',\r\n component: './views/Users/Users' \r\n },\r\n {\r\n path: '/Contactusrequests',\r\n component: './views/ContactUsRequests/ContactUsRequests' \r\n },\r\n {\r\n path: '/cardrequests',\r\n component: './views/Cards/Cards' \r\n },\r\n {\r\n path: '/chargerspricingsettings',\r\n component: './views/ChargersPricingSettings/ChargersPricingSettings' \r\n },\r\n {\r\n path: '/roles',\r\n component: './views/Roles/Roles'\r\n }\r\n ,\r\n {\r\n path: '/settings',\r\n component: './views/Profile/Profile' \r\n },\r\n {\r\n path: '/countries',\r\n component: './views/Countries/Countries'\r\n },\r\n {\r\n path: '/governorates',\r\n component: './views/Governorates/Governorates'\r\n },\r\n {\r\n path: '/home',\r\n component: './views/Home/Home'\r\n },\r\n {\r\n path: '/courses',\r\n component: './views/StudentCourses/StudentCourses'\r\n },\r\n {\r\n path: '/courseDetails',\r\n component: './components/CourseDetails/CourseDetails'\r\n },\r\n {\r\n path: '/assignments',\r\n component: './views/StudentAssignments/StudentAssignments' \r\n },\r\n {\r\n path: '/assignmentDetails',\r\n component: './components/AssignmentsDetails/AssignmentsDetails' \r\n },\r\n {\r\n path: '/exams',\r\n component: './views/StudentExams/StudentExams'\r\n },\r\n {\r\n path: '/results',\r\n component: './views/StudentResults/StudentResults'\r\n },{\r\n path: '/schedule',\r\n component: './views/Schedule/Schedule'\r\n },\r\n {\r\n path: '/calendar',\r\n component: './views/StudentCalendar/StudentCalendar'\r\n },\r\n {\r\n path: '/timetable',\r\n component: './views/StudentTimetable/StudentTimetable'\r\n },\r\n {\r\n path: '/onlinesessions',\r\n component: './components/StudentOnlineSessionList/StudentOnlineSessionList'\r\n },\r\n {\r\n path: '/onlinesessionDetails',\r\n component: './components/OnlineSessionDetails/OnlineSessionDetails'\r\n }\r\n]\r\n\r\nconst routes = [\r\n {\r\n path: '/student',\r\n isAuth: true,\r\n nestedRoutes,\r\n allowedRoles: [],\r\n component: Loadable({\r\n loader: () => import('./Dashboard'),\r\n loading: () => ()\r\n })\r\n },\r\n {\r\n path: '/',\r\n isAuth: true,\r\n exact: true,\r\n allowedRoles: [],\r\n component: Loadable({\r\n loader: () => import('./../index'),\r\n loading: () => ()\r\n })\r\n },\r\n]\r\n\r\nexport default routes","import React from 'react'\r\nimport {\r\n Row,\r\n Button,\r\n Col,\r\n} from 'antd';\r\nimport { Link } from 'react-router-dom'\r\nimport logo from '../../../../resources/images/dark_logo.svg';\r\nimport Error_404 from '../../../../resources/images/error-404.svg';\r\nimport { connect } from 'react-redux';\r\n\r\n\r\nclass Error404 extends React.Component {\r\n render(){\r\n return(\r\n
\r\n
\r\n logo\r\n
\r\n \r\n \r\n
\r\n
\r\n 404\r\n
\r\n
\r\n {this.props.errorsResources.notFound} \r\n
\r\n
\r\n {this.props.errorsResources.error_text} \r\n
\r\n \r\n
\r\n \r\n \r\n error-404\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n return {\r\n currentLocale: state.auth.currentLocale,\r\n errorsResources: state.auth.currentResource.errors\r\n }\r\n}\r\nexport default connect(mapStateToProps)(Error404);","module.exports = __webpack_public_path__ + \"static/media/error-404.74926dac.svg\";","import React from 'react';\r\nimport packageJson from '../package.json';\r\nglobal.appVersion = packageJson.version;\r\n\r\n// version from response - first param, local version second param\r\nconst semverGreaterThan = (versionA, versionB) => {\r\n const versionsA = versionA.split(/\\./g);\r\n\r\n const versionsB = versionB.split(/\\./g);\r\n while (versionsA.length || versionsB.length) {\r\n const a = Number(versionsA.shift());\r\n const b = Number(versionsB.shift());\r\n const minorA = Number(versionA[1])\r\n const minorB = Number(versionB[1])\r\n const patchA = Number(versionsA[2])\r\n const patchB = Number(versionsB[2])\r\n // eslint-disable-next-line no-continue\r\n if (a === b && minorA === minorB && patchA === patchB) continue;\r\n \r\n if(minorA > minorB){\r\n return true\r\n }\r\n \r\n if(patchA > patchB){\r\n return true\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-globals\r\n return a > b || isNaN(b);\r\n }\r\n return false;\r\n};\r\n\r\nclass CacheReset extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n isLatestVersion: false,\r\n refreshCacheAndReload: () => {\r\n console.log('Clearing cache and hard reloading...')\r\n if (caches) {\r\n // Service worker cache should be cleared with caches.delete()\r\n caches.keys().then(function(names) {\r\n for (let name of names) caches.delete(name).then(() => {\r\n window.location.reload(true)\r\n });\r\n });\r\n }\r\n\r\n // delete browser cache and hard reload\r\n window.location.reload(true);\r\n }\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n fetch('/meta.json', {\r\n cache: 'no-cache'\r\n })\r\n .then((response) => response.json())\r\n .then((meta) => {\r\n const latestVersion = meta.version;\r\n const currentVersion = global.appVersion;\r\n \r\n const shouldForceRefresh = semverGreaterThan(latestVersion, currentVersion);\r\n if (shouldForceRefresh) {\r\n console.log(`We have a new version - ${latestVersion}. Should force refresh`);\r\n this.setState({ loading: false, isLatestVersion: false });\r\n } else {\r\n console.log(`You already have the latest version - ${latestVersion}. No cache refresh needed.`);\r\n this.setState({ loading: false, isLatestVersion: true });\r\n }\r\n }).catch((error) => {\r\n window.location.reload(true)\r\n })\r\n } catch (error) {\r\n window.location.reload(true)\r\n }\r\n }\r\n\r\n render() {\r\n const { loading, isLatestVersion, refreshCacheAndReload } = this.state;\r\n return this.props.children({ loading, isLatestVersion, refreshCacheAndReload });\r\n }\r\n}\r\n\r\nexport default CacheReset;","module.exports = __webpack_public_path__ + \"static/media/notification-sound.a90b8d5c.mp3\";","export const en = {\r\n auth: {\r\n login: \"login\",\r\n logout: \"Logout\",\r\n rememberMe: \"Remember me\",\r\n signIn: \"Sign in\",\r\n email: \"Email\",\r\n mail_massage: \"The input is not valid e-mail!\",\r\n mail_req_massage: \"Please input your e-mail!\",\r\n password_placeholder: \"Enter your password\",\r\n plaeaseEnterMail:\r\n \"Please Enter your email then click the button below to request another one.\",\r\n password: \"Password\",\r\n forgetPassword: \"Forget Password?\",\r\n Forget_Password: \"Forget Password\",\r\n sammary:\r\n \"Please enter your email so that we can send you a rest password email.\",\r\n passwordMassage: \"Please input your password!\",\r\n backToSignin: \"Back to sign in\",\r\n sendMail: \"Send email\",\r\n sorry505:\r\n \"The server encountered an internal error or misconfiguration and was unable to complete your request\",\r\n resetSent: \"Reset code was sent successfully\",\r\n confirmPassword: \"Confirm new password\",\r\n restPass_placeholder: \"Confirm your password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n Reset: \"Reset\",\r\n cancle: \"Cancel\",\r\n CheckInpoxp1: \"Please check your inbox or spam folder at\",\r\n CheckInpoxp2: \"For a link to reset your password .\",\r\n GoToMail: \"Go to your mail\",\r\n Ok: \"OK\",\r\n oops: \"Oops!! This URL Is Not Valid Anymore.\",\r\n ResendMail: \"Resend mail\",\r\n passwordmin: \"Password must be min 6 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password must be at least 8 characters including capital and small letters.\",\r\n profile: \"Profile\",\r\n personalInfo: \"Personal information\",\r\n name: \"Name\",\r\n nameMassage: \"Please input your name!\",\r\n namePlaceholder: \"Enter your name\",\r\n Security: \"Security\",\r\n Account: \"Account\",\r\n Change: \"Change\",\r\n Deactivate: \"Deactivate\",\r\n DeactivateAccount: \"Deactivate account\",\r\n SaveChanges: \"Save changes\",\r\n ChangePassword: \"Change password\",\r\n NoCancel: \"No, Cancel\",\r\n YesDeactivate: \"Yes, Deactivate\",\r\n PasswordsChanged: \"Passwords changed successfully\",\r\n AccountDeactivated: \"Account Deactivated!\",\r\n YourAccountDeactivated:\r\n \"Your account have be deactivated, please be informed that you’ll never be able to login again or restore your account\",\r\n Delete: \"Delete\",\r\n JoinYourClassNow: \"Join Your Class Now!\",\r\n Studentcode: \"Student code\",\r\n Studentcoderequired: \"please input Student code\",\r\n AreYouSoure: \"Are you sure you want to delete this data ?\",\r\n YesSave: \"Yes, Save\",\r\n NoSave: \"No, Don’t Save\",\r\n NewPassword: \"New password\",\r\n Cancel: \"Cancel\",\r\n EnterPassFor: \"Please enter Your Password for\",\r\n TimedOut:\r\n \"You are being timed-out due to inactivity .please choose to stay \",\r\n SinginOrLogout: \"Signed-in or log-out .\",\r\n otherwise: \"Otherwise , you will be logged out automatically\",\r\n minute: \"after 1 minute.\",\r\n stay: \"Stay logged-in\",\r\n inactivityMessage: \"You have been logged-out due to inactivity\",\r\n incorrectOldPassword: \"Old password is incorrect\",\r\n Imagemustsmallerthan5MB: \"Image must smaller than 5MB!\",\r\n YoucanonlyuploadJPGPNG: \"You can only upload JPG/PNG file!\",\r\n createAccount: \"Create account\",\r\n aleadyHaveAccount: \"Aleady have an account ?\",\r\n signUp: \"Sign up\"\r\n },\r\n notifi: {\r\n MarkAll: \"Mark all reeded\",\r\n NotifiContent: \"Welcome back to Starwallet labs admin panel\",\r\n fiveMin: \"5 Mins ago\",\r\n Delete: \"Delete\"\r\n },\r\n validationMessages: {\r\n\t\tshortDescriptionLength: \"Short description must be less than 70 character\",\r\n\t\tdescriptionLength: \"Description must be less than 500 characters\",\r\n\t\ttitleLength: \"Title must be less than 30 character\",\r\n\t\ttitleLengthMax: \"Title must be less than 60 character\",\r\n\t\ttitleLengthMin: 'Title must be at least 3 characters',\r\n\t\tfirstNameLength: \"First name must be less than 20 character\",\r\n\t\tfirstNameSpaces: \"First name can't contain more than one space\",\r\n\t\timageSize: 'Image size must be less than 10 MB',\r\n videoSize: 'Video size must be less than 200 MB',\r\n invalidFormat: 'Please select a valid image or video type',\r\n invalidWidth: 'Image width must be more than 400 pixel',\r\n invalidHeight: 'Image height must be more than 400 pixel',\r\n limitExceeded: \"You can't select more than 20 files\",\r\n invalidImages: 'images are invalid',\r\n\t\tAreYouSureDelete: 'Are you sure you want to delete ',\r\n deleteFile: 'Delete File',\r\n fileSizeExceed: \"File size can't exceed \",\r\n fileNotSupported: ' files are not supported',\r\n\t},\r\n home: {\r\n exportExcel: \"Export Excel\"\r\n },\r\n header: {\r\n Search: \"Search...\",\r\n Editprofile: \"Edit profile\",\r\n SUPERADMIN: \"SUPER admin\",\r\n NOTIFICATIONS: \"Notifications\",\r\n Seeall: \"See all\"\r\n },\r\n errors: {\r\n Unauthorized: \"Unauthorized\",\r\n sorry401: \"Sorry , your request could not be processed.\",\r\n goToHome: \"Go To Home page\",\r\n sorry403:\r\n \"We are sorry , but you do not have access to this page or resource.\",\r\n Access: \"Access Denied\",\r\n notFound: \"Page not found\",\r\n error_text:\r\n \" The page you’re looking for might have been removed, had its name changed or is temporarily unavailable.\",\r\n serverError: \"Internal server error\"\r\n },\r\n MScreens: {\r\n LinkExpired: \"Link expired\",\r\n plaeaseEnterMail:\r\n \"Please enter your email then click the button below to request another one.\",\r\n email: \"Email\",\r\n mail_massage: \"The input is not valid e-mail!\",\r\n mail_req_massage: \"Please input your e-mail!\",\r\n ResendMail: \"Resend mail\",\r\n oops: \"Oops!! This url Is Not Valid Anymore.\",\r\n Ok: \"OK\",\r\n PasswordReset: \"Passwords reset successfully\",\r\n ResetPassword: \"Rest new password\",\r\n NewPassword: \"New password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password must be at least 8 characters including capital and small letters.\",\r\n password_placeholder: \"Enter your password\",\r\n confirmPassword: \"Confirm new password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n restPass_placeholder: \"Confirm your password\",\r\n cancle: \"Cancel\",\r\n resetSent: \"Reset code was sent successfully\",\r\n Reset: \"Reset\",\r\n CheckInpoxp1: \"Please check your inbox or spam folder at\",\r\n CheckInpoxp2: \"for a link to reset your password .\",\r\n backToSignin: \"Back to sign in\"\r\n },\r\n settings: {\r\n PasswordsChanged: \"Passwords changed successfully\",\r\n successfullyDeleted: \"successfully deleted\",\r\n ChangePassword: \"change password\",\r\n NewPassword: \"New password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password expresion that requires one lower case letter, one upper case letter, one digit\",\r\n password_placeholder: \"Enter your password\",\r\n confirmPassword: \"Confirm new password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n restPass_placeholder: \"Confirm your password\",\r\n logout: \"logout\",\r\n AccountDeactivated: \"Account deactivated!\",\r\n YourAccountDeactivated:\r\n \"Your account have be deactivated, please be informed that you’ll never be able to login again or restore your account\",\r\n YesSave: \"Yes, Save\",\r\n NoSave: \"No, Don’t Save\",\r\n Cancel: \"Cancel\",\r\n Delete: \"Delete\",\r\n SaveChanges: \"Save changes\",\r\n AreYouSoure: \"Do you want to save this data ?\",\r\n signIn: \"Sign in\",\r\n EnterPassFor: \"Please enter your password for\",\r\n password: \"Password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password expresion that requires one lower case letter, one upper case letter, one digit\",\r\n password_placeholder: \"Enter your password\"\r\n },\r\n setting: {\r\n Settings: \"Settings\",\r\n Integratedappsmasterata: \"Integrated apps master data\",\r\n GoogleRECAPTCHA: \"Google recaptcha\",\r\n GoogleAnalyticsTrackingCode: \"Google analytics tracking code\",\r\n FacebookAppID: \"Facebook app iD\",\r\n FacebookAppSecret: \"Facebook app secret\",\r\n LinkedInAppID: \"LinkedIn app iD\",\r\n EmailedLinksSettings: \"Emailed links settings\",\r\n Emailverification: \"Email verification\",\r\n Enable: \"Enable\",\r\n Emailverificationlinkexpirytimeminutes:\r\n \"Email verification link expiry time (minutes)\",\r\n Mins: \"Mins\",\r\n EmailNotifications: \"Email notifications\",\r\n Resetpasslinkverificationlinkexpirytimeminutes:\r\n \"Reset pass link verification link expiry time (minutes)\",\r\n Resendmailinterval: \"Resend mail interval\",\r\n Tries: \"Tries\",\r\n Xplacholder: \"xxxx-xxxx-xxxx\"\r\n },\r\n Privileges: {\r\n AddRole: \"Add Role\",\r\n Newrole: \"New Role\",\r\n Personalinfo: \"Personal info\",\r\n Rolename: \"Role name\",\r\n ISACTIVE: \"IS active\",\r\n Hidetranslations: \"Hide translations\",\r\n Showtranslations: \"Show translations\",\r\n TranslateIntoAr: \"Translate into “عربي“\",\r\n TranslateIntoFr: \"Translate into “française“\",\r\n Enable: \"Enable\",\r\n Rolestatus: \"Role status\",\r\n Privileges: \"Privileges\",\r\n Privilege: \"Privilege\",\r\n AddPrivileges: \"Add Privileges\",\r\n SelectPrivileges: \"Select Privileges\",\r\n PleaseselectPrivilegestoAssign: \"Please select Privileges to assign\",\r\n AssignedPrivileges: \"Assigned Privileges\",\r\n Admins: \"Admins\",\r\n AddAdmins: \"Add admins\",\r\n SelectAdmins: \"Select admins\",\r\n Admin: \"Admin\",\r\n AddAdmin: \"Add admin\",\r\n SelectAdmin: \"Select admin\",\r\n PleaseselectAdminstoAssign: \"Please select admins to assign\",\r\n deletedSuccessfully: \"Selected roles deleted successfully\",\r\n editedSuccessfully: \"Selected role edited successfully\",\r\n addedSuccessfully: \"Role added successfully\"\r\n },\r\n currency: {\r\n Currencyname: \"Currency name\",\r\n Addcurrency: \"Add currency\",\r\n Newcurrency: \"New currency\",\r\n currencyinfo: \"Currency info\"\r\n },\r\n users: {\r\n USERS: \"USERS\",\r\n Name: \"Name\",\r\n Age: \"Age\",\r\n Email: \"Email\",\r\n Address: \"Address\",\r\n Admins: \"Admins\",\r\n UpdateAdmins: \"Update Admins\",\r\n Adduser: \"Add admin\",\r\n Personalinfo: \"Personal info\",\r\n Rules: \"Roles\",\r\n Addrule: \"Add role\",\r\n Selectrule: \"Select role\",\r\n PleaseselectruletoAssign: \"Please select role to Assign\",\r\n Assignedrules: \"Assigned roles\",\r\n deletedSuccessfully: \"Selected users deleted successfully\",\r\n editedSuccessfully: \"Selected user edited successfully\",\r\n addedSuccessfully: \"User added successfully\"\r\n },\r\n grid: {\r\n New: \"New \",\r\n goTo: \"Go to\",\r\n gridSearch: \"Search\",\r\n reset: \"Reset\",\r\n sureToCancel: \"Sure to cancel?\",\r\n no: \"No\"\r\n },\r\n buttons: {\r\n Close: \"Close\",\r\n SaveNew: \"Save & new\",\r\n Save: \"Save\",\r\n Cancel: \"Cancel\",\r\n UpdateNew: \"Update & new\",\r\n Update: \"Update\",\r\n Duplicate: \"Duplicate\",\r\n Delete: \"Delete\",\r\n View: \"View\",\r\n Archive: \"Archive\",\r\n Edit: \"Edit\",\r\n confirm: \"Are you sure you want to \",\r\n selectToEdit: \"Please select one row to edit\",\r\n selectToDelete: \"Please select one row or more to delete\",\r\n change: \"Change\",\r\n remove: \"Remove\",\r\n Send: \"Send\",\r\n done: 'Done',\r\n clear: 'Clear',\r\n qu: \"?\",\r\n selectAll: \"Select all\",\r\n deleteTheRest: \"Delete the rest\",\r\n add: \"Add\",\r\n YesCancel: \"Yes, cancel\",\r\n NoDontCancel: \"No, Don’t cancel\",\r\n rotate: \"Rotate\",\r\n crop: \"Crop\",\r\n open: 'Open',\r\n Answer:'Answer'\r\n },\r\n inputs: {\r\n inputrequired: \"Input required\",\r\n PleaseinputyourFirstname: \"Please input your first name!\",\r\n PleaseinputyourMiddlename: \"Please input your middle name!\",\r\n PleaseinputyourLastName: \"Please input your last name!\",\r\n Pleaseinputyourphonenumber: \"Please input your phone number!\",\r\n Firstname: \"First name\",\r\n Middlename: \"Middle name\",\r\n LastName: \"Last name\",\r\n PhoneNumber: \"Phone number\",\r\n phonemin: \"Phone can't be less than 8 numbers\",\r\n phonemax: \"Phone can't be more than 11 numbers\",\r\n phone: \"phone\",\r\n Email: \"E-mail\",\r\n TheinputisnotvalidEmail: \"The input is not valid e-mail!\",\r\n PleaseinputyourEmail: \"Please input your e-mail!\",\r\n EmailAlreadyExists: \"Email already exists\",\r\n Firstnamemustcharacters: \"Name must be min 3 characters\",\r\n namecantacceptspace: \"Name dosen't accept space\",\r\n Namecanacceptspecialcharacters: \"Name can't accept special characters\",\r\n Namecanacceptnumbers: \"Name can't accept numbers\",\r\n passwordDoesnotMatch: \"Password and confirmation does not match\"\r\n },\r\n masterData: {\r\n basicInfo: \"Basic info\",\r\n label: \"Master data\",\r\n add: \"Add\",\r\n name: \"Name\",\r\n email: \"Email\",\r\n value: \"Value\",\r\n isActive: \"Is active\",\r\n active: \"Active\",\r\n inActive: \"Inactive\",\r\n translate: \"Translation\",\r\n hideTranslations: \"Hide translations\",\r\n nameMaxLength: \"Name length must not exceed 60 character\",\r\n nameTranslationMaxLength:\r\n \"Name translation max length must not exceed 60 character\",\r\n nameMinLength: \"Name minimum length is 3 characters\",\r\n nameTranslationMinLength: \"Name translation minimum length is 3 characters\",\r\n namePlaceholder: \"Enter name here\",\r\n valuePlaceholder: \"Enter value ex:'25'\",\r\n nameTranslationPlaceholder: \"Enter name translation here\",\r\n deletedSuccessfully: \"Selected data deleted successfully\",\r\n editedSuccessfully: \"Selected data edited successfully\",\r\n addedSuccessfully: \"Data added successfully\",\r\n theFollowingData: \"The following data \",\r\n inUseData: \" are in use and can't be deleted\",\r\n inUseActivated: \" is in use and can't be deactivated\"\r\n },\r\n countries: {\r\n basicInfo: \"Basic info\",\r\n label: \"Country\",\r\n deletedSuccessfully: \"Selected countries deleted successfully\",\r\n editedSuccessfully: \"Selected country edited successfully\",\r\n addedSuccessfully: \"Country added successfully\",\r\n nullFlag: \"Please select an image\",\r\n countryCurrency: \"Country's currency\",\r\n currencyPlaceholder: \"Select country's currency\",\r\n countryCodePlaceholder: \"Enter country phone code, ex: +20\",\r\n countryCode: \"Country Code\"\r\n },\r\n governorates: {\r\n basicInfo: \"Basic info\",\r\n label: \"Governorate\",\r\n deletedSuccessfully: \"Selected governorates deleted successfully\",\r\n editedSuccessfully: \"Selected governorate edited successfully\",\r\n addedSuccessfully: \"Governorate added successfully\"\r\n },\r\n schools: {\r\n SchoolName: \"School name\",\r\n Country: \"Country\",\r\n AddSchool: \"Add school\",\r\n State: \"State\",\r\n selectState: \"Select a state\",\r\n Fax: \"Fax\",\r\n AddressLine1: \"Address line 1\",\r\n AddressLine2: \"Address line 2\",\r\n PaymentMethod: \"Payment method\",\r\n Website: \"Website\",\r\n SchoolEmail: \"School e-mail\",\r\n AllowedStudents: \"Allowed students\",\r\n ContactPersonName: \"Contact Person name\",\r\n pleaseEngerName: \"Please enter Your name\",\r\n Position: \"Position\",\r\n enterPosition: \"Please enter your position\",\r\n email: \"Email\",\r\n enterEmail: \"Please enter your email\",\r\n Country: \"Country\",\r\n selectCountery: \"Select a country\",\r\n addContactPersonData: \"Add contact\",\r\n invalidURL: \"Please enter a valid url\",\r\n schoolData: \"School data\",\r\n contactPersonData: \"Contact person Data\",\r\n contactWorkPhone: \"Work Phone\",\r\n contactPersonalPhone: \"Personal Phone\",\r\n addContactModalTitle: \"Add contact person\"\r\n },\r\n sideBar: {\r\n Home: 'Home',\r\n Courses: 'Courses',\r\n Assignments: 'Assignments',\r\n Exams: 'Exams',\r\n Results: 'Results',\r\n Schedule: 'Schedule',\r\n Calendar: 'Calendar',\r\n Timetable: 'Timetable',\r\n OnlineSessions: 'Online Sessions'\r\n },\r\n payment: {\r\n PaymentTypes: \"Payment types\",\r\n PaymentHistory: \"Payment history\",\r\n Chooseyourpaymentplan: \"Choose your payment plan that you will follow:\",\r\n SelectPaymenttype: \"Select Payment type\",\r\n Features: \"Features:\",\r\n CurrentStudentsNumber: \"Current students number:\",\r\n student: \"Student\",\r\n Changesby: \"Changes by :\",\r\n EffectiveDate: \"Effective date\",\r\n LastChanges: \"Last changes :\",\r\n seemore: \"See more\",\r\n CurrentTotalCost: \"Current total cost :\",\r\n perStu: \"L.E per 1 Stu.\",\r\n NumberofdaysuntileveryPayment: \"Number of days until every payment.\",\r\n InspecificDayeverymonths: \"In specific day every N. of months.\",\r\n days: \"Days\",\r\n Mon: \"Mon.\"\r\n },\r\n Stations: {\r\n Newstation: \"New station\",\r\n ViewStation: \"View station\",\r\n StationsName: \"Stations name\",\r\n NofChargers: \"N. of chargers\",\r\n ChoutofService: \"Ch. out of service\",\r\n Governorate: \"Governorate\",\r\n Location: \"Location\",\r\n Chargers: \"Chargers\",\r\n Available: \"Available\",\r\n Address: \"Address\",\r\n Directions: \"Directions\",\r\n DirectionsToStation: \"Directions to station\",\r\n StationsNearYou: \"Charging stations near you\",\r\n Findtheneareststation: \" Find the nearest station to your current location\",\r\n all: \"All\",\r\n AddNewStation: \"Add new station\",\r\n StationName: \"Station name\",\r\n StationNameTranslation: \"Station name translation\",\r\n PleaseInputStationName: \"Please enter station name \",\r\n stationNamePlaceHolder: \"Write the name of the station\",\r\n stationNameTranslationPlaceHolder: \"Write station name translation\",\r\n NumberOfChargers: \"Number of chargers\",\r\n PleaseInputNumberOfChargers: \"Please input number of chargers\",\r\n NumberOfChargersPlaceholder: \"set the number of available chargers\",\r\n NumberOfOutOfServiceChargers: \"Number of out Of service chargers\",\r\n PleaseinputNumberOfoutOfService:\r\n \"Please input number of out of service chargers\",\r\n outOfServiceChargersPlaceholder:\r\n \"Set the number of out of service chargers\",\r\n Governorate: \"Governorate\",\r\n PleaseInputGovernorate: \"Please input governorate\",\r\n stationGovernorate: \"Station governorate\",\r\n LocationOnMap: \"Location on map\",\r\n PleaseInputLocationonMap: \"Please input location on map\",\r\n LocationPlaceholder: \"Pick the station on the map to set the location\",\r\n chargerIdPlaceholder: \"Insert charger id\",\r\n commentPlaceholder: \"Insert a comment\",\r\n addCharger: \"+ Add charger\",\r\n chargerID: \"Charger iD\",\r\n chargerStatus: \"Status\",\r\n chargerComment: \"Comment\",\r\n Tiles: \"Tiles\",\r\n Map: \" Map\",\r\n MoreInfo: \"More info\",\r\n stationAddedSuccessfully: \"Station added successfully\",\r\n stationEditSuccessfully: \"Station edited successfully\",\r\n chargersNo: \"Chargers num\",\r\n outOfServiceChargersNo: \"Out of service\",\r\n governateName: \"Governorate name\",\r\n alreadyExists: \"Charger already exists\"\r\n },\r\n Customers: {\r\n CustomersName: \"Customers name\",\r\n Email: \"Email\",\r\n Phone: \"Phone\",\r\n CardStatus: \"Card status\",\r\n Lastcharge: \" Last charge\",\r\n ViewProfile: \"View profile\",\r\n ViewCard: \"View card\",\r\n MobilePhone: \"Mobile phone\",\r\n Age: \"Age\",\r\n Gender: \"Gender\",\r\n CarType: \"Car type\",\r\n BatteryRange: \"Battery range\",\r\n carlicense: \"car license\",\r\n PersonalInfo: \"Personal info\",\r\n CarInfo: \"Car info\",\r\n Comments: \"Comments\",\r\n writeyourcommenthere: \"write your comment here\",\r\n active: \"Active\",\r\n inactive: \"Inactive\",\r\n inProgress: \"In Progress\",\r\n delivered: \"Delivered\",\r\n Requested: \"Requested\",\r\n needsAction: \"Needs action\",\r\n inDelivery: \"In delivery\",\r\n canceled: \"Canceled\",\r\n RequestInfo: \"Request info\",\r\n new: \"New\",\r\n address: \"Address\",\r\n deliveryAddress: \"Delivery address\",\r\n male: \"Male\",\r\n fmale: \"Female\",\r\n customerBan: \"Customer ban\",\r\n commentSent: \"Comment succefully sent\",\r\n statusUpdated: \"Status succefully updated \",\r\n userBaned: \"User succefully banned\",\r\n userActivated: \"User succefully activated\"\r\n },\r\n PricingSettings: {\r\n Settings: \"Settings\",\r\n MinimumCharge: \"Minimum charge\",\r\n KW: \"KW\",\r\n CurrentAC: \"Alternating current (AC)\",\r\n CurrentDC: \"Direct current (DC)\",\r\n ChargersPricingUpdated: \"Chargers pricing successfully updated\"\r\n },\r\n infinty: {\r\n EVChargingpoints: \"Welcome to the fastest growing electric \",\r\n foryourbusiness: \"vehicle charging network in Egypt\",\r\n Morethan17Stations: \"More than 17 EV-Charging stations in greater cairo\",\r\n Locateyourneareststation: \"Locate your nearest station\",\r\n EnvironmentFriendlyDrivingPleasure:\r\n \"Environment-Friendly, Driving Pleasure\",\r\n zero: \"Zero\",\r\n emissionisourvision: \"Emission is our vision\",\r\n Getyour: \"Get your\",\r\n ChargingCard: \"Charging Card\",\r\n ChargingCardArticle:\r\n \"To Be able to charge at any infinity-e charging station, Order Your Charging card now and Enjoy Free Charging for a Limited time Only.\",\r\n GetYourCard: \"Get your card\",\r\n Stations: \"Stations\",\r\n EVchargingstationstodate: \"EV-charging stations to date\",\r\n charginglocations: \"charging locations\",\r\n charginglocationsby2021: \"charging locations by 2021\",\r\n Neareststation: \"Stations near you\",\r\n Setlocation: \"Set location\",\r\n typeyourlocation: \"type your location here…\",\r\n LocatetheNearestStation: \"Locate the nearest infinity-e charging station\",\r\n Findtheneareststation: \"Find the nearest station\",\r\n // Stations: 'Stations',\r\n headerFooter: {\r\n Home: \"Home\",\r\n AboutUs: \"About us\",\r\n Howitworks: \"How it works\",\r\n Stations: \"Stations\",\r\n ChargingStations: \"Charging stations\",\r\n RequestCard: \"EV charging card\",\r\n ContactUs: \"Contact us\",\r\n About: \"About \",\r\n Additionallinks: \"Additional links \",\r\n infintyAdress:\r\n \"57 Corniche El Maadi, Giza Governorate, Cairo, Cairo Governorate 11431\",\r\n SignIn: \"Sign in \",\r\n viewProfile: \"view profile\",\r\n Notifications: \"Notifications\",\r\n AllRightsReserved: \"All Rights Reserved\"\r\n }\r\n },\r\n contactusRequests: {\r\n requestStatus: \"Request status\",\r\n status: \"Request status\",\r\n requestDetails: \"Request details\",\r\n new: \"New\",\r\n closed: \"Closed\",\r\n close: \"Close\",\r\n needsAction: \"Needs action\",\r\n reply: \"Reply\",\r\n replyHint: \"This reply will be sent directly to customer email\",\r\n commentHint: \"This comment can only be seen by admins\",\r\n replyPlaceholder: \"Write your request reply here\",\r\n requestUpdatedSuccessfully: \"Request status successfully updated\"\r\n },\r\n userProfile: {\r\n ChangePassword: \"Change password\",\r\n NameMin: \"Name min 2 characters\",\r\n NameMax: \"Name max is 12 characters\",\r\n Lastname20Max: \"Last name cannot be longer than 20 characters\",\r\n Firstname20Max: \"First name cannot be longer than 20 characters\",\r\n emailMin: \"Email length must be more than 5 characaters\",\r\n emailMax: \"Email length must be less than 150 characaters\",\r\n pleaseEntername: \"Please enter name\",\r\n minmaxaddress: \"Address must be between 3 and 300 characters\",\r\n Name: \"Name\",\r\n firstName: \"First name\",\r\n lastName: \"Last name\",\r\n pleaseEnterValidmail: \"Please enter valid mail\",\r\n pleaseEntermail: \"please enter mail\",\r\n mail: \"mail\",\r\n Pleaseinputyourphonenumber: \"phonen number must be 11 num\",\r\n pleaseEnteraddress: \"please enter address\",\r\n pleaseSelectGender: \"please select Gender\",\r\n Male: \"Male\",\r\n Female: \"Female\",\r\n ChangePassword: \"Change Password\",\r\n PersonalInfo: \"Personal Info\",\r\n ChangeYourPassword: \"Change your Password\",\r\n Uploadnewpicture: \"Upload new picture\",\r\n address: \"address\",\r\n Currentpassword: \"Current password\",\r\n Newpassword: \"New password\",\r\n Confirmnewpassword: \"Confirm new password\",\r\n CarInfo: \"Electric Car Details\",\r\n CarsInfo: \" Cars Info\",\r\n ArrivalAddress: \"Delivery Address\",\r\n sameashomeaddress: \"Same as home address\",\r\n oneofourcustomers:\r\n \"If you already have an infinity-e account, please sign in first\",\r\n AddmoreCar: \"Add more Car\",\r\n selectUserCar: \"Please select a car\",\r\n Selectcarbrand: \"Select car brand\",\r\n Selectcartype: \"Select car type\",\r\n pleaseEntercarbrand: \"Please enter car brand\",\r\n cartype: \"car type\",\r\n pleaseEntercartype: \"Please enter car type\",\r\n pleaseEnterbetteryrange: \"Please enter battery range\",\r\n Selectabetteryrange: \"Select a bettery range\",\r\n Attachcarlicense: \"Attach car license\",\r\n copyofthecarlicense: \"A copy of the car license\",\r\n oryoucanattachcustomsreleasecertificate:\r\n \"or you can attach customs release certificate\",\r\n Requests: \"Requests\",\r\n NoRequests: \"No requests\",\r\n carInfoAdded: \"car info added successfully\",\r\n carlicenseNeed: \"Please add car license no less than 2 images\",\r\n youwanttocancel: \"Are you sure you want to cancel this request?\",\r\n fillTheForm:\r\n \"Please fill out the form below to order your infinity-e charging card\",\r\n carsUpdated: \"Car info updated successfully\",\r\n deleteCar: \"Delete car\",\r\n carDeleteConfirmation: \"Are you sure you want to delete this car ?\",\r\n Createddate: \"Created date\",\r\n Status: \"Status\",\r\n DeliveryAddress: \"Delivery address\",\r\n Action: \"Action\",\r\n Welcome: \"Welcome\",\r\n foraneasierexperience:\r\n \"For an easier experience make your account better by complete the following data.\",\r\n Continue: \"Continue\",\r\n Skipfornow: \"Skip for now\",\r\n noLicenceSelected: \"Please selected licence images\",\r\n licenseFront: \"Please select license front image\",\r\n licenseBack: \"Please select license back image\",\r\n Wallet: \"Wallet\"\r\n },\r\n contactUs: {\r\n fullName: \"Full name\",\r\n email: \"E-mail\",\r\n RequestDetails: \"Subject\",\r\n PleaseinputyourRequestDetails: \"Please input your Request Details\",\r\n HereToHelp: \"We’re here to help\",\r\n ContactUS: \"Contact us\",\r\n ContactDetails: \"Contact details\",\r\n OpeningHours: \"Opening hours\",\r\n Closed: \"Closed\",\r\n About: \"About\",\r\n Howitworks: \"How it works\",\r\n ChargingStations: \"Charging stations\",\r\n RequestCard: \"EV charging card\",\r\n Additionallinks: \"Additional links\",\r\n AboutUs: \"About us\",\r\n subjectMin: \"Subject length must be at least 20 characters\",\r\n subjectMax: \"Subject maximum length must be 200 characters\",\r\n nameMin: \"Name must be at least 2 characters\",\r\n nameMax: \"Name can't be more than 60 characters\",\r\n dayopen: \"Sunday - Thursday\",\r\n dayclose: \"Friday - Saturday\"\r\n },\r\n notifications: {\r\n loadMore: \"Load more notifications\",\r\n notifications: \"Notifications\",\r\n noNotifications: \"It's all good, you don't have new notifications\",\r\n today: \"Today's\"\r\n },\r\n aboutUs: {\r\n aboutUsPragraph:\r\n \"Infinity-e was established in 2018 with the vision to develop Egypt’s electric vehicle charging network infrastructure. We are working towards creating the most reliable and convenient EV charging network in Egypt. infinity-e is a subsidiary of infinity energy, the leading company in the renewable energy sector in Egypt .\",\r\n Exploremore: \"Explore more\",\r\n Ourstations: \"Our stations\",\r\n OurstationsPragraph1:\r\n \"All infinity-e charging stations are equipped to charge at least 2 electric vehicles simultaneously, while some stations capacitate for up to 6 vehicles. They are equipped with double-socket 22Kw-AC-chargers and fast-charging DC chargers in major stations, providing an output of 50 Kw to charge your electric car up to 125km in 30 minutes. \",\r\n OurstationsPragraph2:\r\n \"All stations confine to EU standards and cater for type 2 charger cables. Alternatively, one can use an adapter cable to connect to the charging station.\",\r\n Our: \"Our\",\r\n Partners: \"Partners\"\r\n },\r\n howItWork: {\r\n How: \"How\",\r\n itworks: \"it works\",\r\n Start: \"Connect\",\r\n StartStep: \"Connect charger cable with car & station.\",\r\n Second: \"Start\",\r\n SecondStep: \"Start charging session by swiping charging card.\",\r\n Third: \"Charge\",\r\n ThirdStep: \"Blue lED light indicates start of charging session.\",\r\n End: \"Charging Complete\",\r\n EndStep:\r\n \"Stop charging session by swiping charging card then removing the cable.\",\r\n RequestCard: \"Charging card\",\r\n Requestcharging:\r\n \"Order a card to be able to charge your car at any infinity-e charging station\",\r\n Search: \"Search\",\r\n Searchlocation: \"Find your nearest Infinity-e charging station here\"\r\n },\r\n signIn: {\r\n WelcomeBack: \"Welcome Back !\",\r\n Tokeepconnected:\r\n \"To keep connected with us please login with your personal info\",\r\n SignIn: \"Sign In\",\r\n SignUp: \"Sign Up\",\r\n HelloFriend: \"Hello, Friend!\",\r\n personaldetails: \"Enter your personal details and start journey with us\",\r\n SignintoInfinity: \"Sign in to infinity\",\r\n Forgotpassword: \" Forgot your password ?\",\r\n haveaccount: \" Don’t have an account?\"\r\n },\r\n courses: {\r\n TodaysCourses: \"Today's Courses\",\r\n more:'More',\r\n Day:'Day',\r\n Week:'Week',\r\n Month:'Month',\r\n All: 'All',\r\n ToDo:'ToDo',\r\n Completed:'Completed',\r\n Draft:'Draft',\r\n NoCoursesAdded :'No Courses Added',\r\n allCourses: 'All Courses',\r\n coursesSubtitle: 'Courses to complete today',\r\n attachments: 'Attatchments',\r\n downloadAll: 'Download All',\r\n },\r\n filtrationBar: {\r\n filter: 'Filter',\r\n subject: 'Subject',\r\n date: 'Date',\r\n courseName: 'Course Name',\r\n subjectPlaceholder: 'Select a subject',\r\n datePlaceholder: 'Select a date',\r\n courseNamePlaceholder: 'Type course name',\r\n allYear: 'All Year',\r\n clear: 'clear',\r\n ResultType:'Result Type',\r\n ResultEvaluation:'Result Evaluation'\r\n },\r\n assigments : {\r\n Assigments : 'Assignments',\r\n Assignment : 'Assignment',\r\n NoAssigmentsAdded : 'No Assignments Added',\r\n Youhave : 'You have ',\r\n NoFeedbackyet : \"No Feedback yet , Complete your assignment first and wait your teacher's feedback\",\r\n SuccessfullyPass : 'Successfully Pass',\r\n assigmentstocompletetoday : ' assignments to complete today',\r\n All : 'All',\r\n ToDo : 'To Do',\r\n Late : 'Late',\r\n Feedback : 'Feedback',\r\n Completed : 'Completed',\r\n Uncomplet : 'Incomplete',\r\n open : 'open',\r\n Feedback : 'Feedback',\r\n ReSubmit : 'Re-Submit',\r\n Teacherfeedback : \"Teacher's feedback\",\r\n TodayAssigments : \"Today's Assignments\",\r\n Applyyourassignmenthere : 'Apply your assignment here..',\r\n AssignmentReply : 'Assignment Reply',\r\n doesntmatchtherequirement : \"doesn't match the requirement.\",\r\n endDate: 'End Date',\r\n question: 'Question',\r\n degree: 'Degree',\r\n of: 'of',\r\n inProgress:'in Progress' \r\n\r\n }, \r\n exams:{\r\n exams:'Exams',\r\n headerSubtitle:'exams to complete today',\r\n all : 'All',\r\n toDo : 'To Do',\r\n upComing: 'Up Coming',\r\n previous: 'Previous',\r\n online: 'Online',\r\n printed: 'Printed',\r\n hours: 'Hours',\r\n hour: 'Hour',\r\n questions: 'Questions',\r\n startExam: 'Start Exam',\r\n instructions: 'Instructions',\r\n daysLeft: 'Days Left',\r\n Beforeyoubegin: 'Before you begin',\r\n Themaximumtime: 'The maximum time that allowed to Access the exam after the start time .',\r\n Theresnooption: \"There's no option to pause. Make sure you will not be interrupted for\",\r\n Ifyouaccidentallyclose: 'If you accidentally close your browser, use the invitation link to get back to your test.',\r\n Hintyoucanuse : 'Hint: you can use your own IDE and use copy-paste, but make sure your solution compiles in Scholigit Test environment.',\r\n HowtouseitInstruction: 'How to use it : Instruction and Tips',\r\n minutes: 'minutes',\r\n Hours: 'Hours',\r\n StartTime: 'Start Time',\r\n EndTime: 'End Time',\r\n ExamDuration: 'Exam Duration',\r\n NQuestions: 'N. Questions',\r\n Questions: 'Questions',\r\n Accessibilitytime: 'Accessibility time',\r\n FromstartingTimeTill: 'From starting Time Till',\r\n checkTipNumberbelow: 'check Tip Number 1 below',\r\n noExamsFound: 'No Exams Found',\r\n under: 'Under',\r\n correction: 'Correction',\r\n underCorrection: 'Under Correction',\r\n totalDegree:'Degrees' ,\r\n final:'Final Exam',\r\n midterm:'Midterm Exam',\r\n monthly:'Monthly Exam',\r\n examTitle:'Exam Title',\r\n examType:'Exam Type',\r\n subject:'Subject',\r\n start:'Start',\r\n end:'End',\r\n\r\n },\r\n Results:{\r\n Results:'Results',\r\n withinthetotal:'within the total',\r\n Outoftotal:'Out of total',\r\n Excellent:'Excellent',\r\n VGood:'V.Good',\r\n Good:'Good',\r\n Congratulations:'Congratulations',\r\n successfullypassed:', You are successfully passed and transferred to the next Grade.',\r\n LatestResults:'Latest Results',\r\n Archive:'Archive',\r\n NoResultsfoundyet:'No Results found yet',\r\n Yourresultswillappearhere:'Your results will appear here once the correction is over',\r\n MoreDetails:'More Details'\r\n },\r\n exam: {\r\n Exam: 'Exam',\r\n Class: 'Class',\r\n startExam: 'Start Exam',\r\n continueExam: 'Continue Exam',\r\n finishExam: 'Finish Exam',\r\n next: 'Next',\r\n previous: 'Previous',\r\n FinishExam: 'Finish Exam',\r\n solved: 'Solved',\r\n NotSolved: 'Not Solved',\r\n MarkForReview: 'Mark For Review',\r\n minutes: 'minutes',\r\n Hours: 'Hours',\r\n StartTime: 'Start Time',\r\n EndTime: 'End Time',\r\n ExamDuration: 'Exam Duration',\r\n NQuestions: 'N. Questions',\r\n Questions: 'Questions',\r\n Accessibilitytime: 'Accessibility time',\r\n FromstartingTimeTill: 'From starting Time Till',\r\n checkTipNumberbelow: 'check Tip Number 1 below',\r\n Beforeyoubegin: 'Before you begin',\r\n Themaximumtime: 'The maximum time that allowed to Access the exam after the start time .',\r\n Theresnooption: \"There's no option to pause. Make sure you will not be interrupted for\",\r\n Ifyouaccidentallyclose: 'If you accidentally close your browser, use the invitation link to get back to your test.',\r\n Hintyoucanuse : 'Hint: you can use your own IDE and use copy-paste, but make sure your solution compiles in Scholigit Test environment.',\r\n HowtouseitInstruction: 'How to use it : Instruction and Tips',\r\n Areyouready: 'Are you ready ?',\r\n Theexamisnotvalidanymore : 'The exam is not valid anymore',\r\n ThisexamURLisnotvalidanymore : 'Oops! This exam URL is not valid anymore, It is for one use only',\r\n GoToExamsPage : 'Go To Exams Page',\r\n question: 'Question',\r\n point: 'Point',\r\n MultiChoise : 'Multi Choice',\r\n SingleChoise : 'Single Choice',\r\n Written : 'Paragraph ',\r\n Trueorfalse : 'True or false',\r\n true : 'True',\r\n false : 'False',\r\n connect: 'Connect',\r\n rearrange: 'Re-arrange',\r\n complete: 'Complete',\r\n wellDone: 'Well Done',\r\n youDidGreat: 'You did great',\r\n yourResult: 'Your result',\r\n done: 'Done',\r\n examSubmitted: 'Your Answers have been submitted',\r\n waitForCorrection: 'Wait for the correction to finish for the exam and you will be notified of the result soon upon completion',\r\n keepInMind: \"Keep in mind that when you click on 'Finish' , that's mean that you have finished your exam and can't refer to your answers again.\",\r\n TextAreaTypeAnswer:'Type your answer here...',\r\n showAnswer: 'Show Answer' ,\r\n selectAnswerFirst:'Please answer the question first',\r\n questionQ:'Q'\r\n\r\n },\r\n timeline: {\r\n addPhoto: 'Add Photo',\r\n addVideo: 'Add Video',\r\n Photo: 'Photo',\r\n Video: 'Video',\r\n File: 'File',\r\n post: 'Post',\r\n TimeLine: 'TimeLine',\r\n Calender: 'Calender',\r\n Attendens: 'Attendens',\r\n TimeTable: 'TimeTable',\r\n HomeWork: 'Home Work',\r\n Exam: 'Exam',\r\n createTagline: 'What’s happening in your classroom?',\r\n captionRequired: 'Story caption is required',\r\n postCreatedSuccessfully: 'Post created successfully',\r\n writeyourmessagehere: \"write your message here…\",\r\n WholeClass: 'Whole Class',\r\n SetHomework: 'Set Homework',\r\n Cancel: 'Cancel',\r\n cropImage: 'Crop selected image',\r\n crop: 'Crop',\r\n imageSize: 'Image size must be less than 10 MB',\r\n videoSize: 'Video size must be less than 200 MB',\r\n invalidFormat: 'Please select a valid image or video type',\r\n invalidWidth: 'Image width must be more than 400 pixel',\r\n invalidHeight: 'Image height must be more than 400 pixel',\r\n limitExceeded: \"You can't select more than 20 files\",\r\n invalidImages: 'files are invalid',\r\n DropToUpload: 'Drop files here to upload',\r\n Upload: 'Upload',\r\n },\r\n calendar: {\r\n day: 'Day',\r\n week: 'Week',\r\n month: 'Month',\r\n calendar: 'Calendar',\r\n youHave: 'You have',\r\n remainingTasks: 'remaining tasks',\r\n HomeWork:'HomeWork',\r\n OnlineSession:'Online Classroom',\r\n TimeTable:'Timetable',\r\n Solve:'Solve',\r\n Join:'Join',\r\n Ended:'Ended'\r\n },\r\n todoList:{\r\n todoList:'To Do List',\r\n TimeTable:'TimeTable',\r\n HomeWork:'Home Work',\r\n ClassOnline:'Class Online',\r\n Time:'Time',\r\n Title:'Title',\r\n Topic:'Topic',\r\n Subject:'Subject',\r\n Teacher:'Teacher',\r\n Status:'Status',\r\n StartTime:'Start',\r\n DueTime:'Due',\r\n Done:'Done',\r\n InProgress:'In Progress',\r\n Join:'Join',\r\n TimeRemining:'Time Remining',\r\n Solve:'Solve Homework',\r\n empty:'Sorry, there are no todos for this day',\r\n YouHave:'You Have',\r\n Coursestocompletetoday:'Courses to complete today',\r\n to:'To',\r\n Details:'Details',\r\n Completed:'Completed',\r\n Type:'Type',\r\n OnlineSession:'Online Session'\r\n},\r\n timetable : {\r\n Satarday : 'Satarday',\r\n Sunday : 'Sunday',\r\n Monday : 'Monday',\r\n Teusday :'Teusday',\r\n Wednesday : 'Wednesday',\r\n Thursday : 'Thursday',\r\n Session :'Session',\r\n Sessions : 'Sessions',\r\n },\r\n onlineSessions :{\r\n OnlineSessions:'Online Sessions',\r\n Courses:'Courses',\r\n General:'General',\r\n OnlineSessionTitle:'Session Title',\r\n Teacher:'Teacher',\r\n Subject:'Subject',\r\n Chapter:'Chapter',\r\n Topic:'Topic',\r\n Date :'Date ',\r\n Details:'Details',\r\n Status:'Status',\r\n EmptyText:'Oops , there are No Online Sessions ',\r\n Started:'Started',\r\n Scheduled:'Scheduled',\r\n Ended:'Ended',\r\n Join:'Join',\r\n TimeRemaining:'Time Remaining',\r\n Done:'Done',\r\n Cancel:'Cancel',\r\n onlineSession: 'Online Session',\r\n notStarted: 'Session has not started yet',\r\n emptyFiles: 'There are no files in this session',\r\n processing: 'Processing...',\r\n general: 'General',\r\n All:'All'\r\n\r\n }\r\n};\r\n","export const ar = {\r\n auth: {\r\n login: 'تسجيل الدخول',\r\n logout: 'تسجيل الخروج',\r\n email: 'بريد الكتروني',\r\n rememberMe: 'تذكرني',\r\n signIn: 'تسجيل الدخول',\r\n password_placeholder: 'ادخل رقمك السري',\r\n mail_massage:'هذا البريد الالكتروني غير صالح',\r\n mail_req_massage:'الرجاء ادخال بريدك الالكتروني',\r\n password:'الرقم السري',\r\n forgetPassword:'نسيت كلمة السر',\r\n Forget_Password:'نسيت كلمة السر',\r\n sammary:'برجاء ادخال البريد الالكتروني لتتمكن من اعاده تعيين كلمة السر',\r\n passwordMassage:'الرجاء ادخال كلمة السر',\r\n backToSignin:'الرجوع الي تسجيل الدخول',\r\n sendMail:'ارسال بريد الكتروني',\r\n sorry403:'نأسف ، لكن ليس لديك حق الوصول إلى هذه الصفحة أو المورد.',\r\n sorry505:'واجه الخادم خطأ داخليًا أو خطأ في التكوين وكان كذلك لا يمكن إكمال طلبك',\r\n resetSent: 'تم إرسال كود إعادة التعيين بنجاح',\r\n plaeaseEnterMail:'الرجاء إدخال بريدك الإلكتروني ثم انقر فوق الزر أدناه لطلب واحد آخر.',\r\n confirmPassword:'تأكيد كلمة المرور الجديدة',\r\n restPass_placeholder:'اعد كتابه رقم المرور',\r\n confirm_massage:'الرجاء تاكيد كلمة السر',\r\n Reset:'إعادة تعيين',\r\n cancle:'الغاء',\r\n CheckInpoxp1:'يرجى التحقق من مجلد البريد الوارد أو البريد العشوائي في',\r\n CheckInpoxp2:'للحصول على رابط لإعادة تعيين كلمة المرور الخاصة بك.',\r\n GoToMail:'اذهب الي البريد الالكتروني',\r\n Ok:'حسنا',\r\n goToHome:'اذهب الي الصفحه الرئيسيه',\r\n oops:'عفوا !!عنوان URLغير صحيح',\r\n ResendMail:'اعاده ارسال البريد الالكتروني',\r\n passwordmin:'يجب أن تكون كلمة المرور أقل من 6 أحرف',\r\n passwordmax:'يجب أن تكون كلمة المرور 20 حرفًا كحد أقصى',\r\n passwordexpresion:'يجب أن تتكون كلمة المرور من 8 أحرف على الأقل بما في ذلك الأحرف الكبيرة والصغيرة.',\r\n profile:'الصفحه الشخصية',\r\n personalInfo:'معلومات شخصية',\r\n name:'الاسم',\r\n nameMassage:'الرجاء ادخال الاسم',\r\n namePlaceholder:'ادخل اسمك',\r\n Security:'الحمايه',\r\n Account:'حساب',\r\n Change:'تغيير',\r\n Deactivate:'تعطيل',\r\n DeactivateAccount:'تعطيل الحساب',\r\n SaveChanges:'حفظ التغييرات',\r\n ChangePassword:'تغيير الرقم السري',\r\n NoCancel:'الغاء',\r\n YesDeactivate:'حسنا , قم بتعطيل الحساب',\r\n PasswordsChanged:'تم تغيير الرقم السري',\r\n successfullyDeleted:' تم الحذف بنجاح',\r\n AccountDeactivated:'تم تعطيل الحساب',\r\n YourAccountDeactivated:'تم إلغاء تنشيط حسابك ، يرجى العلم بأنه لن تتمكن أبدًا من تسجيل الدخول مرة أخرى أو استعادة حسابك',\r\n Delete:'مسح',\r\n JoinYourClassNow: \"انضم إلى صفك الآن!\",\r\n Studentcode: \"كود الطالب\",\r\n Studentcoderequired: \"يرجى إدخال كود الطالب\",\r\n AreYouSoure:'هل انت متاكد انك تريد مسح هذه المعلومات',\r\n YesSave:'نعم, احفظ',\r\n NoSave:'لا تحفظ',\r\n Cancel:'الغاء',\r\n EnterPassFor:'الرجاء ادخال الرقم السري الخاص ب',\r\n TimedOut:'لقد انتهت مهلتك بسبب الخمول. يرجى اختيار البقاء تم تسجيل الدخول أو تسجيل الخروج. خلاف ذلك ، سوف يتم تسجيلك أوتوماتيكيا بعد 1 دقيقة.',\r\n SinginOrLogout :'تم تسجيل الدخول أو تسجيل الخروج',\r\n otherwise:'خلاف ذلك ، سوف يتم تسجيلك أوتوماتيكيا ',\r\n minute:'بعد 1 دقيقة.',\r\n stay:'ابقي',\r\n inactivityMessage: 'لقد تم تسجيل الخروج بسبب عدم النشاط',\r\n Imagemustsmallerthan5MB : 'يجب أن تكون الصورة أصغر من 5 ميغابايت!',\r\n YoucanonlyuploadJPGPNG : 'يمكنك فقط تحميل ملف JPG / PNG!',\r\n createAccount: 'حساب جديد',\r\n aleadyHaveAccount: 'لديك حساب بالفعل ؟',\r\n signUp: 'إنشاء حساب',\r\n },\r\n notifi: {\r\n MarkAll:'تحديد قراءه الكل',\r\n NotifiContent:'مرحبًا بك مرة أخرى في لوحة إدارة مختبرات Starwallet',\r\n fiveMin:'خمسه دقائق',\r\n Delete:'مسح',\r\n },\r\n validationMessages: {\r\n\t\tshortDescriptionLength: \"الوصف المختصر يجب أن لا يتجاوز 70 حرف\",\r\n\t\tdescriptionLength: \"الوصف يجب أن لا يتجاوز 500 حرف\",\r\n\t\ttitleLength: \"العنوان يجب أن لا يتجاوز 30 حرف\",\r\n\t\ttitleLengthMax: \"العنوان يجب أن لا يتجاوز 60 حرف\",\r\n\t\ttitleLengthMin: 'العنوان يجب أن يكون 3 أحرف على الأقل',\r\n\t\tfirstNameLength: \"الأسم الأول يجب أن لا يتجاوز 20 حرف\",\r\n\t\tfirstNameSpaces: \"الأسم الأول يجب أن لا يحتوى على أكثر من مسافة واحدة\",\r\n\t\tAreYouSureDelete: 'هل أنت متأكد من حذف ',\r\n deleteFile: 'حذف ملف',\r\n fileSizeExceed: \"حجم الملف لا يمكن أن يتجاوز \",\r\n\t\tfileNotSupported: ' نوع الملفات غير مدعوم',\r\n\t\timageSize: 'حجم الصورة يجب أن يكون أقل من 10 ميجابايت',\r\n videoSize: 'حجم الفيديو يجب أن يكون أقل من 200 ميجابايت',\r\n invalidFormat: 'يرجى إختيار صيغة صورة أو فيديو صحيحة',\r\n invalidWidth: 'عرض الصورة يجب أن يكون أكبر من 400 بكسل',\r\n invalidHeight: 'طول الصورة يجب أن يكون أكبر من 400 بكسل',\r\n limitExceeded: \"لا يمكن إختيار أكثر من 20 ملف\",\r\n invalidImages: 'صور غير صالحة'\r\n\t},\r\n home: {\r\n exportExcel: 'تحميل البيانات'\r\n },\r\n header : {\r\n Search : 'بحث...',\r\n Editprofile : 'تعديل الملف الشخصي',\r\n SUPERADMIN : 'مدير',\r\n NOTIFICATIONS : 'اشعارات',\r\n Seeall : 'اظهار الكل'\r\n },\r\n errors:{\r\n Unauthorized:'غير مصرح',\r\n sorry401:'ناسف لا يمكن تنفيذ هذه العمليه',\r\n goToHome:'اذهب الي الصفحه الرئيسيه',\r\n sorry403:'نأسف ، لكن ليس لديك حق الوصول إلى هذه الصفحة أو المورد.',\r\n Access:'غير مسموح بالدخول',\r\n notFound:'لم يتم الوصول للصفحه',\r\n error_text:'الصفحه التي تبحث عنها ربما تكون قد تم حذفهااو تم تغيير اسمها او غير متاحه حاليا',\r\n serverError:'خطا بالخادم',\r\n },\r\n MScreens:{\r\n LinkExpired:'انتهت صلاحية الرابط',\r\n plaeaseEnterMail:'الرجاء إدخال بريدك الإلكتروني ثم انقر فوق الزر أدناه لطلب واحد آخر.',\r\n email: 'بريد الكتروني',\r\n mail_massage:'هذا البريد الالكتروني غير صالح',\r\n mail_req_massage:'الرجاء ادخال بريدك الالكتروني',\r\n ResendMail:'اعاده ارسال البريد الالكتروني',\r\n oops:'عفوا !!عنوان URLغير صحيح',\r\n Ok:'حسنا',\r\n PasswordReset:'تم إعادة تعيين كلمات المرور بنجاح',\r\n ResetPassword:'تعيين رقم سري جديد',\r\n NewPassword:'رقم سري جديد',\r\n passwordMassage:'الرجاء ادخال كلمة السر',\r\n passwordmin:'يجب أن تكون كلمة المرور أقل من 8 أحرف',\r\n passwordmax:'يجب أن تكون كلمة المرور 20 حرفًا كحد أقصى',\r\n passwordexpresion:'يجب أن تتكون كلمة المرور من 8 أحرف على الأقل بما في ذلك الأحرف الكبيرة والصغيرة.',\r\n password_placeholder: 'ادخل رقمك السري',\r\n confirmPassword:'تأكيد كلمة المرور الجديدة',\r\n confirm_massage:'الرجاء تاكيد كلمة السر',\r\n restPass_placeholder:'اعد كتابه رقم المرور',\r\n cancle:'الغاء',\r\n Reset:'إعادة تعيين',\r\n CheckInpoxp1:'يرجى التحقق من مجلد البريد الوارد أو البريد العشوائي في',\r\n CheckInpoxp2:'للحصول على رابط لإعادة تعيين كلمة المرور الخاصة بك.',\r\n goToHome:'اذهب الي الصفحه الرئيسيه',\r\n backToSignin:'الرجوع الي تسجيل الدخول',\r\n },\r\n settings:{\r\n PasswordsChanged: \"تم تغيير الرقم السري\",\r\n\t\tsuccessfullyDeleted: \" تم الحذف بنجاح\",\r\n\t\tChangePassword: \"تغيير الرقم السري\",\r\n\t\tNewPassword: \"رقم سري جديد\",\r\n\t\tpasswordMassage: \"الرجاء ادخال كلمة السر\",\r\n\t\tpasswordmin: \"يجب أن تكون كلمة المرور 8 أحرف على الأقل\",\r\n\t\tpasswordmax: \"يجب أن تكون كلمة المرور 20 حرفًا كحد أقصى\",\r\n\t\tpasswordexpresion:\r\n\t\t\t\"تعبير كلمة المرور الذي يتطلب حرفًا صغيرًا واحدًا وحرفًا كبيرًا واحدًا ورقمًا واحدًا\",\r\n\t\tpassword_placeholder: \"ادخل رقمك السري\",\r\n\t\tconfirmPassword: \"تأكيد كلمة المرور الجديدة\",\r\n\t\tconfirm_massage: \"الرجاء تاكيد كلمة السر\",\r\n\t\trestPass_placeholder: \"اعد كتابه رقم المرور\",\r\n\t\tlogout: \"تسجيل الخروج\",\r\n\t\tAccountDeactivated: \"تم تعطيل الحساب\",\r\n\t\tYourAccountDeactivated:\r\n\t\t\t\"تم إلغاء حسابك ، يرجى العلم بأنه لن تتمكن أبدًا من تسجيل الدخول مرة أخرى أو استعادة حسابك\",\r\n\t\tYesSave: \"نعم, احفظ\",\r\n\t\tNoSave: \"لا تحفظ\",\r\n\t\tCancel: \"إلغاء\",\r\n\t\tDelete: \"مسح\",\r\n\t\tSaveChanges: \"حفظ التغييرات\",\r\n\t\tAreYouSoure: \"هل تريد حفظ البيانات ؟\",\r\n\t\tsignIn: \"تسجيل الدخول\",\r\n\t\tEnterPassFor: \"الرجاء ادخال الرقم السري الخاص ب\",\r\n\t\tpassword: \"الرقم السري\",\r\n\t\tpasswordMassage: \"الرجاء ادخال كلمة السر\",\r\n\t\tpasswordmin: \"يجب أن تكون كلمة المرور 8 أحرف على الأقل\",\r\n\t\tpasswordmax: \"يجب أن تكون كلمة المرور 20 حرفًا كحد أقصى\",\r\n\t\tpasswordexpresion:\r\n\t\t\t\"تعبير كلمة المرور الذي يتطلب حرفًا صغيرًا واحدًا وحرفًا كبيرًا واحدًا ورقمًا واحدًا\",\r\n\t\tpassword_placeholder: \"ادخل رقمك السري\"\r\n },\r\n\r\n\r\n\r\n setting:{\r\n Settings : 'الإعدادات',\r\n Integratedappsmasterata : 'التطبيقات المتكاملة البيانات الرئيسية',\r\n GoogleRECAPTCHA : 'جوجل RECAPTCHA',\r\n GoogleAnalyticsTrackingCode : 'جوجل تتبع تحليلات مدونة',\r\n FacebookAppID : 'معرف تطبيق Facebook',\r\n FacebookAppSecret : 'Facebook App Secret',\r\n LinkedInAppID : 'لينكدين معرف التطبيق',\r\n EmailedLinksSettings : 'إعدادات ارتباطات بالبريد الإلكتروني',\r\n Emailverification : 'تأكيد بواسطة البريد الالكتروني',\r\n Enable : 'مكن',\r\n Emailverificationlinkexpirytimeminutes : 'وقت انتهاء صلاحية التحقق من البريد الإلكتروني (بالدقائق)',\r\n Mins : 'الدقائق',\r\n EmailNotifications : 'اشعارات البريد الالكتروني',\r\n Resetpasslinkverificationlinkexpirytimeminutes : 'إعادة تعيين رابط انتهاء صلاحية رابط التحقق (بالدقائق)',\r\n Resendmailinterval : 'إعادة إرسال الفاصل الزمني للبريد',\r\n Tries : 'المحاولات',\r\n Xplacholder : 'xxxx-xxxx-xxxx'\r\n },\r\n\r\n Privileges : {\r\n AddRole : 'إضافة دور',\r\n Newrole : 'دور جديد',\r\n Personalinfo : 'معلومات شخصية',\r\n Rolename : 'اسم الدور',\r\n ISACTIVE : 'نشط',\r\n Hidetranslations : 'إخفاء الترجمات',\r\n TranslateIntoAr : 'ترجم إلى “عربي“',\r\n TranslateIntoFr : 'ترجمة إلى \"اللغة الفرنسية\"',\r\n Enable : 'مكن',\r\n Rolestatus : 'حالة الدور',\r\n Privileges : 'امتيازات',\r\n Privilege : 'امتيازات',\r\n AddPrivileges : 'إضافة الامتيازات',\r\n SelectPrivileges : 'اختر الامتيازات',\r\n PleaseselectPrivilegestoAssign : 'يرجى اختيار الامتيازات لتخصيصها',\r\n AssignedPrivileges : 'الامتيازات المخصصة',\r\n Admins : 'المسؤولين',\r\n AddAdmins : 'إضافة المسؤولين',\r\n SelectAdmins : 'حدد المسؤولين',\r\n PleaseselectAdminstoAssign : 'يرجى اختيار المسؤولين لتعيين',\r\n deletedSuccessfully: 'تم حذف الأدوار بنجاح',\r\n editedSuccessfully: 'تم تعديل الدور بنجاح',\r\n addedSuccessfully: 'تم إضافة دور جديد بنجاح',\r\n },\r\n\r\n currency : {\r\n Currencyname : 'اسم العملة',\r\n Addcurrency : 'اضف عملة',\r\n Newcurrency : 'عملة جديدة',\r\n currencyinfo : 'معلومات العملة',\r\n },\r\n\r\n users : {\r\n USERS : 'المستخدمين',\r\n Name : 'الاسم',\r\n Age : 'السن',\r\n Email: 'البريد الإلكتروني',\r\n Address : 'العنوان',\r\n Admins : 'المسؤولين',\r\n UpdateAdmins : 'تعديل المسؤولين',\r\n Adduser : 'إضافة مسؤول',\r\n Personalinfo : 'معلومات شخصية',\r\n Rules : 'الأدوار',\r\n Addrule : 'أضف الدور',\r\n Selectrule : 'اختر الدور',\r\n PleaseselectruletoAssign : 'يرجى اختيار دور لتعيين',\r\n Assignedrules : 'الأدوار المخصصة',\r\n deletedSuccessfully: 'تم حذف المستخدمين بنجاح',\r\n editedSuccessfully: 'تم تعديل المستخدم بنجاح',\r\n addedSuccessfully: 'تم إضافة مستخدم جديد بنجاح'\r\n },\r\n grid : {\r\n New : 'جديد ',\r\n goTo: 'الذهاب لصفحة',\r\n gridSearch: 'بحث',\r\n reset: 'إعادة تعيين',\r\n sureToCancel: 'هل أنت متأكد من الحذف؟',\r\n no: 'لا',\r\n },\r\n buttons:{\r\n Close : 'أغلق',\r\n SaveNew : 'حفظ و جديد',\r\n Save : 'حفظ',\r\n Cancel : 'إلغاء',\r\n UpdateNew : 'تحديث و جديد',\r\n Update : 'تحديث',\r\n Duplicate : 'كرر',\r\n Delete : 'حذف',\r\n View : 'عرض',\r\n Archive : 'أرشيف',\r\n Edit : 'تعديل',\r\n confirm: 'هل أنت متأكد من أن تقوم بال',\r\n selectToEdit: 'يرجى إختيار صف للتعديل',\r\n selectToDelete: 'يرجى إختيار صف أو أكثر للحذف',\r\n change:'تغيير',\r\n remove: 'حذف',\r\n done: 'تم',\r\n clear: 'إزالة',\r\n Send: 'ارسال',\r\n qu:'؟',\r\n deleteTheRest: 'حذف البقية',\r\n selectAll: 'إختر الكل',\r\n add: 'إضافة',\r\n YesCancel:'نعم الغي',\r\n Yes:'نعم ',\r\n No:'لا',\r\n NoDontCancel:'لا, لا تلغي',\r\n crop: 'قص',\r\n rotate: 'تدوير',\r\n open: 'عرض',\r\n Answer:'اجب'\r\n\r\n },\r\n\r\n inputs : {\r\n inputrequired : 'الحقل مطلوب',\r\n PleaseinputyourFirstname : 'يرجى إدخال اسمك الأول!',\r\n PleaseinputyourMiddlename : 'الرجاء إدخال اسمك الأوسط!',\r\n PleaseinputyourLastName : 'يرجى إدخال اسم العائلة الخاص بك!',\r\n Pleaseinputyourphonenumber : 'يرجى إدخال رقم هاتفك!',\r\n Firstname : 'الاسم الاول',\r\n Middlename : 'الاسم الأوسط',\r\n LastName : 'اسم العائلة',\r\n PhoneNumber : 'رقم الهاتف',\r\n phonemin: \"الهاتف لا يمكن أن يكون أقل من 8 أرقام\",\r\n phonemax: \"الهاتف لا يمكن أن يتجاوز 11 رقم\",\r\n phone : 'هاتف',\r\n Email : 'البريد الإلكتروني',\r\n TheinputisnotvalidEmail : 'الإدخال غير صالح البريد الإلكتروني!',\r\n PleaseinputyourEmail : 'يرجى إدخال البريد الإلكتروني الخاص بك!',\r\n EmailAlreadyExists : 'البريد الالكتروني موجود بالفعل',\r\n Firstnamemustcharacters:\"يجب أن يكون الاسم 3 أحرف على الأقل\",\r\n namecantacceptspace:\"الاسم لا يمكن أن يقبل مسافة\",\r\n Namecanacceptspecialcharacters:\"لا يمكن أن يقبل الاسم الأحرف الخاصة\",\r\n Namecanacceptnumbers:\"الاسم لا يمكن أن يقبل الأرقام\",\r\n passwordDoesnotMatch: 'كلمة المرور و التأكيد غير متطابقين'\r\n },\r\n masterData: {\r\n basicInfo: 'البيانات الأساسية',\r\n label: 'البيانات الرئيسية',\r\n add: 'إضافة',\r\n name : 'الإسم',\r\n email: 'البريد الإلكتروني',\r\n value: 'القيمة',\r\n isActive : 'هل مفعل ؟',\r\n active: 'مفعل',\r\n inActive: 'غير مفعل',\r\n translate: 'الترجمة',\r\n hideTranslations : 'إخفاء الترجمة',\r\n nameMaxLength: 'الإسم يجب أن لا يتجاوز 60 حرف',\r\n nameTranslationMaxLength: 'ترجمة الإسم يجب أن لا تتجاوز 60 حرف',\r\n nameMinLength: 'الإسم يجب أن لا يقل عن 3 أحرف',\r\n nameTranslationMinLength: 'ترجمة الإسم يجب أن لا تقل عن 3 أحرف',\r\n namePlaceholder: 'ضع الإسم هنا',\r\n valuePlaceholder: \"ضع القيمة هنا مثال: 25\",\r\n nameTranslationPlaceholder: 'ضع ترجمة الإسم هنا',\r\n deletedSuccessfully: 'تم حذف البيانات بنجاح',\r\n editedSuccessfully: 'تم تعديل البيانات بنجاح',\r\n addedSuccessfully: 'تم إضافة البيانات بنجاح',\r\n theFollowingData: 'البيانات التالية ',\r\n inUseData: \"مستخدمة بالفعل ولا يمكن حذفها\",\r\n inUseActivated: \" مستخدمة بالفعل ولا يمكن عدم تفعيلها\"\r\n },\r\n countries: {\r\n basicInfo: 'البيانات الأساسية',\r\n label: 'بلد',\r\n deletedSuccessfully: 'تم حذف البلاد بنجاح',\r\n editedSuccessfully: 'تم تعديل البلد بنجاح',\r\n addedSuccessfully: 'تم إضافة بلد جديد بنجاح',\r\n nullFlag: 'يرجى إختيار صورة',\r\n countryCurrency: \"عملة البلد\",\r\n currencyPlaceholder: \"إختر عملة البلد\",\r\n countryCodePlaceholder: \"إدخل كود البلد, مثال: +20\",\r\n countryCode: 'كود البلد'\r\n },\r\n governorates: {\r\n basicInfo: 'البيانات الأساسية',\r\n label: 'محافظة',\r\n deletedSuccessfully: 'تم حذف المحافظات بنجاح',\r\n editedSuccessfully: 'تم تعديل المحافظة بنجاح',\r\n addedSuccessfully: 'تم إضافة محافظة جديدة بنجاح',\r\n },\r\n sideBar: {\r\n Home: 'الرئيسية',\r\n Courses: 'المواد',\r\n Assignments: 'الواجبات',\r\n Exams: 'الإختبارات',\r\n Results: 'النتائج',\r\n Schedule: 'جدول الحصص',\r\n Calendar: 'الجدول',\r\n Timetable: 'جدول الحصص',\r\n OnlineSessions: 'المحاضرات التفاعلية'\r\n },\r\n schools: {\r\n SchoolName:'اسم المدرسة',\r\n Fax:'فاكس',\r\n AddSchool: 'إضافة مدرسة',\r\n AddressLine1:'العنوان',\r\n AddressLine2:'إستكمال العنوان',\r\n PaymentMethod:'وسيلة الدفع',\r\n Website:'موقع الكتروني',\r\n SchoolEmail:'موقع المدرسه الالكترونى',\r\n AllowedStudents:'الطلاب المسموح لهم',\r\n ContactPersonName:\"اسم شخص الاتصال\",\r\n pleaseEngerName:\"الرجاء إدخال الاسم\",\r\n Position:\"مركز\",\r\n enterPosition:\"الرجاء إدخال مركزك\",\r\n email:\"البريد الالكترونى\",\r\n enterEmail:\"الرجاء إدخال البريد الالكترونى\",\r\n Country:\"البلد\",\r\n State:'المحافظة',\r\n selectCountery:\"اختر بلد\",\r\n selectState:\"اختر محافظة\",\r\n addContactPersonData: 'إضافة جهة إتصال',\r\n invalidURL: 'يرجى التأكد من إدخال رابط صحيح',\r\n schoolData: 'بيانات المدرسة',\r\n contactPersonData: 'بيانات جهات الإتصال',\r\n contactWorkPhone: 'هاتف العمل',\r\n contactPersonalPhone: 'الهاتف الشخصي',\r\n addContactModalTitle: 'إضافة جهة إتصال'\r\n },\r\n payment:{\r\n PaymentTypes:\"أنواع الدفع\",\r\n PaymentHistory:\"تاريخ الدفع\",\r\n Chooseyourpaymentplan:\"اختر خطة الدفع التي ستتبعها\",\r\n SelectPaymenttype:\"اختر طريقة الدفع\",\r\n Features:\"المميزات:\",\r\n CurrentStudentsNumber:\"عدد الطلاب الحاليين:\",\r\n student:\"طالب\",\r\n Changesby:\"التغييرات بواسطة:\",\r\n EffectiveDate:\"تاريخ التنفيذ\",\r\n LastChanges:\"أخر التعديلات\",\r\n seemore:'المزيد',\r\n CurrentTotalCost:\"التكلفة الإجمالية الحالية\",\r\n perStu:\"ج م لكل طالب\",\r\n NumberofdaysuntileveryPayment:\"عدد الأيام حتى كل دفعة.\",\r\n InspecificDayeverymonths:\"في يوم محدد كل شهر.\",\r\n days:\"أيام\",\r\n Mon:\"أشهر\"\r\n\r\n },\r\n Stations:{\r\n Newstation:'محطة جديدة',\r\n ViewStation:'عرض المحطة',\r\n StationsName:'اسم المحطات',\r\n NofChargers:'عدد اجهزه الشحن',\r\n ChoutofService:'خارج الخدمة',\r\n Governorate:'محافظة',\r\n Location:'موقع',\r\n AddNewStation : 'أضف محطة جديدة',\r\n StationName:'اسم المحطة',\r\n StationNameTranslation:'ترجمة إسم المحطة',\r\n PleaseInputStationName :'برجاء ادخال اسم المحطة ',\r\n stationNamePlaceHolder:'اكتب اسم المحطة',\r\n stationNameTranslationPlaceHolder: 'اكتب ترجمة إسم المحطة',\r\n NumberOfChargers:'عدد الشواحن',\r\n PleaseInputNumberOfChargers:'برجاء ادخال عدد الشواحن',\r\n NumberOfChargersPlaceholder:'ادخل عدد الشواحن',\r\n NumberOfOutOfServiceChargers:'عدد الشواحن خارج الخدمة',\r\n PleaseinputNumberOfoutOfService:'برجاءادخال عدد الشواحن خارج الخدمة',\r\n outOfServiceChargersPlaceholder:'ادخل عدد الشواحن خارج الخدمة',\r\n Governorate:'المحافظة',\r\n Chargers:'شواحن',\r\n Available:'متاح',\r\n Address:'العنوان',\r\n Directions:'الإتجاهات',\r\n DirectionsToStation:'الإتجاهات إلى المحطة',\r\n PleaseInputGovernorate:'برجاء ادخال المحافظة',\r\n stationGovernorate:'محافظة المحطة',\r\n LocationOnMap:'الموقع علي الخريطة',\r\n PleaseInputLocationonMap:'برجاء تحديد الموقع علي الخريطة',\r\n LocationPlaceholder:'حدد الموقع علي الخريطة',\r\n chargerIdPlaceholder: 'إدخال تعريف الشاحن',\r\n commentPlaceholder: 'إدخال تعليق على الشاحن',\r\n addCharger: '+ إضافة شاحن',\r\n chargerID: 'رقم الشاحن',\r\n chargerStatus: 'حالة الشاحن',\r\n chargerComment: 'تعليق',\r\n stationAddedSuccessfully: 'تم إضافة محطة شحن جديدة بنجاح',\r\n stationEditSuccessfully: 'تم تعديل محطة الشحن بنجاح',\r\n chargersNo: 'عدد الشواحن',\r\n Tiles: 'المحطات',\r\n all: 'الكل',\r\n StationsNearYou:'محطات شحن بالقرب منك',\r\n Findtheneareststation:'هنا تجد محطات الشحن القريبة من موقعك الحالي',\r\n Map: 'الخريطة',\r\n MoreInfo: 'معلومات أكثر',\r\n outOfServiceChargersNo: 'الشواحن خارج الخدمة',\r\n governateName: 'إسم المحافظة',\r\n alreadyExists: 'الشاحن موجود بالفعل',\r\n },Customers :{\r\n CustomersName : 'اسم العميل',\r\n Email : 'البريد الإلكتروني',\r\n Phone : 'الهاتف',\r\n CardStatus : 'حالة البطاقة',\r\n Lastcharge : 'اخر شحن',\r\n ViewProfile:'عرض الصفحة الشخصية',\r\n ViewCard:'عرض البطاقه',\r\n MobilePhone:'رقم التليفون',\r\n Age:'العمر',\r\n Gender:'الجنس',\r\n CarType:'نوع السيارة',\r\n BatteryRange:'سعة البطارية',\r\n carlicense:'رخصة القيادة',\r\n PersonalInfo:'معلومات شخصية',\r\n CarInfo:'معلومات السيارة',\r\n Comments:'تعليقات',\r\n writeyourcommenthere:'اكتب تعليقك هنا',\r\n new: 'جديد',\r\n active:'نشيط',\r\n inactive:'غير نشط',\r\n inProgress:'جاري العمل عليه',\r\n delivered:'تم التوصيل',\r\n Requested:'طلب جديد',\r\n needsAction: 'يحتاج لإجراء',\r\n inDelivery: 'جاري التوصيل',\r\n canceled: 'ملغى',\r\n RequestInfo:'معلومات الطلب',\r\n address:'العنوان',\r\n deliveryAddress:'عنوان التوصيل',\r\n male:'ذكر',\r\n fmale:'انثي',\r\n customerBan:'حظر العميل',\r\n commentSent:'تم ارسال التعليق بنجاح',\r\n statusUpdated:'تم تغيير الحاله بنجاح',\r\n userBaned:'تم حظر العميل بنجاح',\r\n userActivated: 'تم تفعيل العميل بنجاح'\r\n },\r\n PricingSettings : {\r\n Settings : 'الإعدادات',\r\n MinimumCharge : 'الحد الأدنى للشحن',\r\n KW : 'كيلووات',\r\n CurrentAC : 'التيار المتردد (AC)',\r\n CurrentDC : 'التيار المباشر (DC)',\r\n ChargersPricingUpdated : 'تم تحديث أسعار الشحن بنجاح',\r\n },\r\n infinty :{\r\n EVChargingpoints : 'نقاط شحن EV',\r\n foryourbusiness : 'لعملك',\r\n Morethan17Stations : 'أكثر من 17 محطة شحن EV فى القاهرة الكبرى.',\r\n Locateyourneareststation : 'حدد أقرب محطة لك',\r\n EnvironmentFriendlyDrivingPleasure : 'صديقة للبيئة ، متعة القيادة',\r\n zero : 'صفر',\r\n emissionisourvision : ' القضاء علي الانبعاثات هي رؤيتنا',\r\n Getyour: 'احصل على',\r\n ChargingCard: 'بطاقة الشحن',\r\n ChargingCardArticle: 'لتكون قادرًا على الشحن في أي محطة شحن من Infinity-e ، اطلب بطاقة الشحن الخاصة بك الآن واستمتع برسوم مجانية لفترة محدودة فقط.',\r\n GetYourCard: 'احصل على بطاقتك',\r\n Stations: 'المحطات',\r\n EVchargingstationstodate: 'محطات شحن EV حتى الآن',\r\n charginglocations: 'مواقع الشحن',\r\n charginglocationsby2021: 'مواقع الشحن بحلول عام 2021',\r\n Neareststation: 'أقرب محطة',\r\n Setlocation: 'تحديد المكان',\r\n typeyourlocation: 'اكتب موقعك هنا ...',\r\n LocatetheNearestStation: 'حدد موقع أقرب محطة شحن Infinity-e',\r\n Findtheneareststation: 'ابحث عن أقرب محطة',\r\n headerFooter : {\r\n Home : 'الصفحة الرئيسية',\r\n AboutUs : 'معلومات عنا',\r\n Howitworks : 'كيف تعمل',\r\n Stations : 'المحطات',\r\n ChargingStations : 'محطات الشحن',\r\n RequestCard : 'طلب بطاقة',\r\n ContactUs : 'اتصل بنا',\r\n About : 'معلومات ',\r\n Additionallinks : 'روابط إضافية ',\r\n infintyAdress : '57 كورنيش المعادي ، محافظة الجيزة ، القاهرة ، محافظة القاهرة 11431',\r\n SignIn : 'تسجيل الدخول ',\r\n viewProfile:'الصفحة الشخصية',\r\n Notifications:'إشعارات',\r\n AllRightsReserved:'كل الحقوق محفوظة',\r\n }\r\n },\r\n contactusRequests: {\r\n requestStatus: 'حالة الطلب',\r\n status: 'حالة الطلب',\r\n requestDetails: 'تفاصيل الطلب',\r\n new: 'جديد',\r\n closed: 'مغلق',\r\n close: 'غلق',\r\n needsAction: 'يحتاج لإجراء',\r\n reply: 'الرد',\r\n replyHint: 'هذا الرد سيذهب مباشرة للبريد الإلكتروني الخاص بالعميل',\r\n commentHint: 'هذا التعليق سيظهر للمديرين فقط',\r\n replyPlaceholder: 'اكتب ردك على الطلب هنا',\r\n requestUpdatedSuccessfully: 'تم تعديل حالة الطلب بنجاح',\r\n },\r\n userProfile: {\r\n ChangePassword:'تغيير كلمه السر',\r\n NameMin:'الاسم لا يقل عن حرفين',\r\n NameMax: 'الأسم يجب ألا يزيد عن 12 حرف',\r\n Lastname20Max : 'لا يمكن أن يتجاوز اسم العائلة 20 حرفًا',\r\n Firstname20Max : 'لا يمكن أن يتجاوز الاسم الأول 20 حرفًا',\r\n emailMin: 'البريد الإلكتروني يجب أن يكون 5 حروف أو أكثر',\r\n emailMax: 'البريد الإلكتروني يجب ألا يزيد عن 150 حرف',\r\n Name:'الاسم',\r\n firstName: 'الإسم الأول',\r\n lastName: 'إسم العائلة',\r\n pleaseEnterValidmail:'الرجاء ادخال بريد الكتروني صالح',\r\n pleaseEntermail:'الرجاء ادخال البريد الالكتروني',\r\n mail:'البريد الالكتروني',\r\n Pleaseinputyourphonenumber:'رقم الهاتف يجب ان يكون 11 رقم',\r\n pleaseEnteraddress:'الرجاء ادخال العنوان',\r\n pleaseSelectGender:'يرجى تحديد الجنس',\r\n Male:\"ذكر\",\r\n Female:'انثي',\r\n minmaxaddress: 'العنوان يجب أن يكون من 3 إلي 300 حرف',\r\n ChangePassword:'تغيير الرقم السري',\r\n PersonalInfo:'معلومات شخصية',\r\n ChangeYourPassword:'تغيير رقمك السري',\r\n Uploadnewpicture:'رفع صوره جديده',\r\n address:'العنوان',\r\n Currentpassword:'الرقم السري الحالي',\r\n Newpassword:'الرقم السري الجديد',\r\n Confirmnewpassword:'تاكيد الرقم السري',\r\n CarInfo:'معلومات السيارة',\r\n CarsInfo:'معلومات السيارات الكهربائية',\r\n ArrivalAddress:'عنوان الوصول',\r\n sameashomeaddress:'نفس عنوان المنزل',\r\n oneofourcustomers:'إذا كنت أحد عملائنا ، فيرجى تسجيل الدخول أولاً',\r\n AddmoreCar:'اضافه المزيد من السيارات',\r\n Selectcarbrand:'اختار ماركة السيارة',\r\n Selectcartype: 'إختار نوع السيارة',\r\n pleaseEntercarbrand:'الرجاء ادخال ماركه السيارة',\r\n cartype:'نوع السيارة',\r\n pleaseEntercartype:'الرجاء ادخال نوع السيارة',\r\n pleaseEnterbetteryrange:'الرجاء ادخال سعة البطارية',\r\n Selectabetteryrange:'اختار سعة البطارية', \r\n selectUserCar: 'يرجى إختيار سيارة',\r\n Attachcarlicense:'ارفق رخصة السيارة',\r\n copyofthecarlicense:'نسخة من رخصة السيارة',\r\n oryoucanattachcustomsreleasecertificate:'أو يمكنك إرفاق شهادة الإفراج الجمركي',\r\n Requests:'طلبات',\r\n carInfoAdded:'تم إضافة معلومات السيارة بنجاح',\r\n carlicenseNeed:'يرجى إضافة رخصة السيارة',\r\n NoRequests:'لا يوجد طلبات',\r\n youwanttocancel:'هل انت متاكد انك تريد الغاء الطلب',\r\n fillTheForm : 'يرجى ملء النموذج أدناه لطلب بطاقة شحن EV:',\r\n carsUpdated: 'تم تحديث بيانات السيارات بنجاح',\r\n deleteCar: 'حذف سيارة',\r\n carDeleteConfirmation: 'هل أنت متأكد من حذف هذه السيارة ؟',\r\n Createddate:'تاريخ الإنشاء' ,\r\n Status:'الحالة',\r\n DeliveryAddress:'عنوان التسليم',\r\n Action:'اجراء',\r\n Welcome :'مرحبا',\r\n foraneasierexperience:'للحصول على تجربة أسهل ، اجعل حسابك أفضل من خلال استكمال البيانات التالية.',\r\n Continue:'استمر',\r\n Skipfornow:'تخطي الآن',\r\n pleaseEntername:'برجاء ادخال الاسم',\r\n noLicenceSelected: 'يرجى إضافة صور الرخصة',\r\n licenseFront: 'يرجى إضافة صورة الرخصة الأمامية',\r\n licenseBack: 'يرجى إضافة صورة الرخصة الخلفية',\r\n Wallet:'المحفظة',\r\n },\r\n contactUs:{\r\n fullName:'الاسم كامل',\r\n email:'البريد الالكتروني',\r\n RequestDetails:'تفاصيل الطلب',\r\n PleaseinputyourRequestDetails:'الرجاء ادخال تفاصيل الطلب',\r\n HereToHelp:'نحن هنا للمساعدة',\r\n ContactUS:'تواصل معنا',\r\n ContactDetails:'تفاصيل التواصل',\r\n OpeningHours:'ساعات العمل',\r\n Closed:'مغلق',\r\n About:'عن',\r\n Howitworks:'كيف تعمل',\r\n ChargingStations:'محطة الشحن',\r\n RequestCard:'طلب بطاقة',\r\n Additionallinks:'روابط اضافية',\r\n AboutUs:'عنا',\r\n subjectMin: 'الموضوع يجب أن يكون 20 حرف على الأقل',\r\n subjectMax: 'الموضوع يجب أن يكون 200 حرف بحد أقصى',\r\n nameMin: 'الأسم يجب أن لا يقل عن حرفين',\r\n nameMax: 'الأسم يجب أن لا يتجاوز 60 حرف',\r\n dayopen : \"الأحد -الخميس\",\r\n dayclose : \"الجمعة-السبت\",\r\n },\r\n notifications: {\r\n loadMore: 'عرض المزيد من التنبيهات',\r\n notifications: 'التنبيهات',\r\n noNotifications: \"ليس لديك تنبيهات\",\r\n today: 'اليوم'\r\n },\r\n aboutUs: {\r\n aboutUsPragraph:'تأسست Infinity-e في عام 2018 وهي شركة تابعة لشركة Infinity إنرجي ، التي تقود قطاع الطاقة المتجددة في مصر. توفر Infinity-e حلول شحن للسيارات الكهربائية ، وتهدف إلى إنشاء شبكة شحن EV موثوقة ومريحة في مصر. تتوفر نقاط شحن EV الخاصة بنا في محطات Chillout على الطرق السريعة والطرق الرئيسية ، بالإضافة إلى مناطق حركة المرور العالية ، مثل مراكز التسوق ومباني المكاتب ، وما إلى ذلك ، بالإضافة إلى مجتمعات سكنية مسورة مختارة ، مثل مشاريع تطوير بالم هيلز ، إلخ.',\r\n Exploremore:'استكشاف المزيد',\r\n Ourstations:'محطاتنا',\r\n OurstationsPragraph1:'محطاتنا هي دليل مستقبلي مع جميع شواحن التيار المتردد التي نقدمها بقوة 22 كيلو واط في كل مقبس ، تتراوح شواحن التيار المستمر من 50 كيلو واط مع توفيرات تصل إلى 175 كيلو واط في المستقبل القريب للتأكد من أن لديك وقت للشحن السريع أثناء السير على الطريق. توفر أجهزة الشحن السريع 80٪ من سعة الشحن في أقل من ساعة واحدة.',\r\n OurstationsPragraph2:'جميع المحطات هي معايير الاتحاد الأوروبي التي تلبي احتياجات النوع 2 لشواحن التيار المتردد (يمكن شحن السيارات من النوع الأول باستخدام النوع 2 لكابلات النوع الأول) ، CCS2 و CHAdeMO. نحن نشحن ما يصل إلى 4 سيارات في محطة واحدة وبعض المحطات تلبي 6 EVs في المرة الواحدة.',\r\n Our:'',\r\n Partners:'شركائنا',\r\n },\r\n howItWork: {\r\n How:'كيف',\r\n itworks:'تعمل',\r\n Start:'اولا',\r\n StartStep:'قم بتوصيل كابل الشاحن بالسيارة والمحطة.',\r\n Second:'ثانيا',\r\n SecondStep:'ابدأ جلسة الشحن عن طريق تمرير بطاقة الشحن.',\r\n Third:'ثالثا',\r\n ThirdStep:'يشير ضوء LED الأزرق إلى بدء جلسة الشحن.',\r\n End:'اخيرا',\r\n EndStep:'أوقف جلسة الشحن عن طريق تمرير بطاقة الشحن ثم إزالة الكابل.',\r\n RequestCard:'طلب بطاقة',\r\n Requestcharging:'طلب بطاقة شحن لك',\r\n Search:'بحث',\r\n Searchlocation:'ابحث عن موقع المحطات هنا ببساطة',\r\n },\r\n signIn: {\r\n WelcomeBack:'مرحبا بعودتك !',\r\n Tokeepconnected:'للبقاء على اتصال معنا يرجى تسجيل الدخول باستخدام معلوماتك الشخصية',\r\n SignIn:'تسجيل الدخول',\r\n SignUp:'إنشئ حساب جديد',\r\n HelloFriend:'مرحبا يا صديقي!',\r\n personaldetails:'أدخل تفاصيلك الشخصية وابدأ رحلتك معنا',\r\n SignintoInfinity:'سجّل الدخول إلى Infinity',\r\n Forgotpassword:' نسيت رقمك السري ؟',\r\n haveaccount:'ليس لديك حساب؟',\r\n\r\n },\r\n courses: {\r\n TodaysCourses: \"دورات اليوم\",\r\n more:'المزيد',\r\n Day:'يوم',\r\n Week:'أسبوع',\r\n Month:'شهر',\r\n All: 'الكل',\r\n ToDo:'لم ينتهي',\r\n Completed:'منتهي',\r\n Draft:'مسودة',\r\n NoCoursesAdded :'لم تتم إضافة دورات',\r\n allCourses: 'كل الدورات',\r\n coursesSubtitle: 'دورات لتكملها اليوم',\r\n attachments: 'المرفقات',\r\n downloadAll: 'تحميل الكل',\r\n },\r\n filtrationBar: {\r\n filter: 'فلترة',\r\n subject: 'المادة',\r\n date: 'التاريخ',\r\n courseName: 'إسم الدرس',\r\n subjectPlaceholder: 'اختر المادة',\r\n datePlaceholder: 'اختر التاريخ',\r\n courseNamePlaceholder: 'اكتب إسم الدرس',\r\n allYear: 'العام كله',\r\n clear: 'ازالة',\r\n ResultType:'نوع النتيجة',\r\n ResultEvaluation:'تقييم النتيجة'\r\n },\r\n assigments : {\r\n Assigments : 'الواجبات',\r\n Assignment : 'الواجب',\r\n NoAssigmentsAdded : 'لم تتم إضافة مهام',\r\n NoFeedbackyet : \"لا توجد تعليقات بعد ، أكمل مهمتك أولاً وانتظر ملاحظات معلمك\",\r\n SuccessfullyPass : 'اجتاز بنجاح',\r\n Youhave : 'لديك ',\r\n assigmentstocompletetoday : 'واجبات لإكمال اليوم ',\r\n All : 'الكل',\r\n ToDo : 'المهام',\r\n Late : 'متأخر',\r\n Feedback : 'تقييم',\r\n Completed : 'اكتمل',\r\n Uncomplet : 'غير مكتملة',\r\n open : 'افتح',\r\n Feedback : 'تقييم',\r\n ReSubmit : 'إعادة إرسال',\r\n Teacherfeedback : \"ملاحظات المدرس\",\r\n TodayAssigments : \"مهام اليوم\",\r\n Applyyourassignmenthere : 'ارسل واجبك هنا..',\r\n AssignmentReply : 'تعيين رد',\r\n doesntmatchtherequirement : \"لا يطابق المطلوب.\",\r\n endDate: 'وقت النهاية',\r\n question: 'سؤال',\r\n degree: 'درجة',\r\n of : 'من',\r\n inProgress:'يتم تصحيحة' \r\n },\r\n exams:{\r\n exams:'الإختبارات',\r\n headerSubtitle:'اختبارات لإكمالها اليوم',\r\n all : 'الكل',\r\n toDo : 'الإختبارات',\r\n upComing: 'الإختبارات القادمة',\r\n previous: 'الإختبارات السابقة',\r\n online: 'أونلاين',\r\n printed: 'مطبوع',\r\n hours: 'ساعات',\r\n hour: 'ساعة',\r\n questions: 'سؤال',\r\n startExam: 'إبدء الإختبار',\r\n instructions: 'التوجيهات',\r\n daysLeft: 'أيام متبقية',\r\n Beforeyoubegin: 'قبل ان تبدأ',\r\n Themaximumtime: 'الحد الأقصى للوقت الذي يسمح له بالوصول إلى الاختبار بعد وقت البدء.',\r\n Theresnooption: \"ليس هناك خيار للتوقف. تأكد من أنك لن تنقطع ل\",\r\n Ifyouaccidentallyclose: 'إذا أغلقت المتصفح عن طريق الخطأ ، فاستخدم رابط الدعوة للعودة إلى الاختبار.',\r\n Hintyoucanuse : 'تلميح: يمكنك استخدام IDE الخاص بك واستخدام لصق النسخ ، ولكن تأكد من تجميع الحل الخاص بك في بيئة اختبار Scholigit.',\r\n HowtouseitInstruction: 'كيفية استخدامه: تعليمات ونصائح',\r\n minutes: 'دقيقة',\r\n Hours: 'ساعات',\r\n StartTime: 'وقت البدء',\r\n EndTime: 'وقت النهاية',\r\n ExamDuration: 'مدة الامتحان',\r\n NQuestions: 'عدد الأسئلة',\r\n Questions: 'الأسئلة',\r\n Accessibilitytime: 'وقت الوصول',\r\n FromstartingTimeTill: 'من البداية حتى الوقت',\r\n checkTipNumberbelow: 'تحقق من نصيحة رقم 1 أدناه',\r\n noExamsFound: 'لا يوجد إمتحانات في الوقت الحالي',\r\n underCorrection: 'جاري التصحيح',\r\n under: 'جاري ',\r\n correction: 'التصحيح',\r\n totalDegree:'درجة' ,\r\n final:'إختبار نهائي',\r\n midterm:'إختبار نصف الفصل',\r\n monthly:'إختبار شهري',\r\n examTitle:'عنوان الامتحان',\r\n examType:'نوع الامتحان',\r\n subject:'المادة',\r\n start:'البدء',\r\n end:'النهاية'\r\n },\r\n Results:{\r\n Results:'النتائج',\r\n withinthetotal:'ضمن المجموع',\r\n Outoftotal:'خارج المجموع',\r\n Excellent:'ممتاز',\r\n VGood:'جيد جدا',\r\n Good:'جيد',\r\n Congratulations:'تهانينا',\r\n successfullypassed:'، لقد نجحت يتم الانتقال إلى الصف التالي.',\r\n LatestResult:'آخر النتائج',\r\n Archive:'أرشيف',\r\n NoResultsfoundyet:'لم يتم العثور على نتائج بعد',\r\n Yourresultswillappearhere:'ستظهر نتائجك هنا بمجرد انتهاء التصحيح',\r\n MoreDetails:'المزيد من التفاصيل'\r\n },\r\n exam: {\r\n Exam: 'امتحان',\r\n Class: 'فصل',\r\n startExam: 'بدء الامتحان',\r\n continueExam: 'إستكمال الامتحان',\r\n finishExam: 'الانتهاء من الامتحان',\r\n next: 'التالى',\r\n previous: 'السابق',\r\n FinishExam: 'إنهاء الإمتحان',\r\n solved: 'تم حلها',\r\n NotSolved: 'غير محلول',\r\n MarkForReview: 'علامة للمراجعة',\r\n minutes: 'دقيقة',\r\n Hours: 'ساعات',\r\n StartTime: 'وقت البدء',\r\n EndTime: 'وقت النهاية',\r\n ExamDuration: 'مدة الامتحان',\r\n NQuestions: 'عدد الأسئلة',\r\n Questions: 'الأسئلة',\r\n Accessibilitytime: 'وقت الوصول',\r\n FromstartingTimeTill: 'من البداية حتى الوقت',\r\n checkTipNumberbelow: 'تحقق من نصيحة رقم 1 أدناه',\r\n Beforeyoubegin: 'قبل ان تبدأ',\r\n Themaximumtime: 'الحد الأقصى للوقت الذي يسمح له بالوصول إلى الاختبار بعد وقت البدء.',\r\n Theresnooption: \"ليس هناك خيار للتوقف. تأكد من أنك لن تنقطع ل\",\r\n Ifyouaccidentallyclose: 'إذا أغلقت المتصفح عن طريق الخطأ ، فاستخدم رابط الدعوة للعودة إلى الاختبار.',\r\n Hintyoucanuse : 'تلميح: يمكنك استخدام IDE الخاص بك واستخدام لصق النسخ ، ولكن تأكد من تجميع الحل الخاص بك في بيئة اختبار Scholigit.',\r\n HowtouseitInstruction: 'كيفية استخدامه: تعليمات ونصائح',\r\n Areyouready: 'هل أنت جاهز ؟',\r\n Theexamisnotvalidanymore : 'الامتحان غير صالح بعد الآن',\r\n ThisexamURLisnotvalidanymore : 'لم يعد عنوان URL هذا للاختبار صالحًا ، فهو للاستخدام مرة واحدة فقط',\r\n GoToExamsPage : 'الانتقال إلى الصفحة الامتحانات',\r\n question: 'السؤال',\r\n point: 'النقطه',\r\n MultiChoise : 'إختر من متعدد',\r\n SingleChoise : 'إختر إجابة واحدة',\r\n Written : 'الفقرة',\r\n Trueorfalse : 'صحيح أم خطأ',\r\n true : 'صح',\r\n false : 'خطأ',\r\n connect: 'وصل',\r\n rearrange: 'أعد الترتيب',\r\n complete: 'أكمل',\r\n examSubmitted: 'تم إرسال الإمتحان بنجاح',\r\n wellDone: 'أحسنت',\r\n youDidGreat: 'لقد قمت بعمل عظيم',\r\n yourResult: 'نتيجك',\r\n done: 'إنهاء',\r\n waitForCorrection: 'يرجى الإنتظار لحين الإنتهاء من تصحيح الإمتحان الخاص بك, سوف يتم تنبيهك حين الإنتهاء من التصحيح',\r\n keepInMind: 'ضع في اعتبارك أنه عند النقر فوق \"إنهاء\" ، هذا يعني أنك قد أنهيت الاختبار ولا يمكنك الرجوع إلى إجاباتك مرة أخرى.',\r\n TextAreaTypeAnswer:'اكتب اجابتك هنا',\r\n showAnswer: 'عرض الإجابة',\r\n selectAnswerFirst:'الرجاء الإجابة على السؤال أولاً',\r\n questionQ:'س'\r\n },\r\n timeline: {\r\n addPhoto: 'أضف صورة',\r\n addVideo: 'أضف فيديو',\r\n Photo: 'صورة',\r\n Video: 'فيديو',\r\n File: 'ملف',\r\n post: 'إرسال',\r\n TimeLine: 'الجدول الزمني',\r\n Calender: 'التقويم',\r\n Attendens: 'الحضور',\r\n TimeTable: 'جدول المواعيد',\r\n HomeWork: 'الواجبات المنزلية',\r\n Exam: 'الامتحان',\r\n Cancel: 'إلغاء',\r\n createTagline: 'ماذا يحدث في فصلك؟',\r\n captionRequired: 'نص المنشور مطلوب',\r\n postCreatedSuccessfully: 'تم إضافة المنشور بنجاح',\r\n cropImage: 'تعديل الصورة المختارة',\r\n crop: 'تعديل',\r\n imageSize: 'حجم الصورة يجب أن يكون أقل من 10 ميجابايت',\r\n videoSize: 'حجم الفيديو يجب أن يكون أقل من 200 ميجابايت',\r\n invalidFormat: 'يرجى إختيار صيغة صورة أو فيديو صحيحة',\r\n invalidWidth: 'عرض الصورة يجب أن يكون أكبر من 400 بكسل',\r\n invalidHeight: 'طول الصورة يجب أن يكون أكبر من 400 بكسل',\r\n limitExceeded: \"لا يمكن إختيار أكثر من 20 ملف\",\r\n invalidImages: 'ملفات غير صالحة',\r\n DropToUpload: 'قم بإسقاط الملفات هنا للتحميل',\r\n Upload: 'نحميل',\r\n },\r\n calendar: {\r\n day: 'يوم',\r\n week: 'أسبوع',\r\n month: 'شهر',\r\n calendar: 'التقويم',\r\n youHave: 'لديك',\r\n remainingTasks: 'مهام متبقية',\r\n HomeWork:'واجب منزلي',\r\n OnlineSession:'حصة اونلاين',\r\n TimeTable:'الجدول الزمني',\r\n Solve:'حل',\r\n Join:'انضم',\r\n Ended:'انتهت'\r\n },\r\n todoList:{\r\n todoList:' قائمة المهام',\r\n TimeTable:'الجدول الزمني',\r\n HomeWork:'واجب منزلي',\r\n ClassOnline:'المحاضرات المباشرة',\r\n Time:'الوقت',\r\n Title:'العنوان',\r\n Topic:'الموضوع',\r\n Subject:'المادة',\r\n Teacher:'الأستاذ',\r\n Status:'الحالة',\r\n StartTime:' البدء',\r\n DueTime:' التسليم',\r\n Done:'تم',\r\n InProgress:'في تقدم',\r\n Join:'انضم',\r\n TimeRemining:'يبدأ بعد',\r\n Solve:'حل الواجب',\r\n empty:'المعذرة ، لا توجد مهام لهذا اليوم',\r\n YouHave:'لديك',\r\n Coursestocompletetoday:'دورات لإكمالها اليوم',\r\n to:'الي',\r\n Details:'تفاصيل',\r\n Completed:'منجز',\r\n Type:'النوع',\r\n OnlineSession:'جلسة اونلاين'\r\n\r\n },\r\n timetable : {\r\n Satarday : ' السبت',\r\n Sunday : 'الأحد',\r\n Monday : 'الاثنين',\r\n Teusday :'الثلاثاء',\r\n Wednesday : 'الأربعاء',\r\n Thursday : 'الخميس',\r\n Friday: 'الجمعه',\r\n Session :'الحصة',\r\n Sessions :'الحصص',\r\n },\r\n onlineSessions :{\r\n OnlineSessions:'المحاضرات التفاعلية',\r\n Courses:'الدورات',\r\n General:'العام',\r\n OnlineSessionTitle:'عنوان المحاضرة',\r\n Teacher:'المدرس',\r\n Subject:'الموضوع',\r\n Chapter:'الفصل',\r\n Topic:'الموضوع',\r\n Date :'التاريخ ',\r\n Details:'التفاصيل',\r\n Status:'الحالة',\r\n EmptyText:'عفوًا, لا يوجد محاضرات تفاعلية',\r\n Started:'بدأت',\r\n Scheduled:'مجدولة',\r\n Ended:'انتهت',\r\n Join:'انضم',\r\n TimeRemaining:'الوقت المتبقي' ,\r\n Done:'تم',\r\n Cancel:'الغاء',\r\n onlineSession: 'محاضرة تفاعلية',\r\n notStarted: 'لم تبدأ المحاضرة بعد',\r\n processing: 'جاري معالجة المحتويات...',\r\n emptyFiles: 'لا يوجد ملفات لهذه المحاضرة',\r\n general: 'عام',\r\n All:'الكل' \r\n \r\n }\r\n}","export const urdu = {\r\n auth: {\r\n login: \"Tasgeel\",\r\n logout: \"Logout\",\r\n rememberMe: \"Remember me\",\r\n signIn: \"Sign in\",\r\n email: \"Email\",\r\n mail_massage: \"The input is not valid e-mail!\",\r\n mail_req_massage: \"Please input your e-mail!\",\r\n password_placeholder: \"Enter your password\",\r\n plaeaseEnterMail:\r\n \"Please Enter your email then click the button below to request another one.\",\r\n password: \"Password\",\r\n forgetPassword: \"Forget Password?\",\r\n Forget_Password: \"Forget Password\",\r\n sammary:\r\n \"Please enter your email so that we can send you a rest password email.\",\r\n passwordMassage: \"Please input your password!\",\r\n backToSignin: \"Back to sign in\",\r\n sendMail: \"Send email\",\r\n sorry505:\r\n \"The server encountered an internal error or misconfiguration and was unable to complete your request\",\r\n resetSent: \"Reset code was sent successfully\",\r\n confirmPassword: \"Confirm new password\",\r\n restPass_placeholder: \"Confirm your password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n Reset: \"Reset\",\r\n cancle: \"Cancel\",\r\n CheckInpoxp1: \"Please check your inbox or spam folder at\",\r\n CheckInpoxp2: \"For a link to reset your password .\",\r\n GoToMail: \"Go to your mail\",\r\n Ok: \"OK\",\r\n oops: \"Oops!! This URL Is Not Valid Anymore.\",\r\n ResendMail: \"Resend mail\",\r\n passwordmin: \"Password must be min 6 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password must be at least 8 characters including capital and small letters.\",\r\n profile: \"Profile\",\r\n personalInfo: \"Personal information\",\r\n name: \"Name\",\r\n nameMassage: \"Please input your name!\",\r\n namePlaceholder: \"Enter your name\",\r\n Security: \"Security\",\r\n Account: \"Account\",\r\n Change: \"Change\",\r\n Deactivate: \"Deactivate\",\r\n DeactivateAccount: \"Deactivate account\",\r\n SaveChanges: \"Save changes\",\r\n ChangePassword: \"Change password\",\r\n NoCancel: \"No, Cancel\",\r\n YesDeactivate: \"Yes, Deactivate\",\r\n PasswordsChanged: \"Passwords changed successfully\",\r\n AccountDeactivated: \"Account Deactivated!\",\r\n YourAccountDeactivated:\r\n \"Your account have be deactivated, please be informed that you’ll never be able to login again or restore your account\",\r\n Delete: \"Delete\",\r\n JoinYourClassNow: \"Join Your Class Now!\",\r\n Studentcode: \"Student code\",\r\n Studentcoderequired: \"please input Student code\",\r\n AreYouSoure: \"Are you sure you want to delete this data ?\",\r\n YesSave: \"Yes, Save\",\r\n NoSave: \"No, Don’t Save\",\r\n NewPassword: \"New password\",\r\n Cancel: \"Cancel\",\r\n EnterPassFor: \"Please enter Your Password for\",\r\n TimedOut:\r\n \"You are being timed-out due to inactivity .please choose to stay \",\r\n SinginOrLogout: \"Signed-in or log-out .\",\r\n otherwise: \"Otherwise , you will be logged out automatically\",\r\n minute: \"after 1 minute.\",\r\n stay: \"Stay logged-in\",\r\n inactivityMessage: \"You have been logged-out due to inactivity\",\r\n incorrectOldPassword: \"Old password is incorrect\",\r\n Imagemustsmallerthan5MB: \"Image must smaller than 5MB!\",\r\n YoucanonlyuploadJPGPNG: \"You can only upload JPG/PNG file!\",\r\n createAccount: \"Create account\",\r\n aleadyHaveAccount: \"Aleady have an account ?\",\r\n signUp: \"Sign up\"\r\n },\r\n notifi: {\r\n MarkAll: \"Mark all reeded\",\r\n NotifiContent: \"Welcome back to Starwallet labs admin panel\",\r\n fiveMin: \"5 Mins ago\",\r\n Delete: \"Delete\"\r\n },\r\n validationMessages: {\r\n\t\tshortDescriptionLength: \"Short description must be less than 70 character\",\r\n\t\tdescriptionLength: \"Description must be less than 500 characters\",\r\n\t\ttitleLength: \"Title must be less than 30 character\",\r\n\t\ttitleLengthMax: \"Title must be less than 60 character\",\r\n\t\ttitleLengthMin: 'Title must be at least 3 characters',\r\n\t\tfirstNameLength: \"First name must be less than 20 character\",\r\n\t\tfirstNameSpaces: \"First name can't contain more than one space\",\r\n\t\timageSize: 'Image size must be less than 10 MB',\r\n videoSize: 'Video size must be less than 200 MB',\r\n invalidFormat: 'Please select a valid image or video type',\r\n invalidWidth: 'Image width must be more than 400 pixel',\r\n invalidHeight: 'Image height must be more than 400 pixel',\r\n limitExceeded: \"You can't select more than 20 files\",\r\n invalidImages: 'images are invalid',\r\n\t\tAreYouSureDelete: 'Are you sure you want to delete ',\r\n deleteFile: 'Delete File',\r\n fileSizeExceed: \"File size can't exceed \",\r\n fileNotSupported: ' files are not supported',\r\n\t},\r\n home: {\r\n exportExcel: \"Export Excel\"\r\n },\r\n header: {\r\n Search: \"Search...\",\r\n Editprofile: \"Edit profile\",\r\n SUPERADMIN: \"SUPER admin\",\r\n NOTIFICATIONS: \"Notifications\",\r\n Seeall: \"See all\"\r\n },\r\n errors: {\r\n Unauthorized: \"Unauthorized\",\r\n sorry401: \"Sorry , your request could not be processed.\",\r\n goToHome: \"Go To Home page\",\r\n sorry403:\r\n \"We are sorry , but you do not have access to this page or resource.\",\r\n Access: \"Access Denied\",\r\n notFound: \"Page not found\",\r\n error_text:\r\n \" The page you’re looking for might have been removed, had its name changed or is temporarily unavailable.\",\r\n serverError: \"Internal server error\"\r\n },\r\n MScreens: {\r\n LinkExpired: \"Link expired\",\r\n plaeaseEnterMail:\r\n \"Please enter your email then click the button below to request another one.\",\r\n email: \"Email\",\r\n mail_massage: \"The input is not valid e-mail!\",\r\n mail_req_massage: \"Please input your e-mail!\",\r\n ResendMail: \"Resend mail\",\r\n oops: \"Oops!! This url Is Not Valid Anymore.\",\r\n Ok: \"OK\",\r\n PasswordReset: \"Passwords reset successfully\",\r\n ResetPassword: \"Rest new password\",\r\n NewPassword: \"New password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password must be at least 8 characters including capital and small letters.\",\r\n password_placeholder: \"Enter your password\",\r\n confirmPassword: \"Confirm new password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n restPass_placeholder: \"Confirm your password\",\r\n cancle: \"Cancel\",\r\n resetSent: \"Reset code was sent successfully\",\r\n Reset: \"Reset\",\r\n CheckInpoxp1: \"Please check your inbox or spam folder at\",\r\n CheckInpoxp2: \"for a link to reset your password .\",\r\n backToSignin: \"Back to sign in\"\r\n },\r\n settings: {\r\n PasswordsChanged: \"Passwords changed successfully\",\r\n successfullyDeleted: \"successfully deleted\",\r\n ChangePassword: \"change password\",\r\n NewPassword: \"New password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password expresion that requires one lower case letter, one upper case letter, one digit\",\r\n password_placeholder: \"Enter your password\",\r\n confirmPassword: \"Confirm new password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n restPass_placeholder: \"Confirm your password\",\r\n logout: \"logout\",\r\n AccountDeactivated: \"Account deactivated!\",\r\n YourAccountDeactivated:\r\n \"Your account have be deactivated, please be informed that you’ll never be able to login again or restore your account\",\r\n YesSave: \"Yes, Save\",\r\n NoSave: \"No, Don’t Save\",\r\n Cancel: \"Cancel\",\r\n Delete: \"Delete\",\r\n SaveChanges: \"Save changes\",\r\n AreYouSoure: \"Do you want to save this data ?\",\r\n signIn: \"Sign in\",\r\n EnterPassFor: \"Please enter your password for\",\r\n password: \"Password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password expresion that requires one lower case letter, one upper case letter, one digit\",\r\n password_placeholder: \"Enter your password\"\r\n },\r\n setting: {\r\n Settings: \"Settings\",\r\n Integratedappsmasterata: \"Integrated apps master data\",\r\n GoogleRECAPTCHA: \"Google recaptcha\",\r\n GoogleAnalyticsTrackingCode: \"Google analytics tracking code\",\r\n FacebookAppID: \"Facebook app iD\",\r\n FacebookAppSecret: \"Facebook app secret\",\r\n LinkedInAppID: \"LinkedIn app iD\",\r\n EmailedLinksSettings: \"Emailed links settings\",\r\n Emailverification: \"Email verification\",\r\n Enable: \"Enable\",\r\n Emailverificationlinkexpirytimeminutes:\r\n \"Email verification link expiry time (minutes)\",\r\n Mins: \"Mins\",\r\n EmailNotifications: \"Email notifications\",\r\n Resetpasslinkverificationlinkexpirytimeminutes:\r\n \"Reset pass link verification link expiry time (minutes)\",\r\n Resendmailinterval: \"Resend mail interval\",\r\n Tries: \"Tries\",\r\n Xplacholder: \"xxxx-xxxx-xxxx\"\r\n },\r\n Privileges: {\r\n AddRole: \"Add Role\",\r\n Newrole: \"New Role\",\r\n Personalinfo: \"Personal info\",\r\n Rolename: \"Role name\",\r\n ISACTIVE: \"IS active\",\r\n Hidetranslations: \"Hide translations\",\r\n Showtranslations: \"Show translations\",\r\n TranslateIntoAr: \"Translate into “عربي“\",\r\n TranslateIntoFr: \"Translate into “française“\",\r\n Enable: \"Enable\",\r\n Rolestatus: \"Role status\",\r\n Privileges: \"Privileges\",\r\n Privilege: \"Privilege\",\r\n AddPrivileges: \"Add Privileges\",\r\n SelectPrivileges: \"Select Privileges\",\r\n PleaseselectPrivilegestoAssign: \"Please select Privileges to assign\",\r\n AssignedPrivileges: \"Assigned Privileges\",\r\n Admins: \"Admins\",\r\n AddAdmins: \"Add admins\",\r\n SelectAdmins: \"Select admins\",\r\n Admin: \"Admin\",\r\n AddAdmin: \"Add admin\",\r\n SelectAdmin: \"Select admin\",\r\n PleaseselectAdminstoAssign: \"Please select admins to assign\",\r\n deletedSuccessfully: \"Selected roles deleted successfully\",\r\n editedSuccessfully: \"Selected role edited successfully\",\r\n addedSuccessfully: \"Role added successfully\"\r\n },\r\n currency: {\r\n Currencyname: \"Currency name\",\r\n Addcurrency: \"Add currency\",\r\n Newcurrency: \"New currency\",\r\n currencyinfo: \"Currency info\"\r\n },\r\n users: {\r\n USERS: \"USERS\",\r\n Name: \"Name\",\r\n Age: \"Age\",\r\n Email: \"Email\",\r\n Address: \"Address\",\r\n Admins: \"Admins\",\r\n UpdateAdmins: \"Update Admins\",\r\n Adduser: \"Add admin\",\r\n Personalinfo: \"Personal info\",\r\n Rules: \"Roles\",\r\n Addrule: \"Add role\",\r\n Selectrule: \"Select role\",\r\n PleaseselectruletoAssign: \"Please select role to Assign\",\r\n Assignedrules: \"Assigned roles\",\r\n deletedSuccessfully: \"Selected users deleted successfully\",\r\n editedSuccessfully: \"Selected user edited successfully\",\r\n addedSuccessfully: \"User added successfully\"\r\n },\r\n grid: {\r\n New: \"New \",\r\n goTo: \"Go to\",\r\n gridSearch: \"Search\",\r\n reset: \"Reset\",\r\n sureToCancel: \"Sure to cancel?\",\r\n no: \"No\"\r\n },\r\n buttons: {\r\n Close: \"Close\",\r\n SaveNew: \"Save & new\",\r\n Save: \"Save\",\r\n Cancel: \"Cancel\",\r\n UpdateNew: \"Update & new\",\r\n Update: \"Update\",\r\n Duplicate: \"Duplicate\",\r\n Delete: \"Delete\",\r\n View: \"View\",\r\n Archive: \"Archive\",\r\n Edit: \"Edit\",\r\n confirm: \"Are you sure you want to \",\r\n selectToEdit: \"Please select one row to edit\",\r\n selectToDelete: \"Please select one row or more to delete\",\r\n change: \"Change\",\r\n remove: \"Remove\",\r\n Send: \"Send\",\r\n done: 'Done',\r\n clear: 'Clear',\r\n qu: \"?\",\r\n selectAll: \"Select all\",\r\n deleteTheRest: \"Delete the rest\",\r\n add: \"Add\",\r\n YesCancel: \"Yes, cancel\",\r\n NoDontCancel: \"No, Don’t cancel\",\r\n rotate: \"Rotate\",\r\n crop: \"Crop\",\r\n open: 'Open',\r\n Answer:'Answer'\r\n },\r\n inputs: {\r\n inputrequired: \"Input required\",\r\n PleaseinputyourFirstname: \"Please input your first name!\",\r\n PleaseinputyourMiddlename: \"Please input your middle name!\",\r\n PleaseinputyourLastName: \"Please input your last name!\",\r\n Pleaseinputyourphonenumber: \"Please input your phone number!\",\r\n Firstname: \"First name\",\r\n Middlename: \"Middle name\",\r\n LastName: \"Last name\",\r\n PhoneNumber: \"Phone number\",\r\n phonemin: \"Phone can't be less than 8 numbers\",\r\n phonemax: \"Phone can't be more than 11 numbers\",\r\n phone: \"phone\",\r\n Email: \"E-mail\",\r\n TheinputisnotvalidEmail: \"The input is not valid e-mail!\",\r\n PleaseinputyourEmail: \"Please input your e-mail!\",\r\n EmailAlreadyExists: \"Email already exists\",\r\n Firstnamemustcharacters: \"Name must be min 3 characters\",\r\n namecantacceptspace: \"Name dosen't accept space\",\r\n Namecanacceptspecialcharacters: \"Name can't accept special characters\",\r\n Namecanacceptnumbers: \"Name can't accept numbers\",\r\n passwordDoesnotMatch: \"Password and confirmation does not match\"\r\n },\r\n masterData: {\r\n basicInfo: \"Basic info\",\r\n label: \"Master data\",\r\n add: \"Add\",\r\n name: \"Name\",\r\n email: \"Email\",\r\n value: \"Value\",\r\n isActive: \"Is active\",\r\n active: \"Active\",\r\n inActive: \"Inactive\",\r\n translate: \"Translation\",\r\n hideTranslations: \"Hide translations\",\r\n nameMaxLength: \"Name length must not exceed 60 character\",\r\n nameTranslationMaxLength:\r\n \"Name translation max length must not exceed 60 character\",\r\n nameMinLength: \"Name minimum length is 3 characters\",\r\n nameTranslationMinLength: \"Name translation minimum length is 3 characters\",\r\n namePlaceholder: \"Enter name here\",\r\n valuePlaceholder: \"Enter value ex:'25'\",\r\n nameTranslationPlaceholder: \"Enter name translation here\",\r\n deletedSuccessfully: \"Selected data deleted successfully\",\r\n editedSuccessfully: \"Selected data edited successfully\",\r\n addedSuccessfully: \"Data added successfully\",\r\n theFollowingData: \"The following data \",\r\n inUseData: \" are in use and can't be deleted\",\r\n inUseActivated: \" is in use and can't be deactivated\"\r\n },\r\n countries: {\r\n basicInfo: \"Basic info\",\r\n label: \"Country\",\r\n deletedSuccessfully: \"Selected countries deleted successfully\",\r\n editedSuccessfully: \"Selected country edited successfully\",\r\n addedSuccessfully: \"Country added successfully\",\r\n nullFlag: \"Please select an image\",\r\n countryCurrency: \"Country's currency\",\r\n currencyPlaceholder: \"Select country's currency\",\r\n countryCodePlaceholder: \"Enter country phone code, ex: +20\",\r\n countryCode: \"Country Code\"\r\n },\r\n governorates: {\r\n basicInfo: \"Basic info\",\r\n label: \"Governorate\",\r\n deletedSuccessfully: \"Selected governorates deleted successfully\",\r\n editedSuccessfully: \"Selected governorate edited successfully\",\r\n addedSuccessfully: \"Governorate added successfully\"\r\n },\r\n schools: {\r\n SchoolName: \"School name\",\r\n Country: \"Country\",\r\n AddSchool: \"Add school\",\r\n State: \"State\",\r\n selectState: \"Select a state\",\r\n Fax: \"Fax\",\r\n AddressLine1: \"Address line 1\",\r\n AddressLine2: \"Address line 2\",\r\n PaymentMethod: \"Payment method\",\r\n Website: \"Website\",\r\n SchoolEmail: \"School e-mail\",\r\n AllowedStudents: \"Allowed students\",\r\n ContactPersonName: \"Contact Person name\",\r\n pleaseEngerName: \"Please enter Your name\",\r\n Position: \"Position\",\r\n enterPosition: \"Please enter your position\",\r\n email: \"Email\",\r\n enterEmail: \"Please enter your email\",\r\n Country: \"Country\",\r\n selectCountery: \"Select a country\",\r\n addContactPersonData: \"Add contact\",\r\n invalidURL: \"Please enter a valid url\",\r\n schoolData: \"School data\",\r\n contactPersonData: \"Contact person Data\",\r\n contactWorkPhone: \"Work Phone\",\r\n contactPersonalPhone: \"Personal Phone\",\r\n addContactModalTitle: \"Add contact person\"\r\n },\r\n sideBar: {\r\n Home: 'Home',\r\n Courses: 'Courses',\r\n Assignments: 'Assignments',\r\n Exams: 'Exams',\r\n Results: 'Results',\r\n Schedule: 'Schedule',\r\n Calendar: 'Calendar',\r\n Timetable: 'Timetable',\r\n OnlineSessions: 'Online Sessions'\r\n },\r\n payment: {\r\n PaymentTypes: \"Payment types\",\r\n PaymentHistory: \"Payment history\",\r\n Chooseyourpaymentplan: \"Choose your payment plan that you will follow:\",\r\n SelectPaymenttype: \"Select Payment type\",\r\n Features: \"Features:\",\r\n CurrentStudentsNumber: \"Current students number:\",\r\n student: \"Student\",\r\n Changesby: \"Changes by :\",\r\n EffectiveDate: \"Effective date\",\r\n LastChanges: \"Last changes :\",\r\n seemore: \"See more\",\r\n CurrentTotalCost: \"Current total cost :\",\r\n perStu: \"L.E per 1 Stu.\",\r\n NumberofdaysuntileveryPayment: \"Number of days until every payment.\",\r\n InspecificDayeverymonths: \"In specific day every N. of months.\",\r\n days: \"Days\",\r\n Mon: \"Mon.\"\r\n },\r\n Stations: {\r\n Newstation: \"New station\",\r\n ViewStation: \"View station\",\r\n StationsName: \"Stations name\",\r\n NofChargers: \"N. of chargers\",\r\n ChoutofService: \"Ch. out of service\",\r\n Governorate: \"Governorate\",\r\n Location: \"Location\",\r\n Chargers: \"Chargers\",\r\n Available: \"Available\",\r\n Address: \"Address\",\r\n Directions: \"Directions\",\r\n DirectionsToStation: \"Directions to station\",\r\n StationsNearYou: \"Charging stations near you\",\r\n Findtheneareststation: \" Find the nearest station to your current location\",\r\n all: \"All\",\r\n AddNewStation: \"Add new station\",\r\n StationName: \"Station name\",\r\n StationNameTranslation: \"Station name translation\",\r\n PleaseInputStationName: \"Please enter station name \",\r\n stationNamePlaceHolder: \"Write the name of the station\",\r\n stationNameTranslationPlaceHolder: \"Write station name translation\",\r\n NumberOfChargers: \"Number of chargers\",\r\n PleaseInputNumberOfChargers: \"Please input number of chargers\",\r\n NumberOfChargersPlaceholder: \"set the number of available chargers\",\r\n NumberOfOutOfServiceChargers: \"Number of out Of service chargers\",\r\n PleaseinputNumberOfoutOfService:\r\n \"Please input number of out of service chargers\",\r\n outOfServiceChargersPlaceholder:\r\n \"Set the number of out of service chargers\",\r\n Governorate: \"Governorate\",\r\n PleaseInputGovernorate: \"Please input governorate\",\r\n stationGovernorate: \"Station governorate\",\r\n LocationOnMap: \"Location on map\",\r\n PleaseInputLocationonMap: \"Please input location on map\",\r\n LocationPlaceholder: \"Pick the station on the map to set the location\",\r\n chargerIdPlaceholder: \"Insert charger id\",\r\n commentPlaceholder: \"Insert a comment\",\r\n addCharger: \"+ Add charger\",\r\n chargerID: \"Charger iD\",\r\n chargerStatus: \"Status\",\r\n chargerComment: \"Comment\",\r\n Tiles: \"Tiles\",\r\n Map: \" Map\",\r\n MoreInfo: \"More info\",\r\n stationAddedSuccessfully: \"Station added successfully\",\r\n stationEditSuccessfully: \"Station edited successfully\",\r\n chargersNo: \"Chargers num\",\r\n outOfServiceChargersNo: \"Out of service\",\r\n governateName: \"Governorate name\",\r\n alreadyExists: \"Charger already exists\"\r\n },\r\n Customers: {\r\n CustomersName: \"Customers name\",\r\n Email: \"Email\",\r\n Phone: \"Phone\",\r\n CardStatus: \"Card status\",\r\n Lastcharge: \" Last charge\",\r\n ViewProfile: \"View profile\",\r\n ViewCard: \"View card\",\r\n MobilePhone: \"Mobile phone\",\r\n Age: \"Age\",\r\n Gender: \"Gender\",\r\n CarType: \"Car type\",\r\n BatteryRange: \"Battery range\",\r\n carlicense: \"car license\",\r\n PersonalInfo: \"Personal info\",\r\n CarInfo: \"Car info\",\r\n Comments: \"Comments\",\r\n writeyourcommenthere: \"write your comment here\",\r\n active: \"Active\",\r\n inactive: \"Inactive\",\r\n inProgress: \"In Progress\",\r\n delivered: \"Delivered\",\r\n Requested: \"Requested\",\r\n needsAction: \"Needs action\",\r\n inDelivery: \"In delivery\",\r\n canceled: \"Canceled\",\r\n RequestInfo: \"Request info\",\r\n new: \"New\",\r\n address: \"Address\",\r\n deliveryAddress: \"Delivery address\",\r\n male: \"Male\",\r\n fmale: \"Female\",\r\n customerBan: \"Customer ban\",\r\n commentSent: \"Comment succefully sent\",\r\n statusUpdated: \"Status succefully updated \",\r\n userBaned: \"User succefully banned\",\r\n userActivated: \"User succefully activated\"\r\n },\r\n PricingSettings: {\r\n Settings: \"Settings\",\r\n MinimumCharge: \"Minimum charge\",\r\n KW: \"KW\",\r\n CurrentAC: \"Alternating current (AC)\",\r\n CurrentDC: \"Direct current (DC)\",\r\n ChargersPricingUpdated: \"Chargers pricing successfully updated\"\r\n },\r\n infinty: {\r\n EVChargingpoints: \"Welcome to the fastest growing electric \",\r\n foryourbusiness: \"vehicle charging network in Egypt\",\r\n Morethan17Stations: \"More than 17 EV-Charging stations in greater cairo\",\r\n Locateyourneareststation: \"Locate your nearest station\",\r\n EnvironmentFriendlyDrivingPleasure:\r\n \"Environment-Friendly, Driving Pleasure\",\r\n zero: \"Zero\",\r\n emissionisourvision: \"Emission is our vision\",\r\n Getyour: \"Get your\",\r\n ChargingCard: \"Charging Card\",\r\n ChargingCardArticle:\r\n \"To Be able to charge at any infinity-e charging station, Order Your Charging card now and Enjoy Free Charging for a Limited time Only.\",\r\n GetYourCard: \"Get your card\",\r\n Stations: \"Stations\",\r\n EVchargingstationstodate: \"EV-charging stations to date\",\r\n charginglocations: \"charging locations\",\r\n charginglocationsby2021: \"charging locations by 2021\",\r\n Neareststation: \"Stations near you\",\r\n Setlocation: \"Set location\",\r\n typeyourlocation: \"type your location here…\",\r\n LocatetheNearestStation: \"Locate the nearest infinity-e charging station\",\r\n Findtheneareststation: \"Find the nearest station\",\r\n // Stations: 'Stations',\r\n headerFooter: {\r\n Home: \"Home\",\r\n AboutUs: \"About us\",\r\n Howitworks: \"How it works\",\r\n Stations: \"Stations\",\r\n ChargingStations: \"Charging stations\",\r\n RequestCard: \"EV charging card\",\r\n ContactUs: \"Contact us\",\r\n About: \"About \",\r\n Additionallinks: \"Additional links \",\r\n infintyAdress:\r\n \"57 Corniche El Maadi, Giza Governorate, Cairo, Cairo Governorate 11431\",\r\n SignIn: \"Sign in \",\r\n viewProfile: \"view profile\",\r\n Notifications: \"Notifications\",\r\n AllRightsReserved: \"All Rights Reserved\"\r\n }\r\n },\r\n contactusRequests: {\r\n requestStatus: \"Request status\",\r\n status: \"Request status\",\r\n requestDetails: \"Request details\",\r\n new: \"New\",\r\n closed: \"Closed\",\r\n close: \"Close\",\r\n needsAction: \"Needs action\",\r\n reply: \"Reply\",\r\n replyHint: \"This reply will be sent directly to customer email\",\r\n commentHint: \"This comment can only be seen by admins\",\r\n replyPlaceholder: \"Write your request reply here\",\r\n requestUpdatedSuccessfully: \"Request status successfully updated\"\r\n },\r\n userProfile: {\r\n ChangePassword: \"Change password\",\r\n NameMin: \"Name min 2 characters\",\r\n NameMax: \"Name max is 12 characters\",\r\n Lastname20Max: \"Last name cannot be longer than 20 characters\",\r\n Firstname20Max: \"First name cannot be longer than 20 characters\",\r\n emailMin: \"Email length must be more than 5 characaters\",\r\n emailMax: \"Email length must be less than 150 characaters\",\r\n pleaseEntername: \"Please enter name\",\r\n minmaxaddress: \"Address must be between 3 and 300 characters\",\r\n Name: \"Name\",\r\n firstName: \"First name\",\r\n lastName: \"Last name\",\r\n pleaseEnterValidmail: \"Please enter valid mail\",\r\n pleaseEntermail: \"please enter mail\",\r\n mail: \"mail\",\r\n Pleaseinputyourphonenumber: \"phonen number must be 11 num\",\r\n pleaseEnteraddress: \"please enter address\",\r\n pleaseSelectGender: \"please select Gender\",\r\n Male: \"Male\",\r\n Female: \"Female\",\r\n ChangePassword: \"Change Password\",\r\n PersonalInfo: \"Personal Info\",\r\n ChangeYourPassword: \"Change your Password\",\r\n Uploadnewpicture: \"Upload new picture\",\r\n address: \"address\",\r\n Currentpassword: \"Current password\",\r\n Newpassword: \"New password\",\r\n Confirmnewpassword: \"Confirm new password\",\r\n CarInfo: \"Electric Car Details\",\r\n CarsInfo: \" Cars Info\",\r\n ArrivalAddress: \"Delivery Address\",\r\n sameashomeaddress: \"Same as home address\",\r\n oneofourcustomers:\r\n \"If you already have an infinity-e account, please sign in first\",\r\n AddmoreCar: \"Add more Car\",\r\n selectUserCar: \"Please select a car\",\r\n Selectcarbrand: \"Select car brand\",\r\n Selectcartype: \"Select car type\",\r\n pleaseEntercarbrand: \"Please enter car brand\",\r\n cartype: \"car type\",\r\n pleaseEntercartype: \"Please enter car type\",\r\n pleaseEnterbetteryrange: \"Please enter battery range\",\r\n Selectabetteryrange: \"Select a bettery range\",\r\n Attachcarlicense: \"Attach car license\",\r\n copyofthecarlicense: \"A copy of the car license\",\r\n oryoucanattachcustomsreleasecertificate:\r\n \"or you can attach customs release certificate\",\r\n Requests: \"Requests\",\r\n NoRequests: \"No requests\",\r\n carInfoAdded: \"car info added successfully\",\r\n carlicenseNeed: \"Please add car license no less than 2 images\",\r\n youwanttocancel: \"Are you sure you want to cancel this request?\",\r\n fillTheForm:\r\n \"Please fill out the form below to order your infinity-e charging card\",\r\n carsUpdated: \"Car info updated successfully\",\r\n deleteCar: \"Delete car\",\r\n carDeleteConfirmation: \"Are you sure you want to delete this car ?\",\r\n Createddate: \"Created date\",\r\n Status: \"Status\",\r\n DeliveryAddress: \"Delivery address\",\r\n Action: \"Action\",\r\n Welcome: \"Welcome\",\r\n foraneasierexperience:\r\n \"For an easier experience make your account better by complete the following data.\",\r\n Continue: \"Continue\",\r\n Skipfornow: \"Skip for now\",\r\n noLicenceSelected: \"Please selected licence images\",\r\n licenseFront: \"Please select license front image\",\r\n licenseBack: \"Please select license back image\",\r\n Wallet: \"Wallet\"\r\n },\r\n contactUs: {\r\n fullName: \"Full name\",\r\n email: \"E-mail\",\r\n RequestDetails: \"Subject\",\r\n PleaseinputyourRequestDetails: \"Please input your Request Details\",\r\n HereToHelp: \"We’re here to help\",\r\n ContactUS: \"Contact us\",\r\n ContactDetails: \"Contact details\",\r\n OpeningHours: \"Opening hours\",\r\n Closed: \"Closed\",\r\n About: \"About\",\r\n Howitworks: \"How it works\",\r\n ChargingStations: \"Charging stations\",\r\n RequestCard: \"EV charging card\",\r\n Additionallinks: \"Additional links\",\r\n AboutUs: \"About us\",\r\n subjectMin: \"Subject length must be at least 20 characters\",\r\n subjectMax: \"Subject maximum length must be 200 characters\",\r\n nameMin: \"Name must be at least 2 characters\",\r\n nameMax: \"Name can't be more than 60 characters\",\r\n dayopen: \"Sunday - Thursday\",\r\n dayclose: \"Friday - Saturday\"\r\n },\r\n notifications: {\r\n loadMore: \"Load more notifications\",\r\n notifications: \"Notifications\",\r\n noNotifications: \"It's all good, you don't have new notifications\",\r\n today: \"Today's\"\r\n },\r\n aboutUs: {\r\n aboutUsPragraph:\r\n \"Infinity-e was established in 2018 with the vision to develop Egypt’s electric vehicle charging network infrastructure. We are working towards creating the most reliable and convenient EV charging network in Egypt. infinity-e is a subsidiary of infinity energy, the leading company in the renewable energy sector in Egypt .\",\r\n Exploremore: \"Explore more\",\r\n Ourstations: \"Our stations\",\r\n OurstationsPragraph1:\r\n \"All infinity-e charging stations are equipped to charge at least 2 electric vehicles simultaneously, while some stations capacitate for up to 6 vehicles. They are equipped with double-socket 22Kw-AC-chargers and fast-charging DC chargers in major stations, providing an output of 50 Kw to charge your electric car up to 125km in 30 minutes. \",\r\n OurstationsPragraph2:\r\n \"All stations confine to EU standards and cater for type 2 charger cables. Alternatively, one can use an adapter cable to connect to the charging station.\",\r\n Our: \"Our\",\r\n Partners: \"Partners\"\r\n },\r\n howItWork: {\r\n How: \"How\",\r\n itworks: \"it works\",\r\n Start: \"Connect\",\r\n StartStep: \"Connect charger cable with car & station.\",\r\n Second: \"Start\",\r\n SecondStep: \"Start charging session by swiping charging card.\",\r\n Third: \"Charge\",\r\n ThirdStep: \"Blue lED light indicates start of charging session.\",\r\n End: \"Charging Complete\",\r\n EndStep:\r\n \"Stop charging session by swiping charging card then removing the cable.\",\r\n RequestCard: \"Charging card\",\r\n Requestcharging:\r\n \"Order a card to be able to charge your car at any infinity-e charging station\",\r\n Search: \"Search\",\r\n Searchlocation: \"Find your nearest Infinity-e charging station here\"\r\n },\r\n signIn: {\r\n WelcomeBack: \"Welcome Back !\",\r\n Tokeepconnected:\r\n \"To keep connected with us please login with your personal info\",\r\n SignIn: \"Sign In\",\r\n SignUp: \"Sign Up\",\r\n HelloFriend: \"Hello, Friend!\",\r\n personaldetails: \"Enter your personal details and start journey with us\",\r\n SignintoInfinity: \"Sign in to infinity\",\r\n Forgotpassword: \" Forgot your password ?\",\r\n haveaccount: \" Don’t have an account?\"\r\n },\r\n courses: {\r\n TodaysCourses: \"Today's Courses\",\r\n more:'More',\r\n Day:'Day',\r\n Week:'Week',\r\n Month:'Month',\r\n All: 'All',\r\n ToDo:'ToDo',\r\n Completed:'Completed',\r\n Draft:'Draft',\r\n NoCoursesAdded :'No Courses Added',\r\n allCourses: 'All Courses',\r\n coursesSubtitle: 'Courses to complete today',\r\n attachments: 'Attatchments',\r\n downloadAll: 'Download All',\r\n },\r\n filtrationBar: {\r\n filter: 'Filter',\r\n subject: 'Subject',\r\n date: 'Date',\r\n courseName: 'Course Name',\r\n subjectPlaceholder: 'Select a subject',\r\n datePlaceholder: 'Select a date',\r\n courseNamePlaceholder: 'Type course name',\r\n allYear: 'All Year',\r\n clear: 'clear',\r\n ResultType:'Result Type',\r\n ResultEvaluation:'Result Evaluation'\r\n },\r\n assigments : {\r\n Assigments : 'Assignments',\r\n Assignment : 'Assignment',\r\n NoAssigmentsAdded : 'No Assignments Added',\r\n Youhave : 'You have ',\r\n NoFeedbackyet : \"No Feedback yet , Complete your assignment first and wait your teacher's feedback\",\r\n SuccessfullyPass : 'Successfully Pass',\r\n assigmentstocompletetoday : ' assignments to complete today',\r\n All : 'All',\r\n ToDo : 'To Do',\r\n Late : 'Late',\r\n Feedback : 'Feedback',\r\n Completed : 'Completed',\r\n Uncomplet : 'Incomplete',\r\n open : 'open',\r\n Feedback : 'Feedback',\r\n ReSubmit : 'Re-Submit',\r\n Teacherfeedback : \"Teacher's feedback\",\r\n TodayAssigments : \"Today's Assignments\",\r\n Applyyourassignmenthere : 'Apply your assignment here..',\r\n AssignmentReply : 'Assignment Reply',\r\n doesntmatchtherequirement : \"doesn't match the requirement.\",\r\n endDate: 'End Date',\r\n question: 'Question',\r\n degree: 'Degree',\r\n of: 'of',\r\n inProgress:'in Progress' \r\n\r\n }, \r\n exams:{\r\n exams:'Exams',\r\n headerSubtitle:'exams to complete today',\r\n all : 'All',\r\n toDo : 'To Do',\r\n upComing: 'Up Coming',\r\n previous: 'Previous',\r\n online: 'Online',\r\n printed: 'Printed',\r\n hours: 'Hours',\r\n hour: 'Hour',\r\n questions: 'Questions',\r\n startExam: 'Start Exam',\r\n instructions: 'Instructions',\r\n daysLeft: 'Days Left',\r\n Beforeyoubegin: 'Before you begin',\r\n Themaximumtime: 'The maximum time that allowed to Access the exam after the start time .',\r\n Theresnooption: \"There's no option to pause. Make sure you will not be interrupted for\",\r\n Ifyouaccidentallyclose: 'If you accidentally close your browser, use the invitation link to get back to your test.',\r\n Hintyoucanuse : 'Hint: you can use your own IDE and use copy-paste, but make sure your solution compiles in Scholigit Test environment.',\r\n HowtouseitInstruction: 'How to use it : Instruction and Tips',\r\n minutes: 'minutes',\r\n Hours: 'Hours',\r\n StartTime: 'Start Time',\r\n EndTime: 'End Time',\r\n ExamDuration: 'Exam Duration',\r\n NQuestions: 'N. Questions',\r\n Questions: 'Questions',\r\n Accessibilitytime: 'Accessibility time',\r\n FromstartingTimeTill: 'From starting Time Till',\r\n checkTipNumberbelow: 'check Tip Number 1 below',\r\n noExamsFound: 'No Exams Found',\r\n under: 'Under',\r\n correction: 'Correction',\r\n underCorrection: 'Under Correction',\r\n totalDegree:'Degrees' ,\r\n final:'Final Exam',\r\n midterm:'Midterm Exam',\r\n monthly:'Monthly Exam',\r\n examTitle:'Exam Title',\r\n examType:'Exam Type',\r\n subject:'Subject',\r\n start:'Start',\r\n end:'End',\r\n\r\n },\r\n Results:{\r\n Results:'Results',\r\n withinthetotal:'within the total',\r\n Outoftotal:'Out of total',\r\n Excellent:'Excellent',\r\n VGood:'V.Good',\r\n Good:'Good',\r\n Congratulations:'Congratulations',\r\n successfullypassed:', You are successfully passed and transferred to the next Grade.',\r\n LatestResults:'Latest Results',\r\n Archive:'Archive',\r\n NoResultsfoundyet:'No Results found yet',\r\n Yourresultswillappearhere:'Your results will appear here once the correction is over',\r\n MoreDetails:'More Details'\r\n },\r\n exam: {\r\n Exam: 'Exam',\r\n Class: 'Class',\r\n startExam: 'Start Exam',\r\n continueExam: 'Continue Exam',\r\n finishExam: 'Finish Exam',\r\n next: 'Next',\r\n previous: 'Previous',\r\n FinishExam: 'Finish Exam',\r\n solved: 'Solved',\r\n NotSolved: 'Not Solved',\r\n MarkForReview: 'Mark For Review',\r\n minutes: 'minutes',\r\n Hours: 'Hours',\r\n StartTime: 'Start Time',\r\n EndTime: 'End Time',\r\n ExamDuration: 'Exam Duration',\r\n NQuestions: 'N. Questions',\r\n Questions: 'Questions',\r\n Accessibilitytime: 'Accessibility time',\r\n FromstartingTimeTill: 'From starting Time Till',\r\n checkTipNumberbelow: 'check Tip Number 1 below',\r\n Beforeyoubegin: 'Before you begin',\r\n Themaximumtime: 'The maximum time that allowed to Access the exam after the start time .',\r\n Theresnooption: \"There's no option to pause. Make sure you will not be interrupted for\",\r\n Ifyouaccidentallyclose: 'If you accidentally close your browser, use the invitation link to get back to your test.',\r\n Hintyoucanuse : 'Hint: you can use your own IDE and use copy-paste, but make sure your solution compiles in Scholigit Test environment.',\r\n HowtouseitInstruction: 'How to use it : Instruction and Tips',\r\n Areyouready: 'Are you ready ?',\r\n Theexamisnotvalidanymore : 'The exam is not valid anymore',\r\n ThisexamURLisnotvalidanymore : 'Oops! This exam URL is not valid anymore, It is for one use only',\r\n GoToExamsPage : 'Go To Exams Page',\r\n question: 'Question',\r\n point: 'Point',\r\n MultiChoise : 'Multi Choice',\r\n SingleChoise : 'Single Choice',\r\n Written : 'Paragraph ',\r\n Trueorfalse : 'True or false',\r\n true : 'True',\r\n false : 'False',\r\n connect: 'Connect',\r\n rearrange: 'Re-arrange',\r\n complete: 'Complete',\r\n wellDone: 'Well Done',\r\n youDidGreat: 'You did great',\r\n yourResult: 'Your result',\r\n done: 'Done',\r\n examSubmitted: 'Your Answers have been submitted',\r\n waitForCorrection: 'Wait for the correction to finish for the exam and you will be notified of the result soon upon completion',\r\n keepInMind: \"Keep in mind that when you click on 'Finish' , that's mean that you have finished your exam and can't refer to your answers again.\",\r\n TextAreaTypeAnswer:'Type your answer here...',\r\n showAnswer: 'Show Answer' ,\r\n selectAnswerFirst:'Please answer the question first',\r\n questionQ:'Q'\r\n\r\n },\r\n timeline: {\r\n addPhoto: 'Add Photo',\r\n addVideo: 'Add Video',\r\n Photo: 'Photo',\r\n Video: 'Video',\r\n File: 'File',\r\n post: 'Post',\r\n TimeLine: 'TimeLine',\r\n Calender: 'Calender',\r\n Attendens: 'Attendens',\r\n TimeTable: 'TimeTable',\r\n HomeWork: 'Home Work',\r\n Exam: 'Exam',\r\n createTagline: 'What’s happening in your classroom?',\r\n captionRequired: 'Story caption is required',\r\n postCreatedSuccessfully: 'Post created successfully',\r\n writeyourmessagehere: \"write your message here…\",\r\n WholeClass: 'Whole Class',\r\n SetHomework: 'Set Homework',\r\n Cancel: 'Cancel',\r\n cropImage: 'Crop selected image',\r\n crop: 'Crop',\r\n imageSize: 'Image size must be less than 10 MB',\r\n videoSize: 'Video size must be less than 200 MB',\r\n invalidFormat: 'Please select a valid image or video type',\r\n invalidWidth: 'Image width must be more than 400 pixel',\r\n invalidHeight: 'Image height must be more than 400 pixel',\r\n limitExceeded: \"You can't select more than 20 files\",\r\n invalidImages: 'files are invalid',\r\n DropToUpload: 'Drop files here to upload',\r\n Upload: 'Upload',\r\n },\r\n calendar: {\r\n day: 'Day',\r\n week: 'Week',\r\n month: 'Month',\r\n calendar: 'Calendar',\r\n youHave: 'You have',\r\n remainingTasks: 'remaining tasks',\r\n HomeWork:'HomeWork',\r\n OnlineSession:'Online Classroom',\r\n TimeTable:'Timetable',\r\n Solve:'Solve',\r\n Join:'Join',\r\n Ended:'Ended'\r\n },\r\n todoList:{\r\n todoList:'To Do List',\r\n TimeTable:'TimeTable',\r\n HomeWork:'Home Work',\r\n ClassOnline:'Class Online',\r\n Time:'Time',\r\n Title:'Title',\r\n Topic:'Topic',\r\n Subject:'Subject',\r\n Teacher:'Teacher',\r\n Status:'Status',\r\n StartTime:'Start',\r\n DueTime:'Due',\r\n Done:'Done',\r\n InProgress:'In Progress',\r\n Join:'Join',\r\n TimeRemining:'Time Remining',\r\n Solve:'Solve Homework',\r\n empty:'Sorry, there are no todos for this day',\r\n YouHave:'You Have',\r\n Coursestocompletetoday:'Courses to complete today',\r\n to:'To',\r\n Details:'Details',\r\n Completed:'Completed',\r\n Type:'Type',\r\n OnlineSession:'Online Session'\r\n},\r\n timetable : {\r\n Satarday : 'Satarday',\r\n Sunday : 'Sunday',\r\n Monday : 'Monday',\r\n Teusday :'Teusday',\r\n Wednesday : 'Wednesday',\r\n Thursday : 'Thursday',\r\n Session :'Session',\r\n Sessions : 'Sessions',\r\n },\r\n onlineSessions :{\r\n OnlineSessions:'Online Sessions',\r\n Courses:'Courses',\r\n General:'General',\r\n OnlineSessionTitle:'Session Title',\r\n Teacher:'Teacher',\r\n Subject:'Subject',\r\n Chapter:'Chapter',\r\n Topic:'Topic',\r\n Date :'Date ',\r\n Details:'Details',\r\n Status:'Status',\r\n EmptyText:'Oops , there are No Online Sessions ',\r\n Started:'Started',\r\n Scheduled:'Scheduled',\r\n Ended:'Ended',\r\n Join:'Join',\r\n TimeRemaining:'Time Remaining',\r\n Done:'Done',\r\n Cancel:'Cancel',\r\n onlineSession: 'Online Session',\r\n notStarted: 'Session has not started yet',\r\n emptyFiles: 'There are no files in this session',\r\n processing: 'Processing...',\r\n general: 'General',\r\n All:'All'\r\n\r\n }\r\n};\r\n","export const pa = {\r\n auth: {\r\n login: \"بوج ان\",\r\n logout: \"Logout\",\r\n rememberMe: \"Remember me\",\r\n signIn: \"Sign in\",\r\n email: \"Email\",\r\n mail_massage: \"The input is not valid e-mail!\",\r\n mail_req_massage: \"Please input your e-mail!\",\r\n password_placeholder: \"Enter your password\",\r\n plaeaseEnterMail:\r\n \"Please Enter your email then click the button below to request another one.\",\r\n password: \"Password\",\r\n forgetPassword: \"Forget Password?\",\r\n Forget_Password: \"Forget Password\",\r\n sammary:\r\n \"Please enter your email so that we can send you a rest password email.\",\r\n passwordMassage: \"Please input your password!\",\r\n backToSignin: \"Back to sign in\",\r\n sendMail: \"Send email\",\r\n sorry505:\r\n \"The server encountered an internal error or misconfiguration and was unable to complete your request\",\r\n resetSent: \"Reset code was sent successfully\",\r\n confirmPassword: \"Confirm new password\",\r\n restPass_placeholder: \"Confirm your password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n Reset: \"Reset\",\r\n cancle: \"Cancel\",\r\n CheckInpoxp1: \"Please check your inbox or spam folder at\",\r\n CheckInpoxp2: \"For a link to reset your password .\",\r\n GoToMail: \"Go to your mail\",\r\n Ok: \"OK\",\r\n oops: \"Oops!! This URL Is Not Valid Anymore.\",\r\n ResendMail: \"Resend mail\",\r\n passwordmin: \"Password must be min 6 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password must be at least 8 characters including capital and small letters.\",\r\n profile: \"Profile\",\r\n personalInfo: \"Personal information\",\r\n name: \"Name\",\r\n nameMassage: \"Please input your name!\",\r\n namePlaceholder: \"Enter your name\",\r\n Security: \"Security\",\r\n Account: \"Account\",\r\n Change: \"Change\",\r\n Deactivate: \"Deactivate\",\r\n DeactivateAccount: \"Deactivate account\",\r\n SaveChanges: \"Save changes\",\r\n ChangePassword: \"Change password\",\r\n NoCancel: \"No, Cancel\",\r\n YesDeactivate: \"Yes, Deactivate\",\r\n PasswordsChanged: \"Passwords changed successfully\",\r\n AccountDeactivated: \"Account Deactivated!\",\r\n YourAccountDeactivated:\r\n \"Your account have be deactivated, please be informed that you’ll never be able to login again or restore your account\",\r\n Delete: \"Delete\",\r\n JoinYourClassNow: \"Join Your Class Now!\",\r\n Studentcode: \"Student code\",\r\n Studentcoderequired: \"please input Student code\",\r\n AreYouSoure: \"Are you sure you want to delete this data ?\",\r\n YesSave: \"Yes, Save\",\r\n NoSave: \"No, Don’t Save\",\r\n NewPassword: \"New password\",\r\n Cancel: \"Cancel\",\r\n EnterPassFor: \"Please enter Your Password for\",\r\n TimedOut:\r\n \"You are being timed-out due to inactivity .please choose to stay \",\r\n SinginOrLogout: \"Signed-in or log-out .\",\r\n otherwise: \"Otherwise , you will be logged out automatically\",\r\n minute: \"after 1 minute.\",\r\n stay: \"Stay logged-in\",\r\n inactivityMessage: \"You have been logged-out due to inactivity\",\r\n incorrectOldPassword: \"Old password is incorrect\",\r\n Imagemustsmallerthan5MB: \"Image must smaller than 5MB!\",\r\n YoucanonlyuploadJPGPNG: \"You can only upload JPG/PNG file!\",\r\n createAccount: \"Create account\",\r\n aleadyHaveAccount: \"Aleady have an account ?\",\r\n signUp: \"Sign up\"\r\n },\r\n notifi: {\r\n MarkAll: \"Mark all reeded\",\r\n NotifiContent: \"Welcome back to Starwallet labs admin panel\",\r\n fiveMin: \"5 Mins ago\",\r\n Delete: \"Delete\"\r\n },\r\n validationMessages: {\r\n\t\tshortDescriptionLength: \"Short description must be less than 70 character\",\r\n\t\tdescriptionLength: \"Description must be less than 500 characters\",\r\n\t\ttitleLength: \"Title must be less than 30 character\",\r\n\t\ttitleLengthMax: \"Title must be less than 60 character\",\r\n\t\ttitleLengthMin: 'Title must be at least 3 characters',\r\n\t\tfirstNameLength: \"First name must be less than 20 character\",\r\n\t\tfirstNameSpaces: \"First name can't contain more than one space\",\r\n\t\timageSize: 'Image size must be less than 10 MB',\r\n videoSize: 'Video size must be less than 200 MB',\r\n invalidFormat: 'Please select a valid image or video type',\r\n invalidWidth: 'Image width must be more than 400 pixel',\r\n invalidHeight: 'Image height must be more than 400 pixel',\r\n limitExceeded: \"You can't select more than 20 files\",\r\n invalidImages: 'images are invalid',\r\n\t\tAreYouSureDelete: 'Are you sure you want to delete ',\r\n deleteFile: 'Delete File',\r\n fileSizeExceed: \"File size can't exceed \",\r\n fileNotSupported: ' files are not supported',\r\n\t},\r\n home: {\r\n exportExcel: \"Export Excel\"\r\n },\r\n header: {\r\n Search: \"Search...\",\r\n Editprofile: \"Edit profile\",\r\n SUPERADMIN: \"SUPER admin\",\r\n NOTIFICATIONS: \"Notifications\",\r\n Seeall: \"See all\"\r\n },\r\n errors: {\r\n Unauthorized: \"Unauthorized\",\r\n sorry401: \"Sorry , your request could not be processed.\",\r\n goToHome: \"Go To Home page\",\r\n sorry403:\r\n \"We are sorry , but you do not have access to this page or resource.\",\r\n Access: \"Access Denied\",\r\n notFound: \"Page not found\",\r\n error_text:\r\n \" The page you’re looking for might have been removed, had its name changed or is temporarily unavailable.\",\r\n serverError: \"Internal server error\"\r\n },\r\n MScreens: {\r\n LinkExpired: \"Link expired\",\r\n plaeaseEnterMail:\r\n \"Please enter your email then click the button below to request another one.\",\r\n email: \"Email\",\r\n mail_massage: \"The input is not valid e-mail!\",\r\n mail_req_massage: \"Please input your e-mail!\",\r\n ResendMail: \"Resend mail\",\r\n oops: \"Oops!! This url Is Not Valid Anymore.\",\r\n Ok: \"OK\",\r\n PasswordReset: \"Passwords reset successfully\",\r\n ResetPassword: \"Rest new password\",\r\n NewPassword: \"New password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password must be at least 8 characters including capital and small letters.\",\r\n password_placeholder: \"Enter your password\",\r\n confirmPassword: \"Confirm new password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n restPass_placeholder: \"Confirm your password\",\r\n cancle: \"Cancel\",\r\n resetSent: \"Reset code was sent successfully\",\r\n Reset: \"Reset\",\r\n CheckInpoxp1: \"Please check your inbox or spam folder at\",\r\n CheckInpoxp2: \"for a link to reset your password .\",\r\n backToSignin: \"Back to sign in\"\r\n },\r\n settings: {\r\n PasswordsChanged: \"Passwords changed successfully\",\r\n successfullyDeleted: \"successfully deleted\",\r\n ChangePassword: \"change password\",\r\n NewPassword: \"New password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password expresion that requires one lower case letter, one upper case letter, one digit\",\r\n password_placeholder: \"Enter your password\",\r\n confirmPassword: \"Confirm new password\",\r\n confirm_massage: \"Please confirm your password!\",\r\n restPass_placeholder: \"Confirm your password\",\r\n logout: \"logout\",\r\n AccountDeactivated: \"Account deactivated!\",\r\n YourAccountDeactivated:\r\n \"Your account have be deactivated, please be informed that you’ll never be able to login again or restore your account\",\r\n YesSave: \"Yes, Save\",\r\n NoSave: \"No, Don’t Save\",\r\n Cancel: \"Cancel\",\r\n Delete: \"Delete\",\r\n SaveChanges: \"Save changes\",\r\n AreYouSoure: \"Do you want to save this data ?\",\r\n signIn: \"Sign in\",\r\n EnterPassFor: \"Please enter your password for\",\r\n password: \"Password\",\r\n passwordMassage: \"Please input your password!\",\r\n passwordmin: \"Password must be min 8 characters\",\r\n passwordmax: \"Password must be max 20 characters\",\r\n passwordexpresion:\r\n \"Password expresion that requires one lower case letter, one upper case letter, one digit\",\r\n password_placeholder: \"Enter your password\"\r\n },\r\n setting: {\r\n Settings: \"Settings\",\r\n Integratedappsmasterata: \"Integrated apps master data\",\r\n GoogleRECAPTCHA: \"Google recaptcha\",\r\n GoogleAnalyticsTrackingCode: \"Google analytics tracking code\",\r\n FacebookAppID: \"Facebook app iD\",\r\n FacebookAppSecret: \"Facebook app secret\",\r\n LinkedInAppID: \"LinkedIn app iD\",\r\n EmailedLinksSettings: \"Emailed links settings\",\r\n Emailverification: \"Email verification\",\r\n Enable: \"Enable\",\r\n Emailverificationlinkexpirytimeminutes:\r\n \"Email verification link expiry time (minutes)\",\r\n Mins: \"Mins\",\r\n EmailNotifications: \"Email notifications\",\r\n Resetpasslinkverificationlinkexpirytimeminutes:\r\n \"Reset pass link verification link expiry time (minutes)\",\r\n Resendmailinterval: \"Resend mail interval\",\r\n Tries: \"Tries\",\r\n Xplacholder: \"xxxx-xxxx-xxxx\"\r\n },\r\n Privileges: {\r\n AddRole: \"Add Role\",\r\n Newrole: \"New Role\",\r\n Personalinfo: \"Personal info\",\r\n Rolename: \"Role name\",\r\n ISACTIVE: \"IS active\",\r\n Hidetranslations: \"Hide translations\",\r\n Showtranslations: \"Show translations\",\r\n TranslateIntoAr: \"Translate into “عربي“\",\r\n TranslateIntoFr: \"Translate into “française“\",\r\n Enable: \"Enable\",\r\n Rolestatus: \"Role status\",\r\n Privileges: \"Privileges\",\r\n Privilege: \"Privilege\",\r\n AddPrivileges: \"Add Privileges\",\r\n SelectPrivileges: \"Select Privileges\",\r\n PleaseselectPrivilegestoAssign: \"Please select Privileges to assign\",\r\n AssignedPrivileges: \"Assigned Privileges\",\r\n Admins: \"Admins\",\r\n AddAdmins: \"Add admins\",\r\n SelectAdmins: \"Select admins\",\r\n Admin: \"Admin\",\r\n AddAdmin: \"Add admin\",\r\n SelectAdmin: \"Select admin\",\r\n PleaseselectAdminstoAssign: \"Please select admins to assign\",\r\n deletedSuccessfully: \"Selected roles deleted successfully\",\r\n editedSuccessfully: \"Selected role edited successfully\",\r\n addedSuccessfully: \"Role added successfully\"\r\n },\r\n currency: {\r\n Currencyname: \"Currency name\",\r\n Addcurrency: \"Add currency\",\r\n Newcurrency: \"New currency\",\r\n currencyinfo: \"Currency info\"\r\n },\r\n users: {\r\n USERS: \"USERS\",\r\n Name: \"Name\",\r\n Age: \"Age\",\r\n Email: \"Email\",\r\n Address: \"Address\",\r\n Admins: \"Admins\",\r\n UpdateAdmins: \"Update Admins\",\r\n Adduser: \"Add admin\",\r\n Personalinfo: \"Personal info\",\r\n Rules: \"Roles\",\r\n Addrule: \"Add role\",\r\n Selectrule: \"Select role\",\r\n PleaseselectruletoAssign: \"Please select role to Assign\",\r\n Assignedrules: \"Assigned roles\",\r\n deletedSuccessfully: \"Selected users deleted successfully\",\r\n editedSuccessfully: \"Selected user edited successfully\",\r\n addedSuccessfully: \"User added successfully\"\r\n },\r\n grid: {\r\n New: \"New \",\r\n goTo: \"Go to\",\r\n gridSearch: \"Search\",\r\n reset: \"Reset\",\r\n sureToCancel: \"Sure to cancel?\",\r\n no: \"No\"\r\n },\r\n buttons: {\r\n Close: \"Close\",\r\n SaveNew: \"Save & new\",\r\n Save: \"Save\",\r\n Cancel: \"Cancel\",\r\n UpdateNew: \"Update & new\",\r\n Update: \"Update\",\r\n Duplicate: \"Duplicate\",\r\n Delete: \"Delete\",\r\n View: \"View\",\r\n Archive: \"Archive\",\r\n Edit: \"Edit\",\r\n confirm: \"Are you sure you want to \",\r\n selectToEdit: \"Please select one row to edit\",\r\n selectToDelete: \"Please select one row or more to delete\",\r\n change: \"Change\",\r\n remove: \"Remove\",\r\n Send: \"Send\",\r\n done: 'Done',\r\n clear: 'Clear',\r\n qu: \"?\",\r\n selectAll: \"Select all\",\r\n deleteTheRest: \"Delete the rest\",\r\n add: \"Add\",\r\n YesCancel: \"Yes, cancel\",\r\n NoDontCancel: \"No, Don’t cancel\",\r\n rotate: \"Rotate\",\r\n crop: \"Crop\",\r\n open: 'Open',\r\n Answer:'Answer'\r\n },\r\n inputs: {\r\n inputrequired: \"Input required\",\r\n PleaseinputyourFirstname: \"Please input your first name!\",\r\n PleaseinputyourMiddlename: \"Please input your middle name!\",\r\n PleaseinputyourLastName: \"Please input your last name!\",\r\n Pleaseinputyourphonenumber: \"Please input your phone number!\",\r\n Firstname: \"First name\",\r\n Middlename: \"Middle name\",\r\n LastName: \"Last name\",\r\n PhoneNumber: \"Phone number\",\r\n phonemin: \"Phone can't be less than 8 numbers\",\r\n phonemax: \"Phone can't be more than 11 numbers\",\r\n phone: \"phone\",\r\n Email: \"E-mail\",\r\n TheinputisnotvalidEmail: \"The input is not valid e-mail!\",\r\n PleaseinputyourEmail: \"Please input your e-mail!\",\r\n EmailAlreadyExists: \"Email already exists\",\r\n Firstnamemustcharacters: \"Name must be min 3 characters\",\r\n namecantacceptspace: \"Name dosen't accept space\",\r\n Namecanacceptspecialcharacters: \"Name can't accept special characters\",\r\n Namecanacceptnumbers: \"Name can't accept numbers\",\r\n passwordDoesnotMatch: \"Password and confirmation does not match\"\r\n },\r\n masterData: {\r\n basicInfo: \"Basic info\",\r\n label: \"Master data\",\r\n add: \"Add\",\r\n name: \"Name\",\r\n email: \"Email\",\r\n value: \"Value\",\r\n isActive: \"Is active\",\r\n active: \"Active\",\r\n inActive: \"Inactive\",\r\n translate: \"Translation\",\r\n hideTranslations: \"Hide translations\",\r\n nameMaxLength: \"Name length must not exceed 60 character\",\r\n nameTranslationMaxLength:\r\n \"Name translation max length must not exceed 60 character\",\r\n nameMinLength: \"Name minimum length is 3 characters\",\r\n nameTranslationMinLength: \"Name translation minimum length is 3 characters\",\r\n namePlaceholder: \"Enter name here\",\r\n valuePlaceholder: \"Enter value ex:'25'\",\r\n nameTranslationPlaceholder: \"Enter name translation here\",\r\n deletedSuccessfully: \"Selected data deleted successfully\",\r\n editedSuccessfully: \"Selected data edited successfully\",\r\n addedSuccessfully: \"Data added successfully\",\r\n theFollowingData: \"The following data \",\r\n inUseData: \" are in use and can't be deleted\",\r\n inUseActivated: \" is in use and can't be deactivated\"\r\n },\r\n countries: {\r\n basicInfo: \"Basic info\",\r\n label: \"Country\",\r\n deletedSuccessfully: \"Selected countries deleted successfully\",\r\n editedSuccessfully: \"Selected country edited successfully\",\r\n addedSuccessfully: \"Country added successfully\",\r\n nullFlag: \"Please select an image\",\r\n countryCurrency: \"Country's currency\",\r\n currencyPlaceholder: \"Select country's currency\",\r\n countryCodePlaceholder: \"Enter country phone code, ex: +20\",\r\n countryCode: \"Country Code\"\r\n },\r\n governorates: {\r\n basicInfo: \"Basic info\",\r\n label: \"Governorate\",\r\n deletedSuccessfully: \"Selected governorates deleted successfully\",\r\n editedSuccessfully: \"Selected governorate edited successfully\",\r\n addedSuccessfully: \"Governorate added successfully\"\r\n },\r\n schools: {\r\n SchoolName: \"School name\",\r\n Country: \"Country\",\r\n AddSchool: \"Add school\",\r\n State: \"State\",\r\n selectState: \"Select a state\",\r\n Fax: \"Fax\",\r\n AddressLine1: \"Address line 1\",\r\n AddressLine2: \"Address line 2\",\r\n PaymentMethod: \"Payment method\",\r\n Website: \"Website\",\r\n SchoolEmail: \"School e-mail\",\r\n AllowedStudents: \"Allowed students\",\r\n ContactPersonName: \"Contact Person name\",\r\n pleaseEngerName: \"Please enter Your name\",\r\n Position: \"Position\",\r\n enterPosition: \"Please enter your position\",\r\n email: \"Email\",\r\n enterEmail: \"Please enter your email\",\r\n Country: \"Country\",\r\n selectCountery: \"Select a country\",\r\n addContactPersonData: \"Add contact\",\r\n invalidURL: \"Please enter a valid url\",\r\n schoolData: \"School data\",\r\n contactPersonData: \"Contact person Data\",\r\n contactWorkPhone: \"Work Phone\",\r\n contactPersonalPhone: \"Personal Phone\",\r\n addContactModalTitle: \"Add contact person\"\r\n },\r\n sideBar: {\r\n Home: 'Home',\r\n Courses: 'Courses',\r\n Assignments: 'Assignments',\r\n Exams: 'Exams',\r\n Results: 'Results',\r\n Schedule: 'Schedule',\r\n Calendar: 'Calendar',\r\n Timetable: 'Timetable',\r\n OnlineSessions: 'Online Sessions'\r\n },\r\n payment: {\r\n PaymentTypes: \"Payment types\",\r\n PaymentHistory: \"Payment history\",\r\n Chooseyourpaymentplan: \"Choose your payment plan that you will follow:\",\r\n SelectPaymenttype: \"Select Payment type\",\r\n Features: \"Features:\",\r\n CurrentStudentsNumber: \"Current students number:\",\r\n student: \"Student\",\r\n Changesby: \"Changes by :\",\r\n EffectiveDate: \"Effective date\",\r\n LastChanges: \"Last changes :\",\r\n seemore: \"See more\",\r\n CurrentTotalCost: \"Current total cost :\",\r\n perStu: \"L.E per 1 Stu.\",\r\n NumberofdaysuntileveryPayment: \"Number of days until every payment.\",\r\n InspecificDayeverymonths: \"In specific day every N. of months.\",\r\n days: \"Days\",\r\n Mon: \"Mon.\"\r\n },\r\n Stations: {\r\n Newstation: \"New station\",\r\n ViewStation: \"View station\",\r\n StationsName: \"Stations name\",\r\n NofChargers: \"N. of chargers\",\r\n ChoutofService: \"Ch. out of service\",\r\n Governorate: \"Governorate\",\r\n Location: \"Location\",\r\n Chargers: \"Chargers\",\r\n Available: \"Available\",\r\n Address: \"Address\",\r\n Directions: \"Directions\",\r\n DirectionsToStation: \"Directions to station\",\r\n StationsNearYou: \"Charging stations near you\",\r\n Findtheneareststation: \" Find the nearest station to your current location\",\r\n all: \"All\",\r\n AddNewStation: \"Add new station\",\r\n StationName: \"Station name\",\r\n StationNameTranslation: \"Station name translation\",\r\n PleaseInputStationName: \"Please enter station name \",\r\n stationNamePlaceHolder: \"Write the name of the station\",\r\n stationNameTranslationPlaceHolder: \"Write station name translation\",\r\n NumberOfChargers: \"Number of chargers\",\r\n PleaseInputNumberOfChargers: \"Please input number of chargers\",\r\n NumberOfChargersPlaceholder: \"set the number of available chargers\",\r\n NumberOfOutOfServiceChargers: \"Number of out Of service chargers\",\r\n PleaseinputNumberOfoutOfService:\r\n \"Please input number of out of service chargers\",\r\n outOfServiceChargersPlaceholder:\r\n \"Set the number of out of service chargers\",\r\n Governorate: \"Governorate\",\r\n PleaseInputGovernorate: \"Please input governorate\",\r\n stationGovernorate: \"Station governorate\",\r\n LocationOnMap: \"Location on map\",\r\n PleaseInputLocationonMap: \"Please input location on map\",\r\n LocationPlaceholder: \"Pick the station on the map to set the location\",\r\n chargerIdPlaceholder: \"Insert charger id\",\r\n commentPlaceholder: \"Insert a comment\",\r\n addCharger: \"+ Add charger\",\r\n chargerID: \"Charger iD\",\r\n chargerStatus: \"Status\",\r\n chargerComment: \"Comment\",\r\n Tiles: \"Tiles\",\r\n Map: \" Map\",\r\n MoreInfo: \"More info\",\r\n stationAddedSuccessfully: \"Station added successfully\",\r\n stationEditSuccessfully: \"Station edited successfully\",\r\n chargersNo: \"Chargers num\",\r\n outOfServiceChargersNo: \"Out of service\",\r\n governateName: \"Governorate name\",\r\n alreadyExists: \"Charger already exists\"\r\n },\r\n Customers: {\r\n CustomersName: \"Customers name\",\r\n Email: \"Email\",\r\n Phone: \"Phone\",\r\n CardStatus: \"Card status\",\r\n Lastcharge: \" Last charge\",\r\n ViewProfile: \"View profile\",\r\n ViewCard: \"View card\",\r\n MobilePhone: \"Mobile phone\",\r\n Age: \"Age\",\r\n Gender: \"Gender\",\r\n CarType: \"Car type\",\r\n BatteryRange: \"Battery range\",\r\n carlicense: \"car license\",\r\n PersonalInfo: \"Personal info\",\r\n CarInfo: \"Car info\",\r\n Comments: \"Comments\",\r\n writeyourcommenthere: \"write your comment here\",\r\n active: \"Active\",\r\n inactive: \"Inactive\",\r\n inProgress: \"In Progress\",\r\n delivered: \"Delivered\",\r\n Requested: \"Requested\",\r\n needsAction: \"Needs action\",\r\n inDelivery: \"In delivery\",\r\n canceled: \"Canceled\",\r\n RequestInfo: \"Request info\",\r\n new: \"New\",\r\n address: \"Address\",\r\n deliveryAddress: \"Delivery address\",\r\n male: \"Male\",\r\n fmale: \"Female\",\r\n customerBan: \"Customer ban\",\r\n commentSent: \"Comment succefully sent\",\r\n statusUpdated: \"Status succefully updated \",\r\n userBaned: \"User succefully banned\",\r\n userActivated: \"User succefully activated\"\r\n },\r\n PricingSettings: {\r\n Settings: \"Settings\",\r\n MinimumCharge: \"Minimum charge\",\r\n KW: \"KW\",\r\n CurrentAC: \"Alternating current (AC)\",\r\n CurrentDC: \"Direct current (DC)\",\r\n ChargersPricingUpdated: \"Chargers pricing successfully updated\"\r\n },\r\n infinty: {\r\n EVChargingpoints: \"Welcome to the fastest growing electric \",\r\n foryourbusiness: \"vehicle charging network in Egypt\",\r\n Morethan17Stations: \"More than 17 EV-Charging stations in greater cairo\",\r\n Locateyourneareststation: \"Locate your nearest station\",\r\n EnvironmentFriendlyDrivingPleasure:\r\n \"Environment-Friendly, Driving Pleasure\",\r\n zero: \"Zero\",\r\n emissionisourvision: \"Emission is our vision\",\r\n Getyour: \"Get your\",\r\n ChargingCard: \"Charging Card\",\r\n ChargingCardArticle:\r\n \"To Be able to charge at any infinity-e charging station, Order Your Charging card now and Enjoy Free Charging for a Limited time Only.\",\r\n GetYourCard: \"Get your card\",\r\n Stations: \"Stations\",\r\n EVchargingstationstodate: \"EV-charging stations to date\",\r\n charginglocations: \"charging locations\",\r\n charginglocationsby2021: \"charging locations by 2021\",\r\n Neareststation: \"Stations near you\",\r\n Setlocation: \"Set location\",\r\n typeyourlocation: \"type your location here…\",\r\n LocatetheNearestStation: \"Locate the nearest infinity-e charging station\",\r\n Findtheneareststation: \"Find the nearest station\",\r\n // Stations: 'Stations',\r\n headerFooter: {\r\n Home: \"Home\",\r\n AboutUs: \"About us\",\r\n Howitworks: \"How it works\",\r\n Stations: \"Stations\",\r\n ChargingStations: \"Charging stations\",\r\n RequestCard: \"EV charging card\",\r\n ContactUs: \"Contact us\",\r\n About: \"About \",\r\n Additionallinks: \"Additional links \",\r\n infintyAdress:\r\n \"57 Corniche El Maadi, Giza Governorate, Cairo, Cairo Governorate 11431\",\r\n SignIn: \"Sign in \",\r\n viewProfile: \"view profile\",\r\n Notifications: \"Notifications\",\r\n AllRightsReserved: \"All Rights Reserved\"\r\n }\r\n },\r\n contactusRequests: {\r\n requestStatus: \"Request status\",\r\n status: \"Request status\",\r\n requestDetails: \"Request details\",\r\n new: \"New\",\r\n closed: \"Closed\",\r\n close: \"Close\",\r\n needsAction: \"Needs action\",\r\n reply: \"Reply\",\r\n replyHint: \"This reply will be sent directly to customer email\",\r\n commentHint: \"This comment can only be seen by admins\",\r\n replyPlaceholder: \"Write your request reply here\",\r\n requestUpdatedSuccessfully: \"Request status successfully updated\"\r\n },\r\n userProfile: {\r\n ChangePassword: \"Change password\",\r\n NameMin: \"Name min 2 characters\",\r\n NameMax: \"Name max is 12 characters\",\r\n Lastname20Max: \"Last name cannot be longer than 20 characters\",\r\n Firstname20Max: \"First name cannot be longer than 20 characters\",\r\n emailMin: \"Email length must be more than 5 characaters\",\r\n emailMax: \"Email length must be less than 150 characaters\",\r\n pleaseEntername: \"Please enter name\",\r\n minmaxaddress: \"Address must be between 3 and 300 characters\",\r\n Name: \"Name\",\r\n firstName: \"First name\",\r\n lastName: \"Last name\",\r\n pleaseEnterValidmail: \"Please enter valid mail\",\r\n pleaseEntermail: \"please enter mail\",\r\n mail: \"mail\",\r\n Pleaseinputyourphonenumber: \"phonen number must be 11 num\",\r\n pleaseEnteraddress: \"please enter address\",\r\n pleaseSelectGender: \"please select Gender\",\r\n Male: \"Male\",\r\n Female: \"Female\",\r\n ChangePassword: \"Change Password\",\r\n PersonalInfo: \"Personal Info\",\r\n ChangeYourPassword: \"Change your Password\",\r\n Uploadnewpicture: \"Upload new picture\",\r\n address: \"address\",\r\n Currentpassword: \"Current password\",\r\n Newpassword: \"New password\",\r\n Confirmnewpassword: \"Confirm new password\",\r\n CarInfo: \"Electric Car Details\",\r\n CarsInfo: \" Cars Info\",\r\n ArrivalAddress: \"Delivery Address\",\r\n sameashomeaddress: \"Same as home address\",\r\n oneofourcustomers:\r\n \"If you already have an infinity-e account, please sign in first\",\r\n AddmoreCar: \"Add more Car\",\r\n selectUserCar: \"Please select a car\",\r\n Selectcarbrand: \"Select car brand\",\r\n Selectcartype: \"Select car type\",\r\n pleaseEntercarbrand: \"Please enter car brand\",\r\n cartype: \"car type\",\r\n pleaseEntercartype: \"Please enter car type\",\r\n pleaseEnterbetteryrange: \"Please enter battery range\",\r\n Selectabetteryrange: \"Select a bettery range\",\r\n Attachcarlicense: \"Attach car license\",\r\n copyofthecarlicense: \"A copy of the car license\",\r\n oryoucanattachcustomsreleasecertificate:\r\n \"or you can attach customs release certificate\",\r\n Requests: \"Requests\",\r\n NoRequests: \"No requests\",\r\n carInfoAdded: \"car info added successfully\",\r\n carlicenseNeed: \"Please add car license no less than 2 images\",\r\n youwanttocancel: \"Are you sure you want to cancel this request?\",\r\n fillTheForm:\r\n \"Please fill out the form below to order your infinity-e charging card\",\r\n carsUpdated: \"Car info updated successfully\",\r\n deleteCar: \"Delete car\",\r\n carDeleteConfirmation: \"Are you sure you want to delete this car ?\",\r\n Createddate: \"Created date\",\r\n Status: \"Status\",\r\n DeliveryAddress: \"Delivery address\",\r\n Action: \"Action\",\r\n Welcome: \"Welcome\",\r\n foraneasierexperience:\r\n \"For an easier experience make your account better by complete the following data.\",\r\n Continue: \"Continue\",\r\n Skipfornow: \"Skip for now\",\r\n noLicenceSelected: \"Please selected licence images\",\r\n licenseFront: \"Please select license front image\",\r\n licenseBack: \"Please select license back image\",\r\n Wallet: \"Wallet\"\r\n },\r\n contactUs: {\r\n fullName: \"Full name\",\r\n email: \"E-mail\",\r\n RequestDetails: \"Subject\",\r\n PleaseinputyourRequestDetails: \"Please input your Request Details\",\r\n HereToHelp: \"We’re here to help\",\r\n ContactUS: \"Contact us\",\r\n ContactDetails: \"Contact details\",\r\n OpeningHours: \"Opening hours\",\r\n Closed: \"Closed\",\r\n About: \"About\",\r\n Howitworks: \"How it works\",\r\n ChargingStations: \"Charging stations\",\r\n RequestCard: \"EV charging card\",\r\n Additionallinks: \"Additional links\",\r\n AboutUs: \"About us\",\r\n subjectMin: \"Subject length must be at least 20 characters\",\r\n subjectMax: \"Subject maximum length must be 200 characters\",\r\n nameMin: \"Name must be at least 2 characters\",\r\n nameMax: \"Name can't be more than 60 characters\",\r\n dayopen: \"Sunday - Thursday\",\r\n dayclose: \"Friday - Saturday\"\r\n },\r\n notifications: {\r\n loadMore: \"Load more notifications\",\r\n notifications: \"Notifications\",\r\n noNotifications: \"It's all good, you don't have new notifications\",\r\n today: \"Today's\"\r\n },\r\n aboutUs: {\r\n aboutUsPragraph:\r\n \"Infinity-e was established in 2018 with the vision to develop Egypt’s electric vehicle charging network infrastructure. We are working towards creating the most reliable and convenient EV charging network in Egypt. infinity-e is a subsidiary of infinity energy, the leading company in the renewable energy sector in Egypt .\",\r\n Exploremore: \"Explore more\",\r\n Ourstations: \"Our stations\",\r\n OurstationsPragraph1:\r\n \"All infinity-e charging stations are equipped to charge at least 2 electric vehicles simultaneously, while some stations capacitate for up to 6 vehicles. They are equipped with double-socket 22Kw-AC-chargers and fast-charging DC chargers in major stations, providing an output of 50 Kw to charge your electric car up to 125km in 30 minutes. \",\r\n OurstationsPragraph2:\r\n \"All stations confine to EU standards and cater for type 2 charger cables. Alternatively, one can use an adapter cable to connect to the charging station.\",\r\n Our: \"Our\",\r\n Partners: \"Partners\"\r\n },\r\n howItWork: {\r\n How: \"How\",\r\n itworks: \"it works\",\r\n Start: \"Connect\",\r\n StartStep: \"Connect charger cable with car & station.\",\r\n Second: \"Start\",\r\n SecondStep: \"Start charging session by swiping charging card.\",\r\n Third: \"Charge\",\r\n ThirdStep: \"Blue lED light indicates start of charging session.\",\r\n End: \"Charging Complete\",\r\n EndStep:\r\n \"Stop charging session by swiping charging card then removing the cable.\",\r\n RequestCard: \"Charging card\",\r\n Requestcharging:\r\n \"Order a card to be able to charge your car at any infinity-e charging station\",\r\n Search: \"Search\",\r\n Searchlocation: \"Find your nearest Infinity-e charging station here\"\r\n },\r\n signIn: {\r\n WelcomeBack: \"Welcome Back !\",\r\n Tokeepconnected:\r\n \"To keep connected with us please login with your personal info\",\r\n SignIn: \"Sign In\",\r\n SignUp: \"Sign Up\",\r\n HelloFriend: \"Hello, Friend!\",\r\n personaldetails: \"Enter your personal details and start journey with us\",\r\n SignintoInfinity: \"Sign in to infinity\",\r\n Forgotpassword: \" Forgot your password ?\",\r\n haveaccount: \" Don’t have an account?\"\r\n },\r\n courses: {\r\n TodaysCourses: \"Today's Courses\",\r\n more:'More',\r\n Day:'Day',\r\n Week:'Week',\r\n Month:'Month',\r\n All: 'All',\r\n ToDo:'ToDo',\r\n Completed:'Completed',\r\n Draft:'Draft',\r\n NoCoursesAdded :'No Courses Added',\r\n allCourses: 'All Courses',\r\n coursesSubtitle: 'Courses to complete today',\r\n attachments: 'Attatchments',\r\n downloadAll: 'Download All',\r\n },\r\n filtrationBar: {\r\n filter: 'Filter',\r\n subject: 'Subject',\r\n date: 'Date',\r\n courseName: 'Course Name',\r\n subjectPlaceholder: 'Select a subject',\r\n datePlaceholder: 'Select a date',\r\n courseNamePlaceholder: 'Type course name',\r\n allYear: 'All Year',\r\n clear: 'clear',\r\n ResultType:'Result Type',\r\n ResultEvaluation:'Result Evaluation'\r\n },\r\n assigments : {\r\n Assigments : 'Assignments',\r\n Assignment : 'Assignment',\r\n NoAssigmentsAdded : 'No Assignments Added',\r\n Youhave : 'You have ',\r\n NoFeedbackyet : \"No Feedback yet , Complete your assignment first and wait your teacher's feedback\",\r\n SuccessfullyPass : 'Successfully Pass',\r\n assigmentstocompletetoday : ' assignments to complete today',\r\n All : 'All',\r\n ToDo : 'To Do',\r\n Late : 'Late',\r\n Feedback : 'Feedback',\r\n Completed : 'Completed',\r\n Uncomplet : 'Incomplete',\r\n open : 'open',\r\n Feedback : 'Feedback',\r\n ReSubmit : 'Re-Submit',\r\n Teacherfeedback : \"Teacher's feedback\",\r\n TodayAssigments : \"Today's Assignments\",\r\n Applyyourassignmenthere : 'Apply your assignment here..',\r\n AssignmentReply : 'Assignment Reply',\r\n doesntmatchtherequirement : \"doesn't match the requirement.\",\r\n endDate: 'End Date',\r\n question: 'Question',\r\n degree: 'Degree',\r\n of: 'of',\r\n inProgress:'in Progress' \r\n\r\n }, \r\n exams:{\r\n exams:'Exams',\r\n headerSubtitle:'exams to complete today',\r\n all : 'All',\r\n toDo : 'To Do',\r\n upComing: 'Up Coming',\r\n previous: 'Previous',\r\n online: 'Online',\r\n printed: 'Printed',\r\n hours: 'Hours',\r\n hour: 'Hour',\r\n questions: 'Questions',\r\n startExam: 'Start Exam',\r\n instructions: 'Instructions',\r\n daysLeft: 'Days Left',\r\n Beforeyoubegin: 'Before you begin',\r\n Themaximumtime: 'The maximum time that allowed to Access the exam after the start time .',\r\n Theresnooption: \"There's no option to pause. Make sure you will not be interrupted for\",\r\n Ifyouaccidentallyclose: 'If you accidentally close your browser, use the invitation link to get back to your test.',\r\n Hintyoucanuse : 'Hint: you can use your own IDE and use copy-paste, but make sure your solution compiles in Scholigit Test environment.',\r\n HowtouseitInstruction: 'How to use it : Instruction and Tips',\r\n minutes: 'minutes',\r\n Hours: 'Hours',\r\n StartTime: 'Start Time',\r\n EndTime: 'End Time',\r\n ExamDuration: 'Exam Duration',\r\n NQuestions: 'N. Questions',\r\n Questions: 'Questions',\r\n Accessibilitytime: 'Accessibility time',\r\n FromstartingTimeTill: 'From starting Time Till',\r\n checkTipNumberbelow: 'check Tip Number 1 below',\r\n noExamsFound: 'No Exams Found',\r\n under: 'Under',\r\n correction: 'Correction',\r\n underCorrection: 'Under Correction',\r\n totalDegree:'Degrees' ,\r\n final:'Final Exam',\r\n midterm:'Midterm Exam',\r\n monthly:'Monthly Exam',\r\n examTitle:'Exam Title',\r\n examType:'Exam Type',\r\n subject:'Subject',\r\n start:'Start',\r\n end:'End',\r\n\r\n },\r\n Results:{\r\n Results:'Results',\r\n withinthetotal:'within the total',\r\n Outoftotal:'Out of total',\r\n Excellent:'Excellent',\r\n VGood:'V.Good',\r\n Good:'Good',\r\n Congratulations:'Congratulations',\r\n successfullypassed:', You are successfully passed and transferred to the next Grade.',\r\n LatestResults:'Latest Results',\r\n Archive:'Archive',\r\n NoResultsfoundyet:'No Results found yet',\r\n Yourresultswillappearhere:'Your results will appear here once the correction is over',\r\n MoreDetails:'More Details'\r\n },\r\n exam: {\r\n Exam: 'Exam',\r\n Class: 'Class',\r\n startExam: 'Start Exam',\r\n continueExam: 'Continue Exam',\r\n finishExam: 'Finish Exam',\r\n next: 'Next',\r\n previous: 'Previous',\r\n FinishExam: 'Finish Exam',\r\n solved: 'Solved',\r\n NotSolved: 'Not Solved',\r\n MarkForReview: 'Mark For Review',\r\n minutes: 'minutes',\r\n Hours: 'Hours',\r\n StartTime: 'Start Time',\r\n EndTime: 'End Time',\r\n ExamDuration: 'Exam Duration',\r\n NQuestions: 'N. Questions',\r\n Questions: 'Questions',\r\n Accessibilitytime: 'Accessibility time',\r\n FromstartingTimeTill: 'From starting Time Till',\r\n checkTipNumberbelow: 'check Tip Number 1 below',\r\n Beforeyoubegin: 'Before you begin',\r\n Themaximumtime: 'The maximum time that allowed to Access the exam after the start time .',\r\n Theresnooption: \"There's no option to pause. Make sure you will not be interrupted for\",\r\n Ifyouaccidentallyclose: 'If you accidentally close your browser, use the invitation link to get back to your test.',\r\n Hintyoucanuse : 'Hint: you can use your own IDE and use copy-paste, but make sure your solution compiles in Scholigit Test environment.',\r\n HowtouseitInstruction: 'How to use it : Instruction and Tips',\r\n Areyouready: 'Are you ready ?',\r\n Theexamisnotvalidanymore : 'The exam is not valid anymore',\r\n ThisexamURLisnotvalidanymore : 'Oops! This exam URL is not valid anymore, It is for one use only',\r\n GoToExamsPage : 'Go To Exams Page',\r\n question: 'Question',\r\n point: 'Point',\r\n MultiChoise : 'Multi Choice',\r\n SingleChoise : 'Single Choice',\r\n Written : 'Paragraph ',\r\n Trueorfalse : 'True or false',\r\n true : 'True',\r\n false : 'False',\r\n connect: 'Connect',\r\n rearrange: 'Re-arrange',\r\n complete: 'Complete',\r\n wellDone: 'Well Done',\r\n youDidGreat: 'You did great',\r\n yourResult: 'Your result',\r\n done: 'Done',\r\n examSubmitted: 'Your Answers have been submitted',\r\n waitForCorrection: 'Wait for the correction to finish for the exam and you will be notified of the result soon upon completion',\r\n keepInMind: \"Keep in mind that when you click on 'Finish' , that's mean that you have finished your exam and can't refer to your answers again.\",\r\n TextAreaTypeAnswer:'Type your answer here...',\r\n showAnswer: 'Show Answer' ,\r\n selectAnswerFirst:'Please answer the question first',\r\n questionQ:'Q'\r\n\r\n },\r\n timeline: {\r\n addPhoto: 'Add Photo',\r\n addVideo: 'Add Video',\r\n Photo: 'Photo',\r\n Video: 'Video',\r\n File: 'File',\r\n post: 'Post',\r\n TimeLine: 'TimeLine',\r\n Calender: 'Calender',\r\n Attendens: 'Attendens',\r\n TimeTable: 'TimeTable',\r\n HomeWork: 'Home Work',\r\n Exam: 'Exam',\r\n createTagline: 'What’s happening in your classroom?',\r\n captionRequired: 'Story caption is required',\r\n postCreatedSuccessfully: 'Post created successfully',\r\n writeyourmessagehere: \"write your message here…\",\r\n WholeClass: 'Whole Class',\r\n SetHomework: 'Set Homework',\r\n Cancel: 'Cancel',\r\n cropImage: 'Crop selected image',\r\n crop: 'Crop',\r\n imageSize: 'Image size must be less than 10 MB',\r\n videoSize: 'Video size must be less than 200 MB',\r\n invalidFormat: 'Please select a valid image or video type',\r\n invalidWidth: 'Image width must be more than 400 pixel',\r\n invalidHeight: 'Image height must be more than 400 pixel',\r\n limitExceeded: \"You can't select more than 20 files\",\r\n invalidImages: 'files are invalid',\r\n DropToUpload: 'Drop files here to upload',\r\n Upload: 'Upload',\r\n },\r\n calendar: {\r\n day: 'Day',\r\n week: 'Week',\r\n month: 'Month',\r\n calendar: 'Calendar',\r\n youHave: 'You have',\r\n remainingTasks: 'remaining tasks',\r\n HomeWork:'HomeWork',\r\n OnlineSession:'Online Classroom',\r\n TimeTable:'Timetable',\r\n Solve:'Solve',\r\n Join:'Join',\r\n Ended:'Ended'\r\n },\r\n todoList:{\r\n todoList:'To Do List',\r\n TimeTable:'TimeTable',\r\n HomeWork:'Home Work',\r\n ClassOnline:'Class Online',\r\n Time:'Time',\r\n Title:'Title',\r\n Topic:'Topic',\r\n Subject:'Subject',\r\n Teacher:'Teacher',\r\n Status:'Status',\r\n StartTime:'Start',\r\n DueTime:'Due',\r\n Done:'Done',\r\n InProgress:'In Progress',\r\n Join:'Join',\r\n TimeRemining:'Time Remining',\r\n Solve:'Solve Homework',\r\n empty:'Sorry, there are no todos for this day',\r\n YouHave:'You Have',\r\n Coursestocompletetoday:'Courses to complete today',\r\n to:'To',\r\n Details:'Details',\r\n Completed:'Completed',\r\n Type:'Type',\r\n OnlineSession:'Online Session'\r\n},\r\n timetable : {\r\n Satarday : 'Satarday',\r\n Sunday : 'Sunday',\r\n Monday : 'Monday',\r\n Teusday :'Teusday',\r\n Wednesday : 'Wednesday',\r\n Thursday : 'Thursday',\r\n Session :'Session',\r\n Sessions : 'Sessions',\r\n },\r\n onlineSessions :{\r\n OnlineSessions:'Online Sessions',\r\n Courses:'Courses',\r\n General:'General',\r\n OnlineSessionTitle:'Session Title',\r\n Teacher:'Teacher',\r\n Subject:'Subject',\r\n Chapter:'Chapter',\r\n Topic:'Topic',\r\n Date :'Date ',\r\n Details:'Details',\r\n Status:'Status',\r\n EmptyText:'Oops , there are No Online Sessions ',\r\n Started:'Started',\r\n Scheduled:'Scheduled',\r\n Ended:'Ended',\r\n Join:'Join',\r\n TimeRemaining:'Time Remaining',\r\n Done:'Done',\r\n Cancel:'Cancel',\r\n onlineSession: 'Online Session',\r\n notStarted: 'Session has not started yet',\r\n emptyFiles: 'There are no files in this session',\r\n processing: 'Processing...',\r\n general: 'General',\r\n All:'All'\r\n\r\n }\r\n};\r\n","import {\r\n\tAUTH_LOGIN,\r\n\tAUTH_CHECK,\r\n\tAUTH_LOGOUT,\r\n\tSET_LOCALE,\r\n\tUPDATE_CONNECTION_STATUS,\r\n} from \"./action-types\";\r\nimport { en } from \"../../../resources/en\";\r\nimport { ar } from \"../../../resources/ar\";\r\nimport { urdu } from \"../../../resources/urdu\";\r\nimport { pa } from \"../../../resources/pa\";\r\n\r\n/**\r\n * Module internal initial state\r\n */\r\nconst initialState = {\r\n\tisAuthenticated: false,\r\n\ttoken: null,\r\n\trefreshToken: null,\r\n\ttoken_expiry: null,\r\n\tuserRoles: null,\r\n\tcurrentLocale: null,\r\n\tcurrentResource: null,\r\n\tconnectionStatus: false,\r\n\tuser: {},\r\n\tuserType: null,\r\n};\r\n\r\n/**\r\n * Check dispatched action and update state accordingly\r\n * @param {Object} state\r\n * @param {Object} action\r\n * @returns {Function}\r\n */\r\n\r\nconst reducer = (state = initialState, { type, payload = null }) => {\r\n\tswitch (type) {\r\n\t\tcase AUTH_LOGIN:\r\n\t\t\treturn login(state, payload);\r\n\t\tcase AUTH_CHECK:\r\n\t\t\treturn checkAuth(state);\r\n\t\tcase AUTH_LOGOUT:\r\n\t\t\treturn logout(state);\r\n\t\tcase SET_LOCALE:\r\n\t\t\treturn setLocale(state, payload);\r\n\t\tcase UPDATE_CONNECTION_STATUS:\r\n\t\t\treturn updateConnectionStatus(state, payload);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\n\r\nfunction login(state, payload) {\r\n\twindow.sessionStorage.setItem(\"access_token\", payload.token);\r\n\twindow.sessionStorage.setItem(\"_ut\", JSON.stringify(payload.userType));\r\n\twindow.sessionStorage.setItem(\r\n\t\t\"roles\",\r\n\t\tJSON.stringify(payload.roles ? payload.roles : [])\r\n\t);\r\n\twindow.sessionStorage.setItem(\"refreshToken\", payload.refreshToken);\r\n\twindow.sessionStorage.setItem(\"token_expiry\", payload.token_expiry);\r\n\tif (payload.rememberMe) {\r\n\t\tlocalStorage.setItem(\"access_token\", payload.token);\r\n\t\tlocalStorage.setItem(\r\n\t\t\t\"roles\",\r\n\t\t\tJSON.stringify(payload.roles ? payload.roles : [])\r\n\t\t);\r\n\t\tlocalStorage.setItem(\"_ut\", JSON.stringify(payload.userType));\r\n\t\tlocalStorage.setItem(\"refreshToken\", payload.refreshToken);\r\n\t\tlocalStorage.setItem(\"token_expiry\", payload.token_expiry);\r\n\t}\r\n\treturn {\r\n\t\t...state,\r\n\t\tisAuthenticated: true,\r\n\t\ttoken: payload.token,\r\n\t\tuserRoles: payload.roles,\r\n\t\trefreshToken: payload.refreshToken,\r\n\t\ttoken_expiry: payload.token_expiry,\r\n\t\tuser: payload.user,\r\n\t};\r\n}\r\n\r\nfunction checkAuth(state) {\r\n\tstate = Object.assign({}, state, {\r\n\t\tisAuthenticated:\r\n\t\t\t!!localStorage.getItem(\"access_token\") ||\r\n\t\t\t!!window.sessionStorage.getItem(\"access_token\"),\r\n\t\ttoken: localStorage.getItem(\"access_token\")\r\n\t\t\t? localStorage.getItem(\"access_token\")\r\n\t\t\t: window.sessionStorage.getItem(\"access_token\"),\r\n\t\tuserRoles:\r\n\t\t\tlocalStorage.getItem(\"roles\") !== undefined\r\n\t\t\t\t? JSON.parse(localStorage.getItem(\"roles\"))\r\n\t\t\t\t: JSON.parse(window.sessionStorage.getItem(\"roles\")),\r\n\t\tuser:\r\n\t\t\tlocalStorage.getItem(\"user\") !== undefined\r\n\t\t\t\t? JSON.parse(localStorage.getItem(\"user\"))\r\n\t\t\t\t: JSON.parse(window.sessionStorage.getItem(\"user\")),\r\n\t});\r\n\r\n\treturn state;\r\n}\r\n\r\nfunction logout(state) {\r\n\twindow.sessionStorage.removeItem(\"access_token\");\r\n\twindow.sessionStorage.removeItem(\"roles\");\r\n\twindow.sessionStorage.removeItem(\"refreshToken\");\r\n\twindow.sessionStorage.removeItem(\"token_expiry\");\r\n\twindow.sessionStorage.removeItem(\"user\");\r\n\twindow.sessionStorage.removeItem(\"userid\");\r\n\twindow.sessionStorage.removeItem(\"_ut\");\r\n\tlocalStorage.removeItem(\"access_token\");\r\n\tlocalStorage.removeItem(\"roles\");\r\n\tlocalStorage.removeItem(\"refreshToken\");\r\n\tlocalStorage.removeItem(\"token_expiry\");\r\n\tlocalStorage.removeItem(\"user\");\r\n\tlocalStorage.removeItem(\"_ut\");\r\n\tlocalStorage.removeItem(\"_ft\");\r\n\tlocalStorage.removeItem(\"sidebarState\");\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\tisAuthenticated: false,\r\n\t\ttoken: null,\r\n\t\tuserRole: null,\r\n\t};\r\n}\r\n\r\nfunction setLocale(state, payload) {\r\n\treturn {\r\n\t\t...state,\r\n\t\tcurrentLocale: payload,\r\n\t\tcurrentResource:\r\n\t\t\tpayload === \"english\"\r\n\t\t\t\t? en\r\n\t\t\t\t: payload === \"ar\"\r\n\t\t\t\t? ar\r\n\t\t\t\t: payload === \"urdu\"\r\n\t\t\t\t? urdu\r\n\t\t\t\t: pa,\r\n\t};\r\n}\r\n\r\nfunction updateConnectionStatus(state, payload) {\r\n\treturn {\r\n\t\t...state,\r\n\t\tconnectionStatus: payload,\r\n\t};\r\n}\r\n\r\nexport default reducer;\r\n","import {\r\n\tSET_LOCALE,\r\n\tUPDATE_CONNECTION_STATUS,\r\n\tLIST_USER_NOTIFICATIONS,\r\n\tSET_NOTIFICATION_STATUS,\r\n\tPREPEND_NEW_NOTIFICATION,\r\n\tSET_NOTIFICATIONS_COUNTER,\r\n\tLOG_EVENT,\r\n\tRESET_LOGS,\r\n\tUPDATE_EVENT_DURATION,\r\n} from \"./action-types\";\r\nimport { en } from \"../../../resources/en\";\r\nimport { ar } from \"../../../resources/ar\";\r\nimport { urdu } from \"../../../resources/urdu\";\r\nimport { pa } from \"../../../resources/pa\";\r\n\r\n/**\r\n * Module internal initial state\r\n */\r\nconst initialState = {\r\n\tcurrentLocale: null,\r\n\tcurrentResource: null,\r\n\tconnectionStatus: false,\r\n\tcurrentDirection: null,\r\n\tnotificationsList: [],\r\n\tnotificationsCount: 0,\r\n\tevents: [],\r\n};\r\n\r\n/**\r\n * Check dispatched action and update state accordingly\r\n * @param {Object} state\r\n * @param {Object} action\r\n * @returns {Function}\r\n */\r\n\r\nconst reducer = (state = initialState, { type, payload = null }) => {\r\n\tswitch (type) {\r\n\t\tcase SET_LOCALE:\r\n\t\t\treturn setLocale(state, payload);\r\n\t\tcase UPDATE_CONNECTION_STATUS:\r\n\t\t\treturn updateConnectionStatus(state, payload);\r\n\t\tcase LIST_USER_NOTIFICATIONS:\r\n\t\t\treturn setNotificationsList(state, payload);\r\n\t\tcase SET_NOTIFICATION_STATUS:\r\n\t\t\treturn setNotificationStatus(state, payload);\r\n\t\tcase PREPEND_NEW_NOTIFICATION:\r\n\t\t\treturn addNewNotification(state, payload);\r\n\t\tcase SET_NOTIFICATIONS_COUNTER:\r\n\t\t\treturn setNotificationsCounter(state, payload);\r\n\t\tcase LOG_EVENT:\r\n\t\t\treturn logEvent(state, payload);\r\n\t\tcase UPDATE_EVENT_DURATION:\r\n\t\t\treturn updateEventDuration(state, payload);\r\n\t\tcase RESET_LOGS:\r\n\t\t\twindow.localStorage.setItem(\"events\", []);\r\n\t\t\treturn { ...state, events: [] };\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\n\r\nfunction setLocale(state, payload) {\r\n\tlocalStorage.setItem(\"currentLocale\", payload);\r\n\treturn {\r\n\t\t...state,\r\n\t\tcurrentLocale: payload,\r\n\t\tcurrentResource:\r\n\t\t\tpayload === \"english\"\r\n\t\t\t\t? en\r\n\t\t\t\t: payload === \"ar\"\r\n\t\t\t\t? ar\r\n\t\t\t\t: payload === \"urdu\"\r\n\t\t\t\t? urdu\r\n\t\t\t\t: pa,\r\n\t\tcurrentDirection: payload === \"en\" ? \"ltr\" : \"rtl\",\r\n\t};\r\n}\r\n\r\nfunction updateConnectionStatus(state, payload) {\r\n\treturn {\r\n\t\t...state,\r\n\t\tconnectionStatus: payload,\r\n\t};\r\n}\r\n\r\nfunction setNotificationsList(state, payload) {\r\n\treturn {\r\n\t\t...state,\r\n\t\tnotificationsList: payload.list,\r\n\t};\r\n}\r\n\r\nfunction setNotificationStatus(state, payload) {\r\n\tlet index;\r\n\tlet notificationsList = state.notificationsList;\r\n\tfor (const prop in notificationsList) {\r\n\t\tif (prop === payload.key) {\r\n\t\t\tindex = notificationsList[prop].findIndex(\r\n\t\t\t\t(notification) => notification.notificationID === payload.id\r\n\t\t\t);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tnotificationsList[prop][index].isSeen = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn {\r\n\t\t...state,\r\n\t\tnotificationsList,\r\n\t\tnotificationsCount: state.notificationsCount - 1,\r\n\t};\r\n}\r\n\r\nfunction addNewNotification(state, payload) {\r\n\tlet notificationsList = state.notificationsList;\r\n\tfor (const date in notificationsList) {\r\n\t\tif (payload.incomingDate === date) {\r\n\t\t\tconsole.log(date);\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\tnotificationsCount: state.notificationsCount + 1,\r\n\t};\r\n}\r\n\r\nfunction setNotificationsCounter(state, payload) {\r\n\treturn {\r\n\t\t...state,\r\n\t\tnotificationsCount: payload,\r\n\t};\r\n}\r\n\r\nfunction logEvent(state, payload) {\r\n\tlet eventIndex = state.events.findIndex(\r\n\t\t(ev) => ev.data.id === payload.data.id\r\n\t);\r\n\tif (eventIndex === -1) {\r\n\t\twindow.localStorage.setItem(\"events\", JSON.stringify(state.events));\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tevents: [...state.events, payload],\r\n\t\t};\r\n\t} else {\r\n\t\treturn state;\r\n\t}\r\n}\r\n\r\nfunction updateEventDuration(state, payload) {\r\n\tlet eventIndex = state.events.findIndex((ev) => ev.data.id === payload);\r\n\tlet events = state.events;\r\n\tif (eventIndex > -1) {\r\n\t\tevents[eventIndex].data.duration++;\r\n\t}\r\n\twindow.localStorage.setItem(\"events\", JSON.stringify(state.events));\r\n\treturn {\r\n\t\t...state,\r\n\t\tevents,\r\n\t};\r\n}\r\n\r\nexport default reducer;\r\n","import { combineReducers } from 'redux'\r\nimport auth from '../modules/Authintication/store/reducer'\r\nimport common from '../modules/Common/store/reducer'\r\nimport dashboard from '../modules/Dashboard/store/reducer'\r\n\r\nexport default combineReducers({ auth, common, dashboard })\r\n","import { SET_LOCALE } from \"../../modules/Common/store/action-types\";\r\nimport moment from 'moment'\r\nimport 'moment/locale/ar'\r\nimport 'moment/locale/en-ca'\r\n\r\n/** NOT USED */\r\nfunction appendStylesheet(fileName, callback) {\r\n\r\n var styles = document.head.getElementsByTagName('style');\r\n var head = document.head;\r\n var link = document.createElement(\"link\");\r\n link.type = \"text/css\";\r\n link.rel = \"stylesheet\";\r\n link.href = fileName;\r\n \r\n head.insertBefore(link, styles[0]);\r\n\r\n setTimeout(() => {\r\n callback()\r\n }, 150)\r\n\r\n}\r\n/** NOT USED */\r\nfunction removeStylesheet(fileName){\r\n var stylesheet = document.querySelector(`link[href='${fileName}']`);\r\n if(stylesheet){\r\n document.head.removeChild(stylesheet)\r\n }\r\n}\r\n\r\nconst switchDirectionMiddleware = store => next => async (action) => {\r\n \r\n if(action.type === SET_LOCALE){\r\n if(action.payload === 'english'){\r\n document.body.classList.remove('rtl')\r\n document.querySelector(\"html\").setAttribute(\"lang\", \"en\")\r\n moment.locale('en-ca')\r\n }\r\n else {\r\n document.body.classList.add('rtl')\r\n document.querySelector(\"html\").setAttribute(\"lang\", \"ar\")\r\n moment.locale('ar')\r\n }\r\n }\r\n \r\n return next(action);\r\n};\r\n\r\nexport default switchDirectionMiddleware;","import storeConfig from './config'\r\n\r\nexport default storeConfig()\r\n","/**\r\n * Main store function\r\n */\r\nimport { createStore, applyMiddleware, compose } from 'redux'\r\nimport thunk from 'redux-thunk'\r\nimport rootReducer from './reducers'\r\n// import signalRMiddleware from './middlewares/signalR';\r\nimport switchDirectionMiddleware from './middlewares/switchDirection';\r\n\r\nexport default function (initialState = {}) {\r\n // Middleware and store enhancers\r\n const enhancers = [\r\n applyMiddleware(thunk),\r\n // applyMiddleware(signalRMiddleware),\r\n applyMiddleware(switchDirectionMiddleware)\r\n ]\r\n \r\n if (process.env.NODE_ENV !== 'production') {\r\n window.__REDUX_DEVTOOLS_EXTENSION__ && enhancers.push(window.__REDUX_DEVTOOLS_EXTENSION__())\r\n }\r\n \r\n const store = createStore(rootReducer, initialState, compose(...enhancers))\r\n \r\n // For hot reloading reducers\r\n if (module.hot) {\r\n // Enable Webpack hot module replacement for reducers\r\n module.hot.accept('./reducers', () => {\r\n const nextReducer = require('./reducers').default // eslint-disable-line global-require\r\n store.replaceReducer(nextReducer)\r\n })\r\n }\r\n \r\n return store\r\n}\r\n","import React from 'react'\r\nimport Loadable from 'react-loadable'\r\nimport { Spin } from 'antd';\r\nimport LoadingIndicator from '../Common/components/LoadingIndicator/LoadingIndicator';\r\n\r\n/**\r\n * Defines module routes, you can use react-router-dom route parameters\r\n * as properties in each object in routes array for example \"exact: true\"\r\n * \r\n * Each route lazy loads a component if its path matches the current path. \r\n */\r\n \r\nconst routes = [\r\n {\r\n path: '/Signin',\r\n exact: true,\r\n component: Loadable({\r\n loader: () => import('./components/Login/Login'),\r\n loading: () => ()\r\n })\r\n },\r\n\r\n {\r\n path: '/ForgetPassword',\r\n exact: true,\r\n component: Loadable({\r\n loader: () => import('./components/ForgetPassword/ForgetPassword'),\r\n loading: () => ()\r\n })\r\n },\r\n\r\n]\r\n\r\nexport default routes","import React from 'react'\r\nimport Loadable from 'react-loadable'\r\nimport LoadingIndicator from '../Common/components/LoadingIndicator/LoadingIndicator'\r\n\r\n/**\r\n * Defines module routes, you can use react-router-dom route parameters\r\n * as properties in each object in routes array for example \"exact: true\"\r\n * \r\n * Each route lazy loads a component if its path matches the current path. \r\n */\r\n\r\nconst routes = [\r\n {\r\n path: '/Error404',\r\n component: Loadable({\r\n loader: () => import('./components/Error404/Error404'),\r\n loading: () => ()\r\n })\r\n },\r\n {\r\n path: '/Error401',\r\n component: Loadable({\r\n loader: () => import('./components/Error401/Error401'),\r\n loading: () => ()\r\n })\r\n },\r\n {\r\n path: '/Error403',\r\n component: Loadable({\r\n loader: () => import('./components/Error403/Error403'),\r\n loading: () => ()\r\n })\r\n },\r\n {\r\n path: '/Error505',\r\n component: Loadable({\r\n loader: () => import('./components/Error505/Error505'),\r\n loading: () => ()\r\n })\r\n },\r\n]\r\n\r\nexport default routes","import React from 'react'\r\nimport Loadable from 'react-loadable'\r\nimport LoadingIndicator from '../Common/components/LoadingIndicator/LoadingIndicator'\r\n\r\n\r\nconst routes = [\r\n {\r\n path: '/resetPassword',\r\n component: Loadable({\r\n loader: () => import('./components/ResetPassword/ResetPassword'),\r\n loading: () => ()\r\n })\r\n },\r\n {\r\n path: '/signInForget',\r\n component: Loadable({\r\n loader: () => import('./components/SigninForget/SigninForget'),\r\n loading: () => ()\r\n })\r\n },\r\n\r\n {\r\n path: '/resetPasswordDone',\r\n component: Loadable({\r\n loader: () => import('./components/ResetDone/ResetDone'),\r\n loading: () => ()\r\n })\r\n },\r\n\r\n {\r\n path: '/linkExpired',\r\n component: Loadable({\r\n loader: () => import('./components/LinkExpired/LinkExpired'),\r\n loading: () => ()\r\n })\r\n },\r\n\r\n]\r\n\r\nexport default routes","import React from 'react'\r\nimport Loadable from 'react-loadable'\r\nimport LoadingIndicator from '../Common/components/LoadingIndicator/LoadingIndicator'\r\n\r\n\r\n/**\r\n * Defines module routes, you can use react-router-dom route parameters\r\n * as properties in each object in routes array for example \"exact: true\"\r\n * \r\n * Each route lazy loads a component if its path matches the current path. \r\n */\r\n\r\nconst routes = [\r\n {\r\n path: '/ForgetSignin',\r\n component: Loadable({\r\n loader: () => import('./components/SignIn/SignIn'),\r\n loading: () => ()\r\n })\r\n },\r\n {\r\n path: '/timed-out',\r\n component: Loadable({\r\n loader: () => import('./components/Timer/Timer'),\r\n loading: () => ()\r\n })\r\n },\r\n\r\n\r\n]\r\n\r\nexport default routes","import React from 'react'\r\nimport Loadable from 'react-loadable'\r\nimport LoadingIndicator from '../Common/components/LoadingIndicator/LoadingIndicator'\r\n\r\n/**\r\n * Defines module routes, you can use react-router-dom route parameters\r\n * as properties in each object in routes array for example \"exact: true\"\r\n * \r\n * Each route lazy loads a component if its path matches the current path. \r\n */\r\n\r\nconst routes = [\r\n {\r\n path: '/quiz/:id',\r\n isAuth: true,\r\n allowedRoles: [],\r\n component: Loadable({\r\n loader: () => import('../Exam/views/ExamContainer/ExamContainer'),\r\n loading: () => ()\r\n })\r\n },\r\n\r\n]\r\n\r\nexport default routes","import DashboardRouts from '../modules/Dashboard/routes'\r\nimport SigninRouts from '../modules/Authintication/routes' \r\nimport Errors from '../modules/Errors/routes'\r\nimport MassageScreens from '../modules/MassageScreens/routes'\r\nimport Settings from '../modules/Settings/routes'\r\nimport exams from '../modules/Exam/routes'\r\n\r\nexport default [...DashboardRouts,...SigninRouts,...Errors,...MassageScreens,...Settings, ...exams]\r\n","import * as firebase from \"firebase/app\";\r\nimport \"firebase/messaging\";\r\n\r\nvar firebaseConfig = {\r\n apiKey: \"AIzaSyD45pqBTY1wlSUJquEtPZraInR2XlRduE8\",\r\n authDomain: \"infinitye-266015.firebaseapp.com\",\r\n databaseURL: \"https://infinitye-266015.firebaseio.com\",\r\n projectId: \"infinitye-266015\",\r\n storageBucket: \"infinitye-266015.appspot.com\",\r\n messagingSenderId: \"911107012736\",\r\n appId: \"1:911107012736:web:147864e0634f6f74a94e65\"\r\n}\r\n\r\nvar messaging\r\n\r\nif(!firebase.messaging.isSupported()){\r\n messaging = null\r\n console.log('Your browser does not support push notifications')\r\n}\r\nelse {\r\n const initializedFirebaseApp = firebase.initializeApp(firebaseConfig)\r\n messaging = initializedFirebaseApp.messaging();\r\n messaging.usePublicVapidKey(\r\n \"BPVejBNXhk0_k-sFk2EX-l3J84nsxS4ABWQVN-t4F4y72_zHV3HQuzkdW-PM3boYI-JL4t0QwZ3OTC3RjTZ4oBA\"\r\n );\r\n\r\n}\r\n\r\nexport { messaging }","import React, { useEffect, useState } from 'react'\r\nimport { BrowserRouter as Router, Switch, Route, Redirect } from 'react-router-dom'\r\nimport { useLocation } from \"react-router-dom\"\r\nimport routes from './routes';\r\nimport { notification } from \"antd\";\r\nimport {messaging} from '../resources/firebase.js' \r\nimport {createBrowserHistory} from 'history'\r\nimport {connect} from 'react-redux'\r\nimport ReactGA from \"react-ga\";\r\nimport Error404 from '../modules/Errors/components/Error404/Error404';\r\nimport { setDeviceToken } from '../modules/Common/service';\r\nimport store from '../store';\r\nimport { prependNewNotification } from '../modules/Common/store/actions';\r\nimport moment from 'moment';\r\nimport notificationSound from '../resources/notification-sound.mp3'\r\n\r\nconst history = createBrowserHistory()\r\n\r\nhistory.listen(location => {\r\n\tReactGA.set({ page: location.pathname })\r\n\tReactGA.pageview(location.pathname)\r\n})\r\n\r\n/**\r\n * Detects if user is idle within a specific amout of ms\r\n * @param {*} ms \r\n * @param {*} cb \r\n */\r\nfunction detectIdle(ms, cb) {\r\n var wait = setTimeout(cb, ms);\r\n document.onfocus = document.onmousedown = document.onmouseenter = document.onmouseleave = document.onkeydown = document.onkeypress = document.onkeyup = function (e) {\r\n\t\tclearTimeout(wait);\r\n wait = setTimeout(cb, ms);\r\n\t};\r\n\tdocument.addEventListener(\"visibilitychange\", function() {\r\n\t\tif(document.hidden){\r\n\t\t\tclearTimeout(wait);\r\n\t\t}\r\n\t})\r\n}\r\n\r\n/**\r\n * Returns a public component\r\n * @param {Object} props \r\n */\r\n\r\nconst PublicRoute = ({ isAuthenticated, component: Component, ...rest}) => {\r\n\tconst { pathname } = useLocation();\r\n\tuseEffect(() => {\r\n\t\tdocument.body.scrollTop = 0\r\n\t\tReactGA.pageview(window.location.pathname)\r\n\t}, [pathname])\r\n\treturn ( ()} />)\t\t\r\n\r\n}\r\n\r\n/**\r\n * Returns a private component if user is authenticated and have sufficient permissions\r\n * @param {Object} props \r\n */\r\nconst PrivateRoute = ({ component: Component, isAuthenticated, roles, ...rest }) => {\r\n\tconst [isIdle, setIdleState] = useState(false);\r\n\tconst { pathname } = useLocation();\r\n\tuseEffect(() => {\r\n\t\tdocument.addEventListener(\"visibilitychange\", function() {\r\n\t\t\tif (!document.hidden){\r\n\t\t\t\tdetectIdle(1800000, function () {\r\n\t\t\t\t\tsetIdleState(true)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t})\r\n\t\tdocument.body.scrollTop = 0\r\n\t\tReactGA.pageview(window.location.pathname)\r\n\t}, [pathname])\r\n\r\n\t\r\n\treturn (\r\n\t\t (\r\n\t\t\t!isIdle ? (isAuthenticated\r\n\t\t\t\t? (\r\n\t\t\t\t\t(roles ? rest.allowedRoles.every(role => roles.indexOf(role) > -1) : true) ? \r\n\t\t\t\t\t : \r\n\t\t\t\t)\r\n\t\t\t\t: ) : \r\n\t\t)} />\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst Routes = ({isAuthenticated, roles}) => {\r\n\treturn (\r\n\t\r\n\t\t\r\n\t\t\t{routes.map((route, i) => {\r\n\t\t\tif(route.isAuth){\r\n\t\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\treturn( )\r\n\t\t\t})}\r\n\t\t\t\r\n\t\t\r\n\t\r\n)}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n isAuthenticated: state.auth.isAuthenticated,\r\n roles: state.auth.userRoles\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps)(Routes)\r\n","import React, { Component } from \"react\";\r\nimport { Provider } from \"react-redux\";\r\nimport \"./App.css\";\r\nimport \"./styelSheets/antd.css\";\r\nimport \"./styelSheets/css/style.css\";\r\nimport store from \"./store\";\r\nimport Routes from \"./routes/index\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport \"./styelSheets/sass/style.css\";\r\n\r\nimport {\r\n\tlogEvent,\r\n\tresetLogs,\r\n\tsetLocale,\r\n\tupdateEventDuration,\r\n} from \"./modules/Common/store/actions\";\r\nimport { authCheck, authLogin } from \"./modules/Authintication/store/actions\";\r\nimport CacheReset from \"./CacheReset\";\r\nimport { Spin } from \"antd\";\r\nimport LoadingIndicator from \"./modules/Common/components/LoadingIndicator/LoadingIndicator\";\r\nimport { loginAs, sendEvents } from \"./modules/Common/service\";\r\nimport { getStudentDetails } from \"./modules/Dashboard/service\";\r\nimport BaseComponent from \"./modules/Common/components/BaseComponent/BaseComponent\";\r\n\r\nstore.dispatch(authCheck());\r\nstore.dispatch(\r\n\tsetLocale(\r\n\t\tlocalStorage.getItem(\"currentLocale\") !== null\r\n\t\t\t? localStorage.getItem(\"currentLocale\")\r\n\t\t\t: \"english\"\r\n\t)\r\n);\r\nsessionStorage.setItem(\"currentPage\", 1);\r\n\r\nclass App extends BaseComponent {\r\n\tstate = {\r\n\t\tloading: true,\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\tif (\"scrollRestoration\" in window.history) {\r\n\t\t\twindow.history.scrollRestoration = \"manual\";\r\n\t\t}\r\n\t\tif (this.parseQuerstring(window.location.search.substr(1)).id) {\r\n\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\"access_token\",\r\n\t\t\t\tthis.parseQuerstring(window.location.search.substr(1)).token\r\n\t\t\t);\r\n\t\t\tthis.loginAsStudent(\r\n\t\t\t\twindow.location.search.substr(1).type,\r\n\t\t\t\twindow.location.search.substr(1).targetID\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.setState({\r\n\t\t\t\tloading: false,\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.navigateToType();\r\n\t\tsetInterval(() => {\r\n\t\t\tlet events;\r\n\t\t\ttry {\r\n\t\t\t\tevents = JSON.parse(\r\n\t\t\t\t\twindow.localStorage.getItem(\"events\")\r\n\t\t\t\t\t\t? window.localStorage.getItem(\"events\")\r\n\t\t\t\t\t\t: {}\r\n\t\t\t\t);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tevents = [];\r\n\t\t\t}\r\n\t\t\tlet body = {\r\n\t\t\t\tevents: events\r\n\t\t\t\t\t? events\r\n\t\t\t\t\t\t\t.filter((ev) => !!ev.data.id)\r\n\t\t\t\t\t\t\t.map((evt, i) => ({\r\n\t\t\t\t\t\t\t\teventTypeId: evt.data.id,\r\n\t\t\t\t\t\t\t\teventData: {\r\n\t\t\t\t\t\t\t\t\ttargetID: evt.data.targetID,\r\n\t\t\t\t\t\t\t\t\tparentTargetID: evt.data.parentID,\r\n\t\t\t\t\t\t\t\t\ttitle: evt.data.title,\r\n\t\t\t\t\t\t\t\t\tdurationInMins: (evt.data.duration / 60).toFixed(2),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t: [],\r\n\t\t\t};\r\n\t\t\tsendEvents(\r\n\t\t\t\tbody,\r\n\t\t\t\t() => {\r\n\t\t\t\t\tstore.dispatch(resetLogs());\r\n\t\t\t\t\t// let location = window.location.pathname.replace('/student/', '')\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\t// clearInterval(this.durationCounter)\r\n\t\t\t\t\t\t// store.dispatch(logEvent({\r\n\t\t\t\t\t\t// type: 'PAGE_NAVIGATE',\r\n\t\t\t\t\t\t// data: {\r\n\t\t\t\t\t\t// type: location === 'assignmentDetails' ? 'ASSGINMENT_DETAILS' :\r\n\t\t\t\t\t\t// location === 'courseDetails' ? 'COURSE_DETAILS' :\r\n\t\t\t\t\t\t// location === 'onlinesessionDetails' ? 'ONLINESESSION_DETAILS' :\r\n\t\t\t\t\t\t// location.toUpperCase(),\r\n\t\t\t\t\t\t// id: this.getEventTypeID(\r\n\t\t\t\t\t\t// location === 'assignmentDetails' ? 'ASSGINMENT_DETAILS' :\r\n\t\t\t\t\t\t// location === 'courseDetails' ? 'COURSE_DETAILS' :\r\n\t\t\t\t\t\t// location === 'onlinesessionDetails' ? 'ONLINESESSION_DETAILS' :\r\n\t\t\t\t\t\t// location.toUpperCase()\r\n\t\t\t\t\t\t// ),\r\n\t\t\t\t\t\t// targetID: null,\r\n\t\t\t\t\t\t// parentID: location === 'assignmentDetails' ? this.getEventTypeID('ASSIGNMENTS') :\r\n\t\t\t\t\t\t// location === 'courseDetails' ? this.getEventTypeID('COURSES') :\r\n\t\t\t\t\t\t// location === 'onlinesessionDetails' ? this.getEventTypeID('ONLINESESSIONS') :\r\n\t\t\t\t\t\t// null,\r\n\t\t\t\t\t\t// duration: 0,\r\n\t\t\t\t\t\t// title: null,\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t\t// }))\r\n\t\t\t\t\t\t// this.durationCounter = setInterval(() => {\r\n\t\t\t\t\t\t// store.dispatch(updateEventDuration(this.getEventTypeID(\r\n\t\t\t\t\t\t// location === 'assignmentDetails' ? 'ASSGINMENT_DETAILS' :\r\n\t\t\t\t\t\t// location === 'courseDetails' ? 'COURSE_DETAILS' :\r\n\t\t\t\t\t\t// location === 'onlinesessionDetails' ? 'ONLINESESSION_DETAILS' :\r\n\t\t\t\t\t\t// location.toUpperCase()\r\n\t\t\t\t\t\t// )))\r\n\t\t\t\t\t\t// }, 1000)\r\n\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}, 120000);\r\n\t}\r\n\r\n\tparseQuerstring(search) {\r\n\t\tvar obj = {};\r\n\t\tsearch.split(\"&\").forEach((a) => {\r\n\t\t\tlet [key, val] = a.split(\"=\");\r\n\t\t\tobj = { ...obj, [key]: val };\r\n\t\t});\r\n\t\treturn obj;\r\n\t}\r\n\r\n\tloginAsStudent = (type, targetID) => {\r\n\t\tlet body = {\r\n\t\t\tusername: this.parseQuerstring(window.location.search.substr(1)).id,\r\n\t\t\tpassword: null,\r\n\t\t\tclientId: \"FoundationAPI\",\r\n\t\t\tclientSecret: \"FoundationSecretKey\",\r\n\t\t};\r\n\t\tloginAs(\r\n\t\t\tbody,\r\n\t\t\t(res) => {\r\n\t\t\t\tstore.dispatch(\r\n\t\t\t\t\tauthLogin({\r\n\t\t\t\t\t\ttoken: res.data.accessToken,\r\n\t\t\t\t\t\troles:\r\n\t\t\t\t\t\t\tres.data.roles.length > 0\r\n\t\t\t\t\t\t\t\t? res.data.roles\r\n\t\t\t\t\t\t\t\t: [\r\n\t\t\t\t\t\t\t\t\t\t\"Home\",\r\n\t\t\t\t\t\t\t\t\t\t\"Courses\",\r\n\t\t\t\t\t\t\t\t\t\t\"Assignments\",\r\n\t\t\t\t\t\t\t\t\t\t\"Exams\",\r\n\t\t\t\t\t\t\t\t\t\t\"Settings\",\r\n\t\t\t\t\t\t\t\t\t\t\"Calendar\",\r\n\t\t\t\t\t\t\t\t\t\t\"AssignmentDetails\",\r\n\t\t\t\t\t\t\t\t\t\t\"OnlineSessions\",\r\n\t\t\t\t\t\t\t\t\t\t\"OnlineSessiondetails\",\r\n\t\t\t\t\t\t\t\t\t\t\"CourseDetails\",\r\n\t\t\t\t\t\t\t\t ],\r\n\t\t\t\t\t\trefreshToken: res.data.refreshToken,\r\n\t\t\t\t\t\ttoken_expiry: res.data.tokenExpiration,\r\n\t\t\t\t\t\trememberMe: false,\r\n\t\t\t\t\t\tuser: { name: res.data.name, image: res.data.image },\r\n\t\t\t\t\t\tuserType: res.data.userType,\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t\tgetStudentDetails(\r\n\t\t\t\t\t(res) => {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tlet user = {\r\n\t\t\t\t\t\t\t\tname: res.data.fullName,\r\n\t\t\t\t\t\t\t\timage: res.data.image,\r\n\t\t\t\t\t\t\t\tclassName: `${res.data.educationalGradeName} ${res.data.className}`,\r\n\t\t\t\t\t\t\t\tisBanned: res.data.isBanned,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\twindow.sessionStorage.setItem(\"user\", JSON.stringify(user));\r\n\t\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\twindow.location.href.replace(\"/student/home\");\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(errors) => {\r\n\t\t\t\t\t\tthis.setState({ loading: false });\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tif (targetID) {\r\n\t\t\t\t\tthis.navigateToType(type, targetID);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t(errors) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t);\r\n\t};\r\n\r\n\tnavigateToType = (type, targetID) => {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"quiz\":\r\n\t\t\t\tthis.props.history.push(`/quiz/${targetID}`);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t};\r\n\r\n\trender() {\r\n\t\treturn this.state.loading ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t\r\n\t\t\t\t{({ loading, isLatestVersion, refreshCacheAndReload }) => {\r\n\t\t\t\t\tif (loading) return ;\r\n\t\t\t\t\tif (!loading && !isLatestVersion) {\r\n\t\t\t\t\t\trefreshCacheAndReload();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t}}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\r\n );\r\n });\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport registerServiceWorker from './registerServiceWorker';\r\nimport * as Sentry from '@sentry/browser';\r\nimport ReactGA from 'react-ga'\r\n\r\n// Sentry.init({dsn: \"https://f52bc8197df8452dab17cd3fdf9aee8c@o464051.ingest.sentry.io/5476337\"});\r\n\r\nReactGA.initialize('UA-113313413-8', {\r\n gaOptions: {\r\n userId: window.sessionStorage.getItem('userid')\r\n }\r\n})\r\n\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n// registerServiceWorker()\r\n","export const AUTH_LOGIN = 'AUTH_LOGIN'\r\nexport const AUTH_CHECK = 'AUTH_CHECK'\r\nexport const AUTH_LOGOUT = 'AUTH_LOGOUT'\r\nexport const SET_LOCALE = 'SET_LOCALE'\r\nexport const UPDATE_CONNECTION_STATUS = 'UPDATE_CONNECTION_STATUS'\r\n\r\nexport default {\r\n AUTH_LOGIN,\r\n AUTH_CHECK,\r\n AUTH_LOGOUT,\r\n SET_LOCALE,\r\n UPDATE_CONNECTION_STATUS\r\n}","import {\r\n AUTH_LOGIN,\r\n AUTH_CHECK,\r\n AUTH_LOGOUT,\r\n SET_LOCALE,\r\n UPDATE_CONNECTION_STATUS,\r\n} from './action-types'\r\n\r\nexport function authLogin(payload){\r\n return {\r\n type: AUTH_LOGIN,\r\n payload,\r\n }\r\n}\r\n\r\nexport function authCheck(){\r\n return {\r\n type: AUTH_CHECK\r\n }\r\n}\r\n\r\nexport function authLogout(){\r\n return {\r\n type: AUTH_LOGOUT\r\n }\r\n}\r\n\r\nexport function setLocale(payload){\r\n return {\r\n type: SET_LOCALE,\r\n payload,\r\n }\r\n}\r\n\r\nexport function updateConnectionStatus(payload){\r\n return {\r\n type: UPDATE_CONNECTION_STATUS,\r\n payload,\r\n }\r\n}","export const SET_COURSES_FILTRATION = 'SET_COURSES_FILTRATION'\r\nexport const SET_DRAWER_ACTIVE_TAB = 'SET_DRAWER_ACTIVE_TAB'\r\nexport const SET_COURSE_DETAILS = 'SET_COURSE_DETAILS'\r\nexport const SET_FILTRATION_RESULT_VISIBILITY = 'SET_FILTRATION_RESULT_VISIBILITY'\r\nexport const SET_FILTRATION_BAR_VISIBILITY = 'SET_FILTRATION_BAR_VISIBILITY'\r\nexport const SET_FILTRATION_ASSIGNMENT_DATE = 'SET_FILTRATION_ASSIGNMENT_DATE'\r\n\r\nexport default {\r\n SET_DRAWER_ACTIVE_TAB,\r\n SET_COURSES_FILTRATION,\r\n SET_COURSE_DETAILS,\r\n SET_FILTRATION_RESULT_VISIBILITY,\r\n SET_FILTRATION_BAR_VISIBILITY,\r\n SET_FILTRATION_ASSIGNMENT_DATE,\r\n}","export const responseMessages = {\r\n 200: 'Success',\r\n 100:\t'Failed To Send Code',\r\n 101:\t'Invalid Code',\r\n 102:\t'Verification Code Required',\r\n 103:\t'SMS Interval Send Violation',\r\n 104:\t'User not Found',\r\n 105:\t'Validation Error',\r\n 106:\t'Registration Field Already Exist',\r\n 107:\t'Forget Password Field Required',\r\n 108:\t'Phone Number Already Exist',\r\n 109:\t'Invalid Refresh Token',\r\n 110:\t'Email Not Confirmed',\r\n 111:\t'Phone Number Not Confirmed',\r\n 112:\t'Maximum SMS Send Code Reached',\r\n 113:\t'Phone Number Required',\r\n 114:\t'Email Required',\r\n 115:\t'Email Already Exists',\r\n 116:\t'Wrong Email or password',\r\n 117:\t'Wrong Email or password',\r\n 118:\t'Custom Text Required',\r\n 119:\t'Custom DropDown Required',\r\n 120:\t'Invalid Client',\r\n 121:\t'Failed To Update User',\r\n 122:\t'Invalid Facebook Token',\r\n 123:\t'Facebook Token Deosnt Exist',\r\n 124:\t'Wrong Email or password',\r\n 125:\t'Google Token Deosnt Exist',\r\n 126:\t'Invalid Google Token',\r\n 127:\t'Invalid Registration Type',\r\n 128:\t'Invalid Login Type',\r\n 129:\t'Social User Exist',\r\n 131: 'Invalid reset token',\r\n 138: 'Old password is incorrect',\r\n}","export const responseMessagesAR = {\r\n 200: 'طلب ناجح',\r\n 100:\t'فشل في إرسال الكود',\r\n 101:\t'الكود غير صالح',\r\n 102:\t'كود التوثيق مطلوب',\r\n 103:\t'إنتهاك لفترة إرسال الرسالة النصية القصيرة',\r\n 104:\t'المستخدم غير موجود',\r\n 105:\t'خطئ في التحقق',\r\n 106:\t'خانة التسجيل موجودة بالفعل',\r\n 107:\t'خانة نسيت كلمة المرور مطلوبة',\r\n 108:\t'رقم الهاتف موجود بالفعل',\r\n 109:\t'رمز التحديث غير صالح',\r\n 110:\t'البريد الإلكتروني غير مؤكد',\r\n 111:\t'رقم الهاتف غير مؤكد',\r\n 112:\t'تم الوصول للحد الأقصى من إرسال الرمز',\r\n 113:\t'رقم الهاتف مطلوب',\r\n 114:\t'البريد الإلكتروني مطلوب',\r\n 115:\t'البريد الإلكتروني موجود بالفعل',\r\n 116:\t'البريد الإلكتروني أو كلمة المرور خاطئين',\r\n 117:\t'البريد الإلكتروني أو كلمة المرور خاطئين',\r\n 118:\t'النص المخصص مطلوب',\r\n 119:\t'القائمة المخصصة مطلوبة',\r\n 120:\t'تطبيق غير صالح',\r\n 121:\t'فشل في تحديث بيانات المستخدم',\r\n 122:\t'رمز الفيسبوك غير صالح',\r\n 123:\t'رمز الفيسبوك غير موجود',\r\n 124:\t'البريد الإلكتروني أو كلمة المرور خاطئين',\r\n 125:\t'رمز جوجل غير موجود',\r\n 126:\t'رمز جوجل غير صالح',\r\n 127:\t'نوع التسجيل غير صالح',\r\n 128:\t'نوع تسجيل الدخول غير صالح',\r\n 129:\t'المستخدم مسجل بإحد شبكات التواصل بالفعل',\r\n 131: 'كود إعادة تعين كلمة المرور غير صالح',\r\n 138: 'كلمة المرور القديمة ليست صحيحة',\r\n}","/* eslint-disable no-throw-literal */\r\n\r\nimport store from '../src/store'\r\nimport { responseMessages } from './resources/responseMessages';\r\nimport { responseMessagesAR } from './resources/responseMessagesAR';\r\nimport { authLogout, authLogin } from './modules/Authintication/store/actions';\r\n\r\nvar state = store.getState()\r\nvar currentLocale = localStorage.getItem('currentLocale') ? localStorage.getItem('currentLocale') : state.common.currentLocale\r\nvar baseUrl = 'https://studentauthentication.scholigit.com'\r\n// var baseUrl = 'https://studentauthentication.developmentyard.org'\r\nvar headers = new Headers()\r\n\r\nfunction setToken(after){\r\n headers.set('Accept', 'application/json')\r\n headers.set('Content-type', 'application/json')\r\n var token = localStorage.getItem('access_token') ? localStorage.getItem('access_token') : window.sessionStorage.getItem('access_token')\r\n var expiryDate = localStorage.getItem('token_expiry') ? localStorage.getItem('token_expiry') : window.sessionStorage.getItem('token_expiry')\r\n var currentDateTime = new Date();\r\n var expiryDateTime = new Date(expiryDate);\r\n headers.set('Accept-Language', localStorage.getItem('currentLocale') === 'english' ? 'en-US' : 'ar-EG')\r\n headers.set('Timezone-Offset', new Date().getTimezoneOffset() / 60)\r\n if(token){\r\n if(expiryDate){\r\n if(expiryDateTime.getTime() < currentDateTime.getTime()){\r\n store.dispatch(refreshToken(token, (newToken) => {\r\n headers.set('Authorization', `Bearer ${newToken}`)\r\n after()\r\n }))\r\n }\r\n else {\r\n headers.set('Authorization', `Bearer ${token}`)\r\n after()\r\n }\r\n }\r\n else {\r\n headers.set('Authorization', `Bearer ${token}`)\r\n after()\r\n }\r\n }\r\n else {\r\n store.dispatch(authLogout())\r\n after()\r\n }\r\n}\r\n\r\nfunction refreshToken(token, callback) {\r\n let body = {\r\n token: token,\r\n refreshToken: localStorage.getItem('refreshToken') ? localStorage.getItem('refreshToken') : window.sessionStorage.getItem('refreshToken'),\r\n clientId: \"FoundationAPI\",\r\n clientSecret: \"FoundationSecretKey\"\r\n }\r\n return async (dispatch) => {\r\n const response = await fetch('/api/Auth/Refresh',{headers, body: JSON.stringify(body), method: 'post'})\r\n await handleResponse(response, (res) => {\r\n dispatch(authLogin({\r\n token: res.data.accessToken,\r\n roles: [],\r\n refreshToken: res.data.refreshToken,\r\n token_expiry: res.data.tokenExpiration\r\n }))\r\n callback(res.data.accessToken)\r\n }, (error) => {\r\n dispatch(authLogout())\r\n })\r\n }\r\n}\r\n\r\nasync function handleResponse(response, onSuccess, onFailure) {\r\n var currentLocale = localStorage.getItem('currentLocale')\r\n try {\r\n if(navigator.onLine){\r\n if(!response.ok){\r\n const contentType = response.headers.get(\"content-type\")\r\n const exception = await contentType && contentType.indexOf(\"application/json\") !== -1 ?\r\n response.json() : response.text()\r\n handleHttpErrors(exception, response.status, currentLocale)\r\n }\r\n else {\r\n const res = await response.json()\r\n if(res.responseCode === 200){\r\n onSuccess({data: res.responseData, code: 200})\r\n }\r\n else {\r\n let errors =\r\n res.responseCode === 105\r\n ? res.validationList.map((msg) =>\r\n typeof msg === \"string\"\r\n ? msg\r\n : msg.validationMessage\r\n )\r\n : res.responseCode === 142 ? \r\n [res.responseMessage] : \r\n [\r\n currentLocale === \"english\"\r\n ? responseMessages[res.responseCode]\r\n : responseMessagesAR[res.responseCode],\r\n ];\r\n throw { errors: errors, code: res.responseCode };\r\n }\r\n }\r\n }\r\n else {\r\n throw { errors: [currentLocale === 'ar' ? \r\n 'لا يوجد إتصال بالإنترنت, يرجى المحاولة لاحقًا' : \r\n 'No internet connection, please try again!'], code: 503 }\r\n }\r\n } catch (error) {\r\n onFailure(error)\r\n }\r\n}\r\n\r\nfunction handleHttpErrors(exception, code, currentLocale) {\r\n switch (code) {\r\n case 401:\r\n throw { errors: [currentLocale === 'ar' ? 'غير مصرح' : 'Not authorized'], code: code }\r\n case 404: \r\n throw { errors: [currentLocale === 'ar' ? 'الصفحة/الخدمة غير موجودة' : 'Page/Service not found'], code: code}\r\n case 500: {\r\n throw { errors: [currentLocale === 'ar' ? 'خطأ داخلي بالخادم' : 'Internal server error'], code: code}\r\n }\r\n default:\r\n throw { errors: [exception.responseMessage ? exception.responseMessage : \r\n currentLocale === 'ar' ? 'حدث خطأ ما, رجاء المحاولة مجددًا' : 'Something went wrong'], code: code }\r\n }\r\n}\r\n\r\nfunction timeoutPromise(ms, promise) {\r\n return new Promise((resolve, reject) => {\r\n const timeoutId = setTimeout(() => {\r\n throw { errors: ['Request Timeout'], code: 408 }\r\n }, ms);\r\n promise.then(\r\n (res) => {\r\n clearTimeout(timeoutId);\r\n resolve(res);\r\n },\r\n (err) => {\r\n clearTimeout(timeoutId);\r\n reject(err);\r\n }\r\n );\r\n })\r\n}\r\n\r\nexport const getResource = async (route, onSuccess, onFailure) => {\r\n setToken(async () => {\r\n baseUrl = 'https://studentauthentication.scholigit.com'\r\n try {\r\n const response = await timeoutPromise(1000000, fetch(baseUrl + route, {headers}))\r\n await handleResponse(response, (data) => {\r\n onSuccess(data)\r\n }, (error) => {\r\n onFailure(error)\r\n })\r\n } catch(e) {\r\n if(e.code === 408){\r\n onFailure(e)\r\n }\r\n else {\r\n onFailure({ errors: ['Something went wrong'], code: 400 })\r\n }\r\n }\r\n }) \r\n}\r\n\r\nexport const postResource = async (route, body, onSuccess, onFailure, isFormData, isDirect) => { \r\n setToken(async () => {\r\n isFormData && headers.delete('Content-type')\r\n if(isDirect){\r\n baseUrl = 'https://reports.scholigit.com' \r\n }\r\n else {\r\n baseUrl = 'https://studentauthentication.scholigit.com'\r\n }\r\n try {\r\n const response = await timeoutPromise(1000000, fetch(baseUrl + route,{headers, body, method: 'post'}))\r\n await handleResponse(response, (data) => {\r\n onSuccess(data)\r\n }, (error) => {\r\n onFailure(error)\r\n })\r\n }\r\n catch {\r\n onFailure({ errors: ['Request Timeout'], code: 408 })\r\n }\r\n })\r\n}\r\n\r\nexport const patchResource = async (route, body, onSuccess, onFailure) => { \r\n setToken(async () => {\r\n try {\r\n const response = await timeoutPromise(1000000, fetch(baseUrl + route,{headers, body, method: 'patch'}))\r\n await handleResponse(response, (data) => {\r\n onSuccess(data)\r\n }, (error) => {\r\n onFailure(error)\r\n })\r\n } catch {\r\n onFailure({ errors: ['Request Timeout'], code: 408 })\r\n }\r\n })\r\n}\r\n\r\nexport const deleteResource = async (route, onSuccess, onFailure) => { \r\n setToken(async () => {\r\n try {\r\n const response = await timeoutPromise(1000000, fetch(baseUrl + route,{headers, method: 'delete'}))\r\n await handleResponse(response, (data) => {\r\n onSuccess(data)\r\n }, (error) => {\r\n onFailure(error)\r\n })\r\n } catch {\r\n onFailure({ errors: ['Request Timeout'], code: 408 })\r\n }\r\n })\r\n}\r\n\r\n\r\n\r\n// function for post resources to post the api of join session with a different baseURL\r\n\r\nexport const testPostResource = async (route, body, onSuccess, onFailure, isFormData, isDirect) => { \r\n setToken(async () => {\r\n isFormData && headers.delete('Content-type')\r\n if(isDirect){\r\n baseUrl = 'https://reports.scholigit.com' \r\n }\r\n else {\r\n baseUrl = 'https://scholigitapitest.scholigit.com'\r\n }\r\n try {\r\n const response = await timeoutPromise(1000000, fetch(baseUrl + route,{headers, body, method: 'post'}))\r\n await handleResponse(response, (data) => {\r\n onSuccess(data)\r\n }, (error) => {\r\n onFailure(error)\r\n })\r\n }\r\n catch {\r\n onFailure({ errors: ['Request Timeout'], code: 408 })\r\n }\r\n })\r\n}\r\n\r\n\r\nexport const testGetResource = async (route, onSuccess, onFailure) => {\r\n setToken(async () => {\r\n baseUrl = 'https://studentauthentication.scholigit.com'\r\n try {\r\n const response = await timeoutPromise(1000000, fetch('https://scholigitapitest.scholigit.com' + route, {headers}))\r\n await handleResponse(response, (data) => {\r\n onSuccess(data)\r\n }, (error) => {\r\n onFailure(error)\r\n })\r\n } catch(e) {\r\n if(e.code === 408){\r\n onFailure(e)\r\n }\r\n else {\r\n onFailure({ errors: ['Something went wrong'], code: 400 })\r\n }\r\n }\r\n }) \r\n}\r\n","import React from 'react'\r\nimport { notification } from 'antd';\r\nimport store from '../../../../store'\r\n\r\nclass BaseComponent extends React.Component {\r\n\r\n\t/**\r\n\t * \r\n\t * @param {string} type 'error' | 'success' \r\n\t * @param {[]} messages \r\n\t */\r\n openNotification = (type, messages) => {\r\n\t\tlet locale = localStorage.getItem('currentLocale')\r\n\t\tlet headline = locale === 'english' ? (type === \"error\" ? \"Error occured\" : \"Successful operation\") : \r\n\t\t(type === \"error\" ? \"هناك خطأ\" : \"عملية ناجحة\") \r\n\t\tif(messages){\r\n\t\t\tmessages.forEach(message => {\r\n\t\t\t\tnotification[type]({\r\n\t\t\t\t\tmessage: headline,\r\n\t\t\t\t\tdescription: message,\r\n\t\t\t\t\tplacement: locale === 'english' ? 'topRight' : 'topLeft'\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\telse {\r\n\t\t\tnotification.error({\r\n\t\t\t\tmessage: headline,\r\n\t\t\t\tdescription: locale === 'english' ? 'Something went wrong' : 'حدث خطأ ما',\r\n\t\t\t\tplacement: locale === 'english' ? 'topRight' : 'topLeft'\r\n\t\t\t})\r\n\t\t}\r\n\t};\r\n\r\n\tgetCurrentLocation(){\r\n\t\tif (navigator && navigator.geolocation) {\r\n return new Promise((resolve, reject) => {\r\n navigator.geolocation.getCurrentPosition(pos => {\r\n const coords = pos.coords;\r\n resolve({\r\n lat: coords.latitude,\r\n lng: coords.longitude\r\n\t\t\t\t\t});\r\n }, () => {\r\n\t\t\t\t\tfetch('http://ip-api.com/json').then(res => res.json()).then(data => {\r\n\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\tlat: data.lat,\r\n\t\t\t\t\t\t\tlng: data.lon\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}).catch(() => {\r\n\t\t\t\t\t\tresolve({\r\n\t\t\t\t\t\t\tlat: null,\r\n\t\t\t\t\t\t\tlng: null\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t});\r\n });\r\n }\r\n return {lat: 0,lng: 0};\r\n\t}\r\n\r\n\tfileDownload(data, filename, mime, bom) {\r\n\t\tvar blobData = (typeof bom !== 'undefined') ? [bom, data] : [data]\r\n\t\tvar blob = new Blob(blobData, {type: mime || 'application/octet-stream'});\r\n\t\tif (typeof window.navigator.msSaveBlob !== 'undefined') {\r\n\t\t\t// IE workaround for \"HTML7007: One or more blob URLs were \r\n\t\t\t// revoked by closing the blob for which they were created. \r\n\t\t\t// These URLs will no longer resolve as the data backing \r\n\t\t\t// the URL has been freed.\"\r\n\t\t\twindow.navigator.msSaveBlob(blob, filename);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tvar blobURL = window.URL.createObjectURL(blob);\r\n\t\t\tvar tempLink = document.createElement('a');\r\n\t\t\ttempLink.style.display = 'none';\r\n\t\t\ttempLink.href = blobURL;\r\n\t\t\ttempLink.setAttribute('download', filename); \r\n\t\t\t\r\n\t\t\t// Safari thinks _blank anchor are pop ups. We only want to set _blank\r\n\t\t\t// target if the browser does not support the HTML5 download attribute.\r\n\t\t\t// This allows you to download files in desktop safari if pop up blocking \r\n\t\t\t// is enabled.\r\n\t\t\tif (typeof tempLink.download === 'undefined') {\r\n\t\t\t\ttempLink.setAttribute('target', '_blank');\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\ttempLink.click();\r\n\t\t\t\r\n\t\t\t// Fixes \"webkit blob resource error 1\"\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tdocument.body.removeChild(tempLink);\r\n\t\t\t\twindow.URL.revokeObjectURL(blobURL);\r\n\t\t\t}, 0)\r\n\t\t}\r\n\t}\r\n\r\n\tisNumberKey = evt => {\r\n\t\tvar char = String.fromCharCode(evt.which);\r\n\t\tlet allowedKeys = [97, 98, 99, 100, 101, 102, 103, 104, 105, 8, 46, 37, 39, 96, 110];\r\n\t\tif(parseFloat(evt.target.value) > 999.9 && evt.which !== 8){\r\n\t\t\tevt.preventDefault()\r\n\t\t}\r\n\t\tif (/[0-9]/.test(char) || allowedKeys.includes(evt.keyCode)) {\r\n\t\t return true;\r\n\t\t} else {\r\n\t\t evt.preventDefault();\r\n\t\t}\r\n\t}\r\n\t\r\n\trequestNotificationsPermission(onGrant, onDeny) {\r\n\t\tconsole.log('Requesting permission...');\r\n\t\tNotification.requestPermission().then((permission) => {\r\n\t\tif (permission === 'granted') {\r\n\t\t\tonGrant()\r\n\t\t} else {\r\n\t\t\tonDeny()\t\r\n\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tretry(fn) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t fn()\r\n\t\t\t.then(resolve)\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.log(error)\r\n\t\t\t\tif(error.code === 'MODULE_NOT_FOUND'){\r\n\t\t\t\t\twindow.location.reload(true)\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tgetFileTypeIcon(ext){\r\n\t\tlet icons = []\r\n\t\tlet types = [\r\n\t\t\t{\r\n\t\t\t\ticon: 'doc',\r\n\t\t\t\textensions: ['pdf', 'docx', 'doc']\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ticon: 'video',\r\n\t\t\t\textensions: ['avi', 'mp4', 'mov', 'webm']\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ticon: 'photo',\r\n\t\t\t\textensions: ['jpg', 'jpeg', 'png']\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ticon: 'mic',\r\n\t\t\t\textensions: ['mp3']\r\n\t\t\t}\r\n\t\t]\r\n\t\ttypes.forEach(type => {\r\n\t\t\tif(type.extensions.includes(ext)){\r\n\t\t\t\ticons.push(type.icon)\r\n\t\t\t}\r\n\t\t})\r\n\t\treturn icons\r\n\t}\r\n\r\n\tsortByKey(array, key) {\r\n\t\treturn array.sort(function(a, b) {\r\n\t\t\tvar x = a[key]; var y = b[key];\r\n\t\t\treturn ((x < y) ? -1 : ((x > y) ? 1 : 0));\r\n\t\t});\r\n\t}\r\n\r\n\tgetWeekDay = (index) => {\r\n\t\tlet locale = localStorage.getItem('currentLocale')\r\n\t\tlet weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\r\n\t\tlet weekdaysAr = ['الأحد', 'الأثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\r\n\t\treturn locale === 'english' ? weekdays[index] : weekdaysAr[index]\r\n\t}\r\n\r\n\tgetDayTime = (index) => {\r\n\t\tlet locale = localStorage.getItem('currentLocale')\r\n\t\tlet weekdays = ['08:00', '09:00', '10:00', '11:00', '12:00', '01:00', '02:00','03:00']\r\n\t\tlet weekdaysAr = ['۰۰:۰۸','۰۰:۰۹','۰۰:۱۰','۰۰:۱۱','۰۰:۱۲','۰۰:۰۱','۰۰:۰۲','۰۰:۰۳']\r\n\t\treturn locale === 'english' ? weekdays[index] : weekdaysAr[index]\r\n\t}\r\n\r\n\tgetEventTypeID = (type) => {\r\n\t\tconst typesIDs = {\r\n\t\t\tASSIGNMENT_MEDIA : '98d52441-a5c0-444e-90e5-050f623c2545',\r\n\t\t\tEXAMS: '96ca1214-ef22-4280-ad11-09921744cca2',\t\r\n\t\t\tASSGINMENT_DETAILS: 'f331ceda-de93-4207-b253-1bff82b676bc',\r\n\t\t\tCOURSE_MEDIA: 'e35d7985-e3fe-4530-be8b-1d4de42a335a',\r\n\t\t\tHOME: '32ddfa83-be59-4bb5-a65e-2acd6b999594',\r\n\t\t\tCOURSES: '6876e647-3272-4837-b94a-3cc37cb36721',\r\n\t\t\tONLINESESSIONS: '5efdeac8-ac90-44bc-9d01-44d1c07e9948',\r\n\t\t\tONLINESESSION_DETAILS: '21564d5b-32ee-436d-9ebe-72e053fcb8af',\r\n\t\t\tASSIGNMENTS: '7442ec66-db4d-4ec1-921f-cf841b4456ce',\r\n\t\t\tONLINESESSION_MEDIA: 'c16c3b43-1b71-43b3-8fec-dcee4a7594c6',\r\n\t\t\tCOURSE_DETAILS: '5fa7693d-5d70-4018-9ccd-e0788e5c569b',\r\n\t\t\tCALENDAR: 'ceb8bcb0-5ac8-46f5-a79b-f342b6f0b7e0',\r\n\t\t\tEXAM_DETAILS: '1fb8767f-aabc-4749-b5b2-f95543ffc2bc'\r\n\t\t}\r\n\t\tfor (const key in typesIDs) {\r\n\t\t\tif(key === type) {\r\n\t\t\t\treturn typesIDs[key]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\nexport default BaseComponent","import {\r\n SET_LOCALE,\r\n UPDATE_CONNECTION_STATUS,\r\n LIST_USER_NOTIFICATIONS,\r\n SET_NOTIFICATION_STATUS,\r\n PREPEND_NEW_NOTIFICATION,\r\n SET_NOTIFICATIONS_COUNTER,\r\n LOG_EVENT,\r\n RESET_LOGS,\r\n UPDATE_EVENT_DURATION\r\n} from './action-types'\r\n\r\nexport function setLocale(payload){\r\n return {\r\n type: SET_LOCALE,\r\n payload,\r\n }\r\n}\r\n\r\nexport function updateConnectionStatus(payload){\r\n return {\r\n type: UPDATE_CONNECTION_STATUS,\r\n payload,\r\n }\r\n}\r\n\r\nexport function listUserNotifications(payload){\r\n return {\r\n type: LIST_USER_NOTIFICATIONS,\r\n payload\r\n }\r\n}\r\n\r\nexport function setNotificationStatus(payload){\r\n return {\r\n type: SET_NOTIFICATION_STATUS,\r\n payload\r\n }\r\n}\r\n\r\nexport function prependNewNotification(payload) {\r\n return {\r\n type: PREPEND_NEW_NOTIFICATION,\r\n payload\r\n }\r\n}\r\n\r\nexport function setNotificationsCounter(payload) {\r\n return {\r\n type: SET_NOTIFICATIONS_COUNTER,\r\n payload\r\n }\r\n}\r\n\r\nexport function logEvent(payload){\r\n return {\r\n type: LOG_EVENT,\r\n payload\r\n }\r\n}\r\n\r\nexport function updateEventDuration(payload){\r\n return {\r\n type: UPDATE_EVENT_DURATION,\r\n payload\r\n }\r\n}\r\n\r\nexport function resetLogs(){\r\n return {\r\n type: RESET_LOGS\r\n }\r\n}","import { postResource, getResource } from \"../../network\";\r\n\r\n/**\r\n * Gets a list of user notifications\r\n * @param {Object} body \r\n * @param {Function} onSuccess \r\n * @param {Function} onError \r\n */\r\nexport function getUserNotifications(body, onSuccess, onError) {\r\n postResource('/notification/api/Notification/GetUserNotifications', JSON.stringify(body), (res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n })\r\n}\r\n\r\nexport function setNotificationAsSeen(query, onSuccess, onError) {\r\n postResource(`/notification/api/Notification/SetAsSeen?NotificationID=${query}`, JSON.stringify({}) ,(res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n })\r\n}\r\n\r\nexport function setDeviceToken(query, onSuccess, onError) {\r\n postResource(`/api/Auth/AddDeviceTOken?Token=${query}`, JSON.stringify({}),(res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n })\r\n}\r\n\r\nexport function getNotificationsCount(onSuccess, onError){\r\n getResource('/notification/api/Notification/GetNotificationsCount', (res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n })\r\n}\r\n\r\nexport function generateUploadFileKey(body, onSuccess, onError) {\r\n postResource('/filesservice/api/Files/GenerateUploadFileKey', JSON.stringify(body), (res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n })\r\n}\r\n\r\nexport function uploadFileChunk(body, onSuccess, onError) {\r\n postResource('/filesservice/api/Files/UploadFileChunk', body, (res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n }, true)\r\n}\r\n\r\nexport function buildFileChunks(body, onSuccess, onError) {\r\n postResource('/filesservice/api/Files/BuildFileChunks', JSON.stringify(body), (res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n })\r\n}\r\n\r\nexport function loginAs(body, onSuccess, onError) {\r\n postResource('/api/Auth/LoginAs', JSON.stringify(body), (res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n })\r\n}\r\n\r\nexport function sendEvents(body, onSuccess, onError) {\r\n postResource('/NavigationTrackingLogger/LogBulk', JSON.stringify(body), (res) => {\r\n onSuccess(res)\r\n }, (fail) => {\r\n onError(fail.errors)\r\n }, false, true)\r\n}","import React from 'react'\r\nimport BaseComponent from '../BaseComponent/BaseComponent.js';\r\nimport Lottie from 'react-lottie';\r\nimport * as animationData from '../../../../resources/images/loading.json'\r\n\r\nclass LoadingIndicator extends BaseComponent {\r\n constructor(props){\r\n super(props)\r\n this.state = {\r\n\r\n }\r\n }\r\n \r\n render(){\r\n const defaultOptions = { \r\n loop: true,\r\n autoplay: true, \r\n animationData: animationData.default,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice'\r\n }\r\n }\r\n return(\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default LoadingIndicator","export const SET_LOCALE = 'SET_LOCALE'\r\nexport const UPDATE_CONNECTION_STATUS = 'UPDATE_CONNECTION_STATUS'\r\nexport const LIST_USER_NOTIFICATIONS = 'LIST_USER_NOTIFICATIONS'\r\nexport const PREPEND_NEW_NOTIFICATION = 'PREPEND_NEW_NOTIFICATION'\r\nexport const SET_NOTIFICATION_STATUS = 'SET_NOTIFICATION_STATUS'\r\nexport const SET_NOTIFICATIONS_COUNTER = 'SET_NOTIFICATIONS_COUNTER'\r\nexport const LOG_EVENT = 'LOG_EVENT'\r\nexport const RESET_LOGS = 'RESET_LOGS'\r\nexport const UPDATE_EVENT_DURATION = 'UPDATE_EVENT_DURATION'\r\n\r\nexport default {\r\n SET_LOCALE,\r\n UPDATE_CONNECTION_STATUS,\r\n LIST_USER_NOTIFICATIONS,\r\n SET_NOTIFICATION_STATUS,\r\n PREPEND_NEW_NOTIFICATION,\r\n SET_NOTIFICATIONS_COUNTER,\r\n LOG_EVENT,\r\n RESET_LOGS,\r\n UPDATE_EVENT_DURATION\r\n}"],"sourceRoot":""}