{"version":3,"file":"js/app.8c68efe8.js","mappings":"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nB,EAA4B5nB,GAC1C,OAAOunB,EAAcJ,EAAAA,GAAoBnnB,EAC3C,CAEA,MAAM6nB,EAAgB,CACpB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGK,SAASruD,IACd,OAAOquD,EAAc3K,KAAKuK,MAAMvK,KAAKwK,SAAWG,EAAc7nB,QAChE,CAEO,SAAS7pC,EAAeW,GAC7B,OAAO+wD,EAAc3K,KAAK4K,KAAIC,EAAAA,EAAAA,GAAWjxD,IAAa+wD,EAAc7nB,OACtE,CAEA,MAAMgoB,EAAyB,CAC7B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGK,SAASC,EAAuB7vD,GACrC,OAAO4vD,EAAuB5vD,EAAK4vD,EAAuBhoB,OAC5D,C,qCChJO,SAASxF,EAAoBhmC,GAClC,OAAO8uD,aAAa4E,QAAQ1zD,EAC9B,CAEO,SAASysC,EAAkBzsC,EAAKuE,GAErC,OADAuqD,aAAa6E,QAAQ3zD,EAAKuE,GACnBA,CACT,CAEO,SAASs8C,EAAwB7gD,EAAKuE,GAC3C,MAAMqvD,EAAMlhB,KAAK+J,UAAUl4C,GAE3B,OADAuqD,aAAa6E,QAAQ3zD,EAAK4zD,GACnBA,CACT,CAEO,SAAStnB,EAA0BtsC,GACxC,MAAM0B,EAAOotD,aAAa4E,QAAQ1zD,GAClC,OAAK0B,EACEgxC,KAAKC,MAAMjxC,GADA,IAEpB,C,4ICnBO,SAASmyD,EAAOtvD,EAAOuv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","sources":["webpack://skypestudy-web/./src/components/CurrentUserShortBlock.vue","webpack://skypestudy-web/src/components/CurrentUserShortBlock.vue","webpack://skypestudy-web/./src/components/CurrentUserShortBlock.vue?064e","webpack://skypestudy-web/./src/components/CurrentUserShortBlock.vue?9d96","webpack://skypestudy-web/./src/components/LogoComponent.vue","webpack://skypestudy-web/src/components/LogoComponent.vue","webpack://skypestudy-web/./src/components/LogoComponent.vue?f54f","webpack://skypestudy-web/./src/components/LogoComponent.vue?3ea1","webpack://skypestudy-web/./src/components/common/ErrorComponent.vue","webpack://skypestudy-web/src/components/common/ErrorComponent.vue","webpack://skypestudy-web/./src/components/common/ErrorComponent.vue?3854","webpack://skypestudy-web/./src/components/common/ErrorComponent.vue?5dd3","webpack://skypestudy-web/./src/components/common/LoadingComponent.vue","webpack://skypestudy-web/src/components/common/LoadingComponent.vue","webpack://skypestudy-web/./src/components/common/LoadingComponent.vue?5eb7","webpack://skypestudy-web/./src/components/common/LoadingComponent.vue?a7d7","webpack://skypestudy-web/./src/components/profile/AvatarComponent.vue","webpack://skypestudy-web/src/components/profile/AvatarComponent.vue","webpack://skypestudy-web/./src/components/profile/AvatarComponent.vue?82ef","webpack://skypestudy-web/./src/components/profile/AvatarComponent.vue?d899","webpack://skypestudy-web/./src/components/profile/AvatarInnerComponent.vue","webpack://skypestudy-web/src/components/profile/AvatarInnerComponent.vue","webpack://skypestudy-web/./src/components/profile/AvatarInnerComponent.vue?b582","webpack://skypestudy-web/./src/components/profile/AvatarInnerComponent.vue?df9a","webpack://skypestudy-web/./src/components/profile/UserAvatarComponent.vue","webpack://skypestudy-web/src/components/profile/UserAvatarComponent.vue","webpack://skypestudy-web/./src/components/profile/UserAvatarComponent.vue?434b","webpack://skypestudy-web/./src/components/profile/UserAvatarComponent.vue?c8d5","webpack://skypestudy-web/./src/components/profile/notification/urgent/UrgentNotification.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/UrgentNotificationLessonType.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/action/UrgentNotificationLessonTypeLessonScheduledAction.vue","webpack://skypestudy-web/src/components/profile/notification/urgent/type/action/UrgentNotificationLessonTypeLessonScheduledAction.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/action/UrgentNotificationLessonTypeLessonScheduledAction.vue?457d","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/action/UrgentNotificationLessonTypeLessonScheduledAction.vue?5467","webpack://skypestudy-web/src/components/profile/notification/urgent/type/UrgentNotificationLessonType.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/UrgentNotificationLessonType.vue?60f3","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/UrgentNotificationLessonType.vue?19dd","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/UrgentNotificationOtherType.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/action/UrgentNotificationOtherTypeAction.vue","webpack://skypestudy-web/src/components/profile/notification/urgent/type/action/UrgentNotificationOtherTypeAction.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/action/UrgentNotificationOtherTypeAction.vue?982d","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/action/UrgentNotificationOtherTypeAction.vue?c6a0","webpack://skypestudy-web/src/components/profile/notification/urgent/type/UrgentNotificationOtherType.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/UrgentNotificationOtherType.vue?4bb5","webpack://skypestudy-web/./src/components/profile/notification/urgent/type/UrgentNotificationOtherType.vue?2345","webpack://skypestudy-web/src/components/profile/notification/urgent/UrgentNotification.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/UrgentNotification.vue?a92b","webpack://skypestudy-web/./src/components/profile/notification/urgent/UrgentNotification.vue?a84e","webpack://skypestudy-web/./src/components/profile/schedule/plan-new-lesson/StudentsSelectInputAvatar.vue","webpack://skypestudy-web/src/components/profile/schedule/plan-new-lesson/StudentsSelectInputAvatar.vue","webpack://skypestudy-web/./src/components/profile/schedule/plan-new-lesson/StudentsSelectInputAvatar.vue?2fad","webpack://skypestudy-web/./src/components/profile/schedule/plan-new-lesson/StudentsSelectInputAvatar.vue?8fec","webpack://skypestudy-web/./src/enums/user-notification-type.enum.js","webpack://skypestudy-web/./src/enums/user-role.enum.js","webpack://skypestudy-web/./src/graphql/mutations/audio/create-exercise-audio.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/audio/remove-exercise-audio.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/audio/renew-exercise-audio.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/audio/update-audio.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/exercise/change-order-attachment.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/exercise/check-preview.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/exercise/create.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/exercise/delete.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/exercise/preview.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/exercise/update.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/lesson/change-order-attachment.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/lesson/create-attachment.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/lesson/create.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/lesson/delete-attachment.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/lesson/delete.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/lesson/update-attachment.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/lesson/update.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/quiz/unlink-quiz.mutation.js","webpack://skypestudy-web/./src/graphql/queries/connection/get-self-user-connection-counts.query.js","webpack://skypestudy-web/./src/graphql/queries/connection/get-user-connections-history-pagination.query.js","webpack://skypestudy-web/./src/graphql/queries/connection/get-user-connections-pagination.query.js","webpack://skypestudy-web/./src/graphql/queries/exercise/get-exercise.query.js","webpack://skypestudy-web/./src/graphql/queries/lesson/get-lesson.query.js","webpack://skypestudy-web/./src/graphql/queries/quiz/get-quiz-history.query.js","webpack://skypestudy-web/./src/graphql/queries/user/get-user-reviews-pagination.query.js","webpack://skypestudy-web/./src/graphql/queries/user/match-instructors-pagination.query.js","webpack://skypestudy-web/./src/i18n/en.js","webpack://skypestudy-web/./src/i18n/ru.js","webpack://skypestudy-web/./src/App.vue","webpack://skypestudy-web/src/App.vue","webpack://skypestudy-web/./src/App.vue?b495","webpack://skypestudy-web/./src/App.vue?0e40","webpack://skypestudy-web/./src/plugins/vuetify.js","webpack://skypestudy-web/./src/views/PageNotFound.vue","webpack://skypestudy-web/src/views/PageNotFound.vue","webpack://skypestudy-web/./src/views/PageNotFound.vue?034d","webpack://skypestudy-web/./src/views/PageNotFound.vue?2421","webpack://skypestudy-web/./src/components/MainComponent.vue","webpack://skypestudy-web/./src/layouts/MainLayout.vue","webpack://skypestudy-web/./src/components/TopBarComponent.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/UrgentNotificationWrapper.vue","webpack://skypestudy-web/src/components/profile/notification/urgent/UrgentNotificationWrapper.vue","webpack://skypestudy-web/./src/components/profile/notification/urgent/UrgentNotificationWrapper.vue?2166","webpack://skypestudy-web/./src/components/profile/notification/urgent/UrgentNotificationWrapper.vue?ed89","webpack://skypestudy-web/src/components/TopBarComponent.vue","webpack://skypestudy-web/./src/components/TopBarComponent.vue?c61b","webpack://skypestudy-web/./src/components/TopBarComponent.vue?6503","webpack://skypestudy-web/./src/components/InstallPWAAppComponent.vue","webpack://skypestudy-web/src/components/InstallPWAAppComponent.vue","webpack://skypestudy-web/./src/components/InstallPWAAppComponent.vue?03bd","webpack://skypestudy-web/./src/components/InstallPWAAppComponent.vue?7521","webpack://skypestudy-web/src/layouts/MainLayout.vue","webpack://skypestudy-web/./src/layouts/MainLayout.vue?459e","webpack://skypestudy-web/./src/layouts/MainLayout.vue?bbdb","webpack://skypestudy-web/src/components/MainComponent.vue","webpack://skypestudy-web/./src/components/MainComponent.vue?965e","webpack://skypestudy-web/./src/components/MainComponent.vue?f9dd","webpack://skypestudy-web/./src/views/AccessDenied.vue","webpack://skypestudy-web/src/views/AccessDenied.vue","webpack://skypestudy-web/./src/views/AccessDenied.vue?3272","webpack://skypestudy-web/./src/views/AccessDenied.vue?d40e","webpack://skypestudy-web/./src/views/LogoutView.vue","webpack://skypestudy-web/src/views/LogoutView.vue","webpack://skypestudy-web/./src/views/LogoutView.vue?7dd4","webpack://skypestudy-web/./src/views/LogoutView.vue?aaf9","webpack://skypestudy-web/./src/components/MainWithoutContainerRestrictionsComponent.vue","webpack://skypestudy-web/./src/layouts/MainLayoutWithoutContainerRestrictions.vue","webpack://skypestudy-web/src/layouts/MainLayoutWithoutContainerRestrictions.vue","webpack://skypestudy-web/./src/layouts/MainLayoutWithoutContainerRestrictions.vue?2f1f","webpack://skypestudy-web/./src/layouts/MainLayoutWithoutContainerRestrictions.vue?b612","webpack://skypestudy-web/src/components/MainWithoutContainerRestrictionsComponent.vue","webpack://skypestudy-web/./src/components/MainWithoutContainerRestrictionsComponent.vue?9a35","webpack://skypestudy-web/./src/components/MainWithoutContainerRestrictionsComponent.vue?fa14","webpack://skypestudy-web/./src/components/MainComponentWithFullContainer.vue","webpack://skypestudy-web/./src/layouts/MainLayoutWithFullContainer.vue","webpack://skypestudy-web/src/layouts/MainLayoutWithFullContainer.vue","webpack://skypestudy-web/./src/layouts/MainLayoutWithFullContainer.vue?1971","webpack://skypestudy-web/./src/layouts/MainLayoutWithFullContainer.vue?74f2","webpack://skypestudy-web/src/components/MainComponentWithFullContainer.vue","webpack://skypestudy-web/./src/components/MainComponentWithFullContainer.vue?a44a","webpack://skypestudy-web/./src/components/MainComponentWithFullContainer.vue?b994","webpack://skypestudy-web/./src/layouts/MainAuthLayout.vue","webpack://skypestudy-web/./src/mixins/router-meta-data.mixin.js","webpack://skypestudy-web/src/layouts/MainAuthLayout.vue","webpack://skypestudy-web/./src/layouts/MainAuthLayout.vue?8b51","webpack://skypestudy-web/./src/layouts/MainAuthLayout.vue?dde0","webpack://skypestudy-web/./src/views/connections/ConnectionsLayer.vue","webpack://skypestudy-web/src/views/connections/ConnectionsLayer.vue","webpack://skypestudy-web/./src/views/connections/ConnectionsLayer.vue?74a0","webpack://skypestudy-web/./src/views/connections/ConnectionsLayer.vue?d2cb","webpack://skypestudy-web/./src/views/materials/MaterialsLayer.vue","webpack://skypestudy-web/src/views/materials/MaterialsLayer.vue","webpack://skypestudy-web/./src/views/materials/MaterialsLayer.vue?c72f","webpack://skypestudy-web/./src/views/materials/MaterialsLayer.vue?00ee","webpack://skypestudy-web/./src/views/ExternalLinkView.vue","webpack://skypestudy-web/src/views/ExternalLinkView.vue","webpack://skypestudy-web/./src/views/ExternalLinkView.vue?62a4","webpack://skypestudy-web/./src/views/ExternalLinkView.vue?8f1d","webpack://skypestudy-web/./src/views/preferences/PreferencesLayer.vue","webpack://skypestudy-web/src/views/preferences/PreferencesLayer.vue","webpack://skypestudy-web/./src/views/preferences/PreferencesLayer.vue?4317","webpack://skypestudy-web/./src/views/preferences/PreferencesLayer.vue?ca76","webpack://skypestudy-web/./src/views/lessons/LessonsLayer.vue","webpack://skypestudy-web/src/views/lessons/LessonsLayer.vue","webpack://skypestudy-web/./src/views/lessons/LessonsLayer.vue?820b","webpack://skypestudy-web/./src/views/lessons/LessonsLayer.vue?48a0","webpack://skypestudy-web/./src/views/notifications/NotificationsLayer.vue","webpack://skypestudy-web/./src/graphql/queries/user/notification/get-user-notification-types.query.js","webpack://skypestudy-web/src/views/notifications/NotificationsLayer.vue","webpack://skypestudy-web/./src/views/notifications/NotificationsLayer.vue?a81c","webpack://skypestudy-web/./src/views/notifications/NotificationsLayer.vue?0b5f","webpack://skypestudy-web/./src/router/index.js","webpack://skypestudy-web/./src/store/modules/loading/index.js","webpack://skypestudy-web/./src/graphql/queries/user/search-users-pagination.query.js","webpack://skypestudy-web/./src/store/modules/user/index.js","webpack://skypestudy-web/./src/graphql/mutations/connection/decline-connection-invitation.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/connection/create-connection-invitation.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/connection/remove-connection.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/connection/accept-connection.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/connection/cancel-connection-invitation.mutation.js","webpack://skypestudy-web/./src/graphql/queries/connection/get-user-contact-sharings-pagination.query.js","webpack://skypestudy-web/./src/store/modules/connection/index.js","webpack://skypestudy-web/./src/graphql/queries/user/chat/get-chat-list-pagination.query.js","webpack://skypestudy-web/./src/graphql/queries/user/chat/get_chat-messages-pagination.query.js","webpack://skypestudy-web/./src/store/modules/chat/index.js","webpack://skypestudy-web/./src/graphql/queries/user/activity-history/get-user-activity-history-pagination.query.js","webpack://skypestudy-web/./src/store/modules/activity-history/index.js","webpack://skypestudy-web/./src/graphql/queries/lesson/get-lessons-pagination.query.js","webpack://skypestudy-web/./src/store/modules/lesson/index.js","webpack://skypestudy-web/./src/graphql/queries/exercise/get-exercise-validators.query.js","webpack://skypestudy-web/./src/graphql/queries/exercise/get-quiz-all-points.query.js","webpack://skypestudy-web/./src/graphql/queries/exercise/get-exercises-admin-pagination.query.js","webpack://skypestudy-web/./src/graphql/queries/exercise/get-exercises-history.query.js","webpack://skypestudy-web/./src/graphql/queries/exercise/get-exercises-pagination.query.js","webpack://skypestudy-web/./src/store/modules/exercise/index.js","webpack://skypestudy-web/./src/graphql/queries/user/notification/get-user-notification-pagination.query.js","webpack://skypestudy-web/./src/graphql/mutations/user/notification/set-user-notifications-seen.mutation.js","webpack://skypestudy-web/./src/graphql/queries/user/notification/get-user-badges.query.js","webpack://skypestudy-web/./src/store/modules/notification/index.js","webpack://skypestudy-web/./src/store/modules/lesson-schedule/index.js","webpack://skypestudy-web/./src/graphql/queries/quiz/get-quizzes.query.js","webpack://skypestudy-web/./src/graphql/queries/quiz/get-lesson-quizzes.query.js","webpack://skypestudy-web/./src/graphql/mutations/quiz/link-quiz.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/quiz/check-quiz.mutation.js","webpack://skypestudy-web/./src/graphql/queries/quiz/get-quiz-history-paginated.query.js","webpack://skypestudy-web/./src/store/modules/quiz/index.js","webpack://skypestudy-web/./src/store/modules/lesson-board/index.js","webpack://skypestudy-web/./src/store/modules/microphone/index.js","webpack://skypestudy-web/./src/store/modules/stream-video/index.js","webpack://skypestudy-web/./src/store/index.js","webpack://skypestudy-web/./src/utils/graphql-errors.js","webpack://skypestudy-web/./src/plugins/show-gql-error.js","webpack://skypestudy-web/./src/registerServiceWorker.js","webpack://skypestudy-web/./src/filters/math.filter.js","webpack://skypestudy-web/./src/main.js","webpack://skypestudy-web/./src/mixins/error-by-key-later-init.mixin.js","webpack://skypestudy-web/./src/mixins/loading-by-key-later-init.mixin.js","webpack://skypestudy-web/./src/mixins/logger.mixin.js","webpack://skypestudy-web/./src/mixins/pagination-by-key-later.mixin.js","webpack://skypestudy-web/./src/graphql/mutations/refresh-token.mutation.js","webpack://skypestudy-web/./src/plugins/apollo/apollo.js","webpack://skypestudy-web/./src/plugins/i18n.js","webpack://skypestudy-web/./src/graphql/mutations/login.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/logout.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/reset-user-password.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/check-reset-user-password-token.mutation.js","webpack://skypestudy-web/./src/graphql/mutations/confirm-reset-user-password.mutation.js","webpack://skypestudy-web/./src/store/modules/authentication/index.js","webpack://skypestudy-web/./src/graphql/queries/user/get-current-user.query.js","webpack://skypestudy-web/./src/graphql/queries/user/get-current-user-balance.query.js","webpack://skypestudy-web/./src/graphql/queries/user/get-user-balance-transactions-pagination.query.js","webpack://skypestudy-web/./src/store/modules/current-user/index.js","webpack://skypestudy-web/./src/store/modules/lesson-socket/index.js","webpack://skypestudy-web/./src/utils/apollo.util.js","webpack://skypestudy-web/./src/utils/constants.util.js","webpack://skypestudy-web/./src/utils/generator.js","webpack://skypestudy-web/./src/utils/local-storage.util.js","webpack://skypestudy-web/./src/utils/string.js","webpack://skypestudy-web/./src/utils/string.util.js","webpack://skypestudy-web/webpack/bootstrap","webpack://skypestudy-web/webpack/runtime/chunk loaded","webpack://skypestudy-web/webpack/runtime/compat get default export","webpack://skypestudy-web/webpack/runtime/define property getters","webpack://skypestudy-web/webpack/runtime/ensure chunk","webpack://skypestudy-web/webpack/runtime/get javascript chunk filename","webpack://skypestudy-web/webpack/runtime/get mini-css chunk filename","webpack://skypestudy-web/webpack/runtime/global","webpack://skypestudy-web/webpack/runtime/harmony module decorator","webpack://skypestudy-web/webpack/runtime/hasOwnProperty shorthand","webpack://skypestudy-web/webpack/runtime/load script","webpack://skypestudy-web/webpack/runtime/make namespace object","webpack://skypestudy-web/webpack/runtime/publicPath","webpack://skypestudy-web/webpack/runtime/css loading","webpack://skypestudy-web/webpack/runtime/jsonp chunk loading","webpack://skypestudy-web/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{attrs:{\"rounded\":_vm.$vuetify.breakpoint.smAndDown ? '0' : 'lg'}},[_c('div',{staticClass:\"text-center\"},[_c('v-img',{staticClass:\"rounded-t-lg\",attrs:{\"height\":70,\"src\":require(\"@/assets/images/profile/cover.jpg\")}}),_c('AvatarComponent',{staticClass:\"mt-n9\",attrs:{\"first-name\":_vm.currentUser?.firstName ?? ' ',\"last-name\":_vm.currentUser?.lastName ?? ' ',\"profile-image\":_vm.currentUser?.profilePhotoX128,\"size\":64,\"first\":\"\",\"grouped\":\"\"}}),_c('v-card-text',{staticClass:\"pt-0\"},[(_vm.currentUser)?_c('v-list-item-content',[_c('v-list-item-title',[_c('router-link',{staticClass:\"text-decoration-none black--text font-weight-bold\",attrs:{\"to\":{\n\t\t\t\t\t\t\t\tname: 'userProfile',\n\t\t\t\t\t\t\t\tparams: { userId: _vm.currentUser.id },\n\t\t\t\t\t\t\t}}},[_vm._v(\" \"+_vm._s(_vm.currentUser.firstName)+\" \"+_vm._s(_vm.currentUser.lastName)+\" \")])],1),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.currentUser.shortAbout)+\" \")])],1):_vm._e()],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CurrentUserShortBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CurrentUserShortBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CurrentUserShortBlock.vue?vue&type=template&id=1ae6fc75\"\nimport script from \"./CurrentUserShortBlock.vue?vue&type=script&lang=js\"\nexport * from \"./CurrentUserShortBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('svg',{attrs:{\"height\":_vm.height,\"viewBox\":`0 0 ${_vm.short ? 36 : 170} 66`,\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"clip-rule\":\"evenodd\",\"d\":\"M10.6244 52.1004L11.6826 56.3296C12.0395 57.7542 13.198 59 15.0514 59H18.6582C20.5117 59 21.6639 57.7606 22.0208 56.3296L23.079 52.1004H22.2337L23.0289 47.2771C22.4466 47.5902 21.8518 47.8649 21.2506 48.1076L20.5994 52.1004H12.9976L12.3088 47.9096C12.0834 47.8074 11.8642 47.7116 11.645 47.603L11.4196 47.488C11.119 47.3346 10.8185 47.1685 10.5179 46.9961L11.357 52.1004H10.6244ZM22.3401 12.8688C26.9488 21.5188 26.2413 34.398 23.148 43.4505C22.7659 44.5493 22.3527 45.5586 21.9081 46.4594C24.488 45.4373 26.8174 43.6613 28.7272 41.4253C37.2745 31.4401 35.6277 17.3152 22.3401 12.8688ZM20.0922 12.2811C25.5274 19.8898 24.5255 34.4108 21.6201 42.9074C21.0377 44.6068 20.3865 46.0506 19.6915 47.1238C18.8085 47.3091 17.9131 47.4113 16.9989 47.4113C16.0846 47.4113 15.1829 47.3091 14.3063 47.1238C13.6112 46.0506 12.96 44.6004 12.3777 42.9074C9.46593 34.4108 8.47031 19.8898 13.9055 12.2811C14.9074 12.0958 15.9344 12 16.9926 12C18.0571 12 19.0903 12.0958 20.0922 12.2811ZM11.6638 12.8688C-1.62368 17.3152 -3.27679 31.4401 5.27054 41.4253C6.6043 42.9713 8.13218 44.3065 9.81034 45.3159C9.93557 45.3926 10.0483 45.4564 10.1735 45.5267C10.7997 45.8845 11.4384 46.1911 12.1021 46.4594C11.6576 45.5586 11.2318 44.5493 10.8623 43.4505C7.75647 34.398 7.04889 21.5124 11.6638 12.8688Z\",\"fill\":\"#FF8911\",\"fill-rule\":\"evenodd\"}}),(!_vm.short)?_c('path',{attrs:{\"d\":\"M50.969 58.23C50.0337 58.23 49.1827 58.069 48.416 57.747C47.6647 57.4097 47.013 56.9497 46.461 56.367C45.909 55.7843 45.4797 55.1173 45.173 54.366C44.8817 53.6147 44.736 52.8173 44.736 51.974C44.736 50.8393 44.989 49.8043 45.495 48.869C46.0163 47.9337 46.737 47.1823 47.657 46.615C48.5923 46.0477 49.6963 45.764 50.969 45.764C52.1957 45.764 53.2613 46.04 54.166 46.592C55.086 47.1287 55.7607 47.8493 56.19 48.754L53.729 49.536C53.453 49.03 53.062 48.639 52.556 48.363C52.0653 48.0717 51.521 47.926 50.923 47.926C50.2483 47.926 49.635 48.1023 49.083 48.455C48.5463 48.7923 48.117 49.2677 47.795 49.881C47.4883 50.479 47.335 51.1767 47.335 51.974C47.335 52.7407 47.496 53.4383 47.818 54.067C48.14 54.6803 48.5693 55.171 49.106 55.539C49.658 55.8917 50.2713 56.068 50.946 56.068C51.36 56.068 51.7587 55.999 52.142 55.861C52.5407 55.7077 52.8857 55.5083 53.177 55.263C53.4683 55.0023 53.6753 54.7187 53.798 54.412L56.282 55.148C56.0213 55.746 55.6303 56.275 55.109 56.735C54.603 57.195 53.9973 57.563 53.292 57.839C52.602 58.0997 51.8277 58.23 50.969 58.23ZM63.6584 58.23C62.7077 58.23 61.8567 58.069 61.1054 57.747C60.354 57.4097 59.7024 56.9497 59.1504 56.367C58.6137 55.7843 58.1997 55.125 57.9084 54.389C57.617 53.6377 57.4714 52.8403 57.4714 51.997C57.4714 51.1537 57.617 50.3563 57.9084 49.605C58.1997 48.8537 58.6137 48.1943 59.1504 47.627C59.7024 47.0443 60.354 46.592 61.1054 46.27C61.872 45.9327 62.723 45.764 63.6584 45.764C64.5937 45.764 65.437 45.9327 66.1884 46.27C66.955 46.592 67.6067 47.0443 68.1434 47.627C68.6954 48.1943 69.117 48.8537 69.4084 49.605C69.6997 50.3563 69.8454 51.1537 69.8454 51.997C69.8454 52.8403 69.6997 53.6377 69.4084 54.389C69.117 55.125 68.6954 55.7843 68.1434 56.367C67.6067 56.9497 66.955 57.4097 66.1884 57.747C65.437 58.069 64.5937 58.23 63.6584 58.23ZM60.0704 52.02C60.0704 52.7867 60.2314 53.4767 60.5534 54.09C60.8754 54.7033 61.3047 55.1863 61.8414 55.539C62.378 55.8917 62.9837 56.068 63.6584 56.068C64.3177 56.068 64.9157 55.8917 65.4524 55.539C66.0044 55.171 66.4414 54.6803 66.7634 54.067C67.0854 53.4383 67.2464 52.7483 67.2464 51.997C67.2464 51.2303 67.0854 50.5403 66.7634 49.927C66.4414 49.3137 66.0044 48.8307 65.4524 48.478C64.9157 48.11 64.3177 47.926 63.6584 47.926C62.9837 47.926 62.378 48.11 61.8414 48.478C61.3047 48.846 60.8754 49.3367 60.5534 49.95C60.2314 50.548 60.0704 51.238 60.0704 52.02ZM90.4893 58H87.9593V51.261C87.9593 50.1417 87.7753 49.3213 87.4073 48.8C87.0393 48.2787 86.5026 48.018 85.7973 48.018C85.092 48.018 84.4326 48.2863 83.8193 48.823C83.2213 49.3443 82.7996 50.0267 82.5543 50.87V58H80.0243V51.261C80.0243 50.1417 79.8403 49.3213 79.4723 48.8C79.1043 48.2787 78.5753 48.018 77.8853 48.018C77.18 48.018 76.5206 48.2787 75.9073 48.8C75.3093 49.3213 74.88 50.0037 74.6193 50.847V58H72.0893V45.971H74.3893V48.386C74.8646 47.5427 75.4856 46.8987 76.2523 46.454C77.0343 45.994 77.9236 45.764 78.9203 45.764C79.917 45.764 80.699 46.0247 81.2663 46.546C81.849 47.0673 82.2093 47.719 82.3473 48.501C82.8686 47.6117 83.505 46.937 84.2563 46.477C85.023 46.0017 85.897 45.764 86.8783 45.764C87.5836 45.764 88.174 45.8943 88.6493 46.155C89.1246 46.4157 89.4926 46.776 89.7533 47.236C90.014 47.6807 90.198 48.202 90.3053 48.8C90.428 49.3827 90.4893 50.0037 90.4893 50.663V58ZM111.805 58H109.275V51.261C109.275 50.1417 109.091 49.3213 108.723 48.8C108.355 48.2787 107.818 48.018 107.113 48.018C106.407 48.018 105.748 48.2863 105.135 48.823C104.537 49.3443 104.115 50.0267 103.87 50.87V58H101.34V51.261C101.34 50.1417 101.156 49.3213 100.788 48.8C100.42 48.2787 99.8907 48.018 99.2007 48.018C98.4954 48.018 97.8361 48.2787 97.2227 48.8C96.6247 49.3213 96.1954 50.0037 95.9347 50.847V58H93.4047V45.971H95.7047V48.386C96.1801 47.5427 96.8011 46.8987 97.5677 46.454C98.3497 45.994 99.2391 45.764 100.236 45.764C101.232 45.764 102.014 46.0247 102.582 46.546C103.164 47.0673 103.525 47.719 103.663 48.501C104.184 47.6117 104.82 46.937 105.572 46.477C106.338 46.0017 107.212 45.764 108.194 45.764C108.899 45.764 109.489 45.8943 109.965 46.155C110.44 46.4157 110.808 46.776 111.069 47.236C111.329 47.6807 111.513 48.202 111.621 48.8C111.743 49.3827 111.805 50.0037 111.805 50.663V58ZM114.605 53.331V45.971H117.135V52.825C117.135 53.8983 117.327 54.711 117.71 55.263C118.109 55.7997 118.684 56.068 119.435 56.068C119.91 56.068 120.37 55.9683 120.815 55.769C121.275 55.5697 121.689 55.2783 122.057 54.895C122.44 54.4963 122.747 54.021 122.977 53.469V45.971H125.507V55.148C125.507 55.4393 125.561 55.6463 125.668 55.769C125.775 55.8917 125.952 55.9607 126.197 55.976V58C125.936 58.046 125.722 58.0767 125.553 58.092C125.384 58.1073 125.223 58.115 125.07 58.115C124.61 58.115 124.227 57.9923 123.92 57.747C123.613 57.4863 123.437 57.1567 123.391 56.758L123.345 55.562C122.808 56.436 122.111 57.103 121.252 57.563C120.393 58.0077 119.45 58.23 118.423 58.23C117.166 58.23 116.215 57.816 115.571 56.988C114.927 56.16 114.605 54.941 114.605 53.331ZM139.523 58H136.993V51.261C136.993 50.1417 136.809 49.3213 136.441 48.8C136.088 48.2787 135.559 48.018 134.854 48.018C134.363 48.018 133.872 48.1407 133.382 48.386C132.906 48.6313 132.477 48.9687 132.094 49.398C131.71 49.812 131.434 50.295 131.266 50.847V58H128.736V45.971H131.036V48.386C131.342 47.8493 131.741 47.3893 132.232 47.006C132.738 46.6073 133.305 46.3007 133.934 46.086C134.562 45.8713 135.229 45.764 135.935 45.764C136.655 45.764 137.246 45.8943 137.706 46.155C138.181 46.4157 138.549 46.776 138.81 47.236C139.086 47.6807 139.27 48.202 139.362 48.8C139.469 49.3827 139.523 50.0037 139.523 50.663V58ZM142.459 58V45.971H144.989V58H142.459ZM142.459 43.993V41.21H144.989V43.993H142.459ZM154.723 57.379C154.508 57.4863 154.24 57.6013 153.918 57.724C153.596 57.8467 153.228 57.954 152.814 58.046C152.415 58.138 152.001 58.184 151.572 58.184C151.05 58.184 150.567 58.092 150.123 57.908C149.678 57.724 149.318 57.4327 149.042 57.034C148.781 56.62 148.651 56.091 148.651 55.447V47.926H147.064V45.971H148.651V42.015H151.181V45.971H153.803V47.926H151.181V54.642C151.211 55.056 151.342 55.3627 151.572 55.562C151.817 55.7613 152.116 55.861 152.469 55.861C152.821 55.861 153.159 55.7997 153.481 55.677C153.803 55.5543 154.04 55.4547 154.194 55.378L154.723 57.379ZM156.867 60.829C157.097 60.8597 157.319 60.8903 157.534 60.921C157.764 60.967 157.948 60.99 158.086 60.99C158.346 60.99 158.569 60.9057 158.753 60.737C158.952 60.5837 159.151 60.2923 159.351 59.863C159.55 59.4337 159.795 58.8127 160.087 58L155.142 45.971H157.787L161.467 55.424L164.733 45.971H167.171L161.72 60.783C161.551 61.2277 161.306 61.634 160.984 62.002C160.662 62.3853 160.263 62.6843 159.788 62.899C159.312 63.1137 158.753 63.221 158.109 63.221C157.925 63.221 157.733 63.2057 157.534 63.175C157.334 63.1443 157.112 63.0983 156.867 63.037V60.829Z\",\"fill\":\"#424242\"}}):_vm._e(),(!_vm.short)?_c('path',{attrs:{\"d\":\"M45.442 35V11.57H49.996V31.007H61.942V35H45.442ZM64.7135 35V11.57H69.2675V35H64.7135ZM78.7099 19.952V35H74.1559V11.57H77.7859L89.8969 27.014V11.603H94.4509V35H90.6559L78.7099 19.952ZM109.06 35.165C107.542 35.165 106.101 34.857 104.737 34.241C103.395 33.625 102.207 32.778 101.173 31.7C100.161 30.6 99.3688 29.324 98.7968 27.872C98.2248 26.42 97.9388 24.847 97.9388 23.153C97.9388 21.547 98.2248 20.04 98.7968 18.632C99.3688 17.202 100.172 15.948 101.206 14.87C102.24 13.792 103.45 12.945 104.836 12.329C106.222 11.713 107.729 11.405 109.357 11.405C111.557 11.405 113.438 11.878 115 12.824C116.584 13.748 117.772 14.98 118.564 16.52L115.165 19.028C114.571 17.862 113.735 16.971 112.657 16.355C111.601 15.739 110.446 15.431 109.192 15.431C108.202 15.431 107.3 15.64 106.486 16.058C105.672 16.476 104.968 17.048 104.374 17.774C103.78 18.5 103.318 19.336 102.988 20.282C102.68 21.228 102.526 22.229 102.526 23.285C102.526 24.407 102.691 25.441 103.021 26.387C103.373 27.333 103.857 28.158 104.473 28.862C105.111 29.566 105.848 30.127 106.684 30.545C107.52 30.941 108.444 31.139 109.456 31.139C110.644 31.139 111.777 30.831 112.855 30.215C113.955 29.599 114.978 28.697 115.924 27.509V31.997C113.966 34.109 111.678 35.165 109.06 35.165ZM115.594 26.288H110.875V22.955H119.356V35H115.594V26.288ZM133.17 35.165C131.3 35.165 129.705 34.857 128.385 34.241C127.087 33.603 126.031 32.734 125.217 31.634C124.425 30.534 123.842 29.291 123.468 27.905C123.094 26.497 122.907 25.034 122.907 23.516V11.57H127.461V23.516C127.461 24.484 127.549 25.43 127.725 26.354C127.923 27.256 128.242 28.07 128.682 28.796C129.122 29.522 129.705 30.094 130.431 30.512C131.157 30.93 132.059 31.139 133.137 31.139C134.237 31.139 135.15 30.93 135.876 30.512C136.624 30.072 137.207 29.489 137.625 28.763C138.065 28.037 138.384 27.223 138.582 26.321C138.78 25.397 138.879 24.462 138.879 23.516V11.57H143.4V23.516C143.4 25.122 143.202 26.629 142.806 28.037C142.432 29.445 141.827 30.688 140.991 31.766C140.177 32.822 139.121 33.658 137.823 34.274C136.525 34.868 134.974 35.165 133.17 35.165ZM153.421 11.57H158.041L166.654 35H161.968L159.79 29.159H151.606L149.461 35H144.775L153.421 11.57ZM158.965 25.958L155.731 16.289L152.365 25.958H158.965Z\",\"fill\":\"#424242\"}}):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogoComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogoComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LogoComponent.vue?vue&type=template&id=9f498ee0\"\nimport script from \"./LogoComponent.vue?vue&type=script&lang=js\"\nexport * from \"./LogoComponent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{\n\t\t\t'fill-height': _vm.fillContainer || _vm.fillHeight,\n\t\t\t'fill-width': _vm.fillContainer || _vm.fillWidth,\n\t\t}},[(_vm.hasError)?_c('div',{staticClass:\"d-flex\",class:{\n\t\t\t\t'fill-height': _vm.fillContainer || _vm.fillHeight,\n\t\t\t\t'fill-width': _vm.fillContainer || _vm.fillWidth,\n\t\t\t}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"740\",\"outlined\":\"\",\"rounded\":\"xl\"}},[_c('v-list-item',{attrs:{\"three-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-h5 mb-1 text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.oops\"))+\" \")]),_vm._l((_vm.errors),function(error){return _c('div',{key:error,domProps:{\"innerHTML\":_vm._s(error)}})})],2)],1),(_vm.hasReloadButton)?_c('v-card-actions',[_c('div',{staticClass:\"text-center fill-width\"},[_c('v-btn',{staticClass:\"no-uppercase\",attrs:{\"outlined\":\"\",\"rounded\":\"\",\"text\":\"\"},on:{\"click\":function($event){return _vm.reload()}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-reload \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.reload\"))+\" \")],1)],1)]):_vm._e()],1)],1):[_vm._t(\"default\")]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ErrorComponent.vue?vue&type=template&id=7a2138b1\"\nimport script from \"./ErrorComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorComponent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:{\n\t\t\t'fill-height': _vm.fillContainer || _vm.fillHeight,\n\t\t\t'fill-width': _vm.fillContainer || _vm.fillWidth,\n\t\t}},[(_vm.isLoading)?_c('div',{staticClass:\"d-flex text-center fill-height\"},[_c('div',{staticClass:\"ma-auto\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"width\":\"3\"}}),_c('div',{staticClass:\"mt-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.loading\"))+\" \")])],1)]):[_vm._t(\"default\")]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LoadingComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LoadingComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LoadingComponent.vue?vue&type=template&id=274b6efe\"\nimport script from \"./LoadingComponent.vue?vue&type=script&lang=js\"\nexport * from \"./LoadingComponent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-avatar',{staticClass:\"cursor-default\",class:{ grouped: _vm.grouped },style:(`margin-left: -${!_vm.first && _vm.grouped ? _vm.size * 0.7 : 0}px`),attrs:{\"color\":_vm.avatarColor,\"size\":_vm.size}},[_c('AvatarInnerComponent',{attrs:{\"first-name\":_vm.firstName,\"last-name\":_vm.lastName,\"profile-image\":_vm.profileImage,\"size\":_vm.size}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AvatarComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AvatarComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AvatarComponent.vue?vue&type=template&id=5ca712cb&scoped=true\"\nimport script from \"./AvatarComponent.vue?vue&type=script&lang=js\"\nexport * from \"./AvatarComponent.vue?vue&type=script&lang=js\"\nimport style0 from \"./AvatarComponent.vue?vue&type=style&index=0&id=5ca712cb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ca712cb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.profileImage?.fullUri)?_c('img',{attrs:{\"height\":_vm.size,\"src\":_vm.profileImage.fullUri,\"width\":_vm.size,\"alt\":\"Avatar\"}}):_c('span',{staticClass:\"white--text\",style:(`font-size: ${_vm.size * 0.53}px`),domProps:{\"textContent\":_vm._s(`${_vm.firstName.charAt(0)}${_vm.lastName.charAt(0)}`)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AvatarInnerComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AvatarInnerComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AvatarInnerComponent.vue?vue&type=template&id=93547a82\"\nimport script from \"./AvatarInnerComponent.vue?vue&type=script&lang=js\"\nexport * from \"./AvatarInnerComponent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-avatar',{ref:\"avatar\",class:{ grouped: _vm.grouped },style:(`margin-left: -${!_vm.firstItem && _vm.grouped ? _vm.size * 0.4 : 0}px;`),attrs:{\"color\":_vm.customColor ?? _vm.color,\"size\":_vm.size_}},[(_vm.user)?[(_vm.user[_vm.profileImageKey]?.fullUri)?_c('img',{attrs:{\"height\":_vm.size_,\"src\":_vm.user[_vm.profileImageKey].fullUri,\"width\":_vm.size_,\"alt\":\"Avatar\"}}):_c('span',{staticClass:\"white--text\",style:(`font-size: ${_vm.size * 0.53}px`),domProps:{\"textContent\":_vm._s(\n\t\t\t\t\t`${_vm.user.firstName.charAt(0)}${\n\t\t\t\t\t\t_vm.user.lastName ? _vm.user.lastName.charAt(0) : ''\n\t\t\t\t\t}`\n\t\t\t\t)}})]:_c('span',{staticClass:\"white--text\",style:(`font-size: ${_vm.size * 0.53}px`),domProps:{\"textContent\":_vm._s(_vm.defaultText)}})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserAvatarComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserAvatarComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserAvatarComponent.vue?vue&type=template&id=cbd9a4a6&scoped=true\"\nimport script from \"./UserAvatarComponent.vue?vue&type=script&lang=js\"\nexport * from \"./UserAvatarComponent.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserAvatarComponent.vue?vue&type=style&index=0&id=cbd9a4a6&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cbd9a4a6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":\"600px\",\"persistent\":\"\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.close.apply(null, arguments)}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[(_vm.notification)?[(_vm.notification.type === _vm.USER_NOTIFICATION_TYPES.Lesson)?_c('urgent-notification-lesson-type',{attrs:{\"data\":_vm.notification},on:{\"close\":_vm.close}}):_vm._e(),(_vm.notification.type === _vm.USER_NOTIFICATION_TYPES.Other)?_c('urgent-notification-other-type',{attrs:{\"data\":_vm.notification},on:{\"close\":_vm.close}}):_vm._e()]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.data.action === _vm.USER_NOTIFICATION_ACTIONS.Lesson.LessonScheduled)?_c('urgent-notification-lesson-type-lesson-scheduled-action',{attrs:{\"data\":_vm.data},on:{\"close\":(x) => _vm.$emit('close', x)}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{attrs:{\"rounded\":\"xl\"}},[_c('v-card-title',{domProps:{\"innerHTML\":_vm._s(_vm.data.title)}}),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.data.description)}}),_c('div',{staticClass:\"d-flex justify-end pa-2 gap-3\"},[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"grey\",\"rounded\":\"\",\"text\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.$emit('close', { id: _vm.data.id })}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"buttons.ignore\"))+\" \")]),_c('v-btn',{staticClass:\"float-end\",attrs:{\"color\":\"secondary\",\"outlined\":\"\",\"rounded\":\"\",\"type\":\"submit\"},on:{\"click\":_vm.join}},[_c('v-icon',[_vm._v(\"mdi-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"buttons.join\"))+\" \")],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationLessonTypeLessonScheduledAction.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationLessonTypeLessonScheduledAction.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UrgentNotificationLessonTypeLessonScheduledAction.vue?vue&type=template&id=23ba7bf4\"\nimport script from \"./UrgentNotificationLessonTypeLessonScheduledAction.vue?vue&type=script&lang=js\"\nexport * from \"./UrgentNotificationLessonTypeLessonScheduledAction.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationLessonType.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationLessonType.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UrgentNotificationLessonType.vue?vue&type=template&id=9e4e6424\"\nimport script from \"./UrgentNotificationLessonType.vue?vue&type=script&lang=js\"\nexport * from \"./UrgentNotificationLessonType.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('urgent-notification-other-type-action',{attrs:{\"data\":_vm.data},on:{\"close\":(x) => _vm.$emit('close', x)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{attrs:{\"rounded\":\"xl\"}},[_c('v-card-title',{domProps:{\"innerHTML\":_vm._s(_vm.data.title)}}),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.data.description)}}),_c('div',{staticClass:\"d-flex justify-end pa-2\"},[_c('v-btn',{attrs:{\"color\":\"secondary\",\"outlined\":\"\",\"rounded\":\"\",\"type\":\"submit\"},on:{\"click\":_vm.close}},[_vm._v(\" \"+_vm._s(_vm.$t(\"buttons.close\"))+\" \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationOtherTypeAction.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationOtherTypeAction.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UrgentNotificationOtherTypeAction.vue?vue&type=template&id=eaac72ec\"\nimport script from \"./UrgentNotificationOtherTypeAction.vue?vue&type=script&lang=js\"\nexport * from \"./UrgentNotificationOtherTypeAction.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationOtherType.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationOtherType.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UrgentNotificationOtherType.vue?vue&type=template&id=6b734760\"\nimport script from \"./UrgentNotificationOtherType.vue?vue&type=script&lang=js\"\nexport * from \"./UrgentNotificationOtherType.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotification.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UrgentNotification.vue?vue&type=template&id=3ea08e30\"\nimport script from \"./UrgentNotification.vue?vue&type=script&lang=js\"\nexport * from \"./UrgentNotification.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-list-item-avatar',{class:{ grouped: _vm.grouped },attrs:{\"color\":_vm.avatarColor,\"size\":_vm.size}},[_c('AvatarInnerComponent',{attrs:{\"first-name\":_vm.firstName,\"last-name\":_vm.lastName,\"profile-image\":_vm.profileImage,\"size\":_vm.size}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StudentsSelectInputAvatar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StudentsSelectInputAvatar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StudentsSelectInputAvatar.vue?vue&type=template&id=33bf4476&scoped=true\"\nimport script from \"./StudentsSelectInputAvatar.vue?vue&type=script&lang=js\"\nexport * from \"./StudentsSelectInputAvatar.vue?vue&type=script&lang=js\"\nimport style0 from \"./StudentsSelectInputAvatar.vue?vue&type=style&index=0&id=33bf4476&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33bf4476\",\n null\n \n)\n\nexport default component.exports","export const USER_NOTIFICATION_TYPES = {\n Lesson: \"Lesson\",\n Other: \"Other\",\n};\n\nexport const USER_NOTIFICATION_ACTIONS = {\n Lesson: {\n LessonScheduled: \"LessonScheduled\",\n },\n Other: {\n Welcome: \"Welcome\",\n },\n};\n","export const USER_ROLE = {\n ADMIN: \"ADMIN\",\n INSTRUCTOR: \"INSTRUCTOR\",\n STUDENT: \"STUDENT\",\n};\n","import gql from \"graphql-tag\";\n\nexport const CREATE_EXERCISE_AUDIO_MUTATION = gql`\n mutation ($exerciseId: Int!, $file: Upload!, $title: String!) {\n createExerciseAudio(\n data: { exerciseId: $exerciseId, file: $file, title: $title }\n ) {\n id\n fullUri\n title\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const REMOVE_EXERCISE_AUDIO_MUTATION = gql`\n mutation ($id: Int!) {\n removeExerciseAudio(data: { id: $id }) {\n id\n fullUri\n title\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const RENEW_EXERCISE_AUDIO_MUTATION = gql`\n mutation ($newAudio: CreateAudioInput!, $oldAudio: RemoveAudioInput!) {\n renewExerciseAudio(data: { newAudio: $newAudio, oldAudio: $oldAudio }) {\n id\n fullUri\n title\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const UPDATE_AUDIO_MUTATION = gql`\n mutation ($id: Int!, $title: String!) {\n updateAudio(data: { id: $id, title: $title }) {\n id\n fullUri\n title\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CHANGE_ORDER_EXERCISE_MUTATION = gql`\n mutation ChangeOrderExercise(\n $first: ChangeOrderExerciseInput!\n $second: ChangeOrderExerciseInput!\n ) {\n changeOrderExercise(first: $first, second: $second) {\n id\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CHECK_EXERCISE_PREVIEW_MUTATION = gql`\n mutation CheckExercisePreview(\n $data: CheckExerciseDataTypeInput!\n $answer: CheckExerciseAnswerTypeInput!\n $points: Float!\n $quizId: Int\n ) {\n checkExercisePreview(\n data: { data: $data, answer: $answer, points: $points, quizId: $quizId }\n ) {\n dragTheWords {\n incorrect\n points\n showIncorrect\n showError\n }\n fillInTheBlanks {\n incorrect\n points\n showIncorrect\n showError\n }\n findSynonym {\n incorrect\n points\n showIncorrect\n showError\n }\n findThePlace {\n incorrect\n points\n showIncorrect\n showError\n }\n markTheWords {\n incorrect\n points\n showIncorrect\n showError\n }\n multipleChoice {\n incorrect\n points\n showIncorrect\n showError\n }\n singleChoice {\n incorrect\n points\n showIncorrect\n showError\n }\n trueFalse {\n incorrect\n points\n showIncorrect\n showError\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CREATE_EXERCISE_MUTATION = gql`\n mutation (\n $description: String\n $errorHint: String\n $quizId: Int\n $publicationResourceId: Int\n $order: Int!\n $points: Float\n $audio: CreateExerciseAudioInput\n $audioHidden: Boolean\n $audioAutoplay: Boolean\n $dragTheWords: UpsertDragTheWordsExerciseInput\n $fillInTheBlanks: UpsertFillInTheBlanksExerciseInput\n $findSynonym: UpsertFindSynonymExerciseInput\n $findThePlace: UpsertFindThePlaceExerciseInput\n $markTheWords: UpsertMarkTheWordsExerciseInput\n $multipleChoice: UpsertMultipleChoiceExerciseInput\n $singleChoice: UpsertSingleChoiceExerciseInput\n $trueFalse: UpsertTrueFalseExerciseDataInput\n ) {\n createExercise(\n data: {\n description: $description\n errorHint: $errorHint\n quizId: $quizId\n publicationResourceId: $publicationResourceId\n order: $order\n points: $points\n audio: $audio\n audioAutoplay: $audioAutoplay\n audioHidden: $audioHidden\n dragTheWords: $dragTheWords\n fillInTheBlanks: $fillInTheBlanks\n findSynonym: $findSynonym\n findThePlace: $findThePlace\n markTheWords: $markTheWords\n multipleChoice: $multipleChoice\n singleChoice: $singleChoice\n trueFalse: $trueFalse\n }\n ) {\n id\n description\n createdAt\n errorHint\n order\n points\n type\n updatedAt\n version\n audio {\n id\n fullUri\n title\n }\n media {\n id\n fullUri\n title\n }\n audioAutoplay\n audioHidden\n quizId\n dragTheWords {\n answer\n data\n audios\n images\n text\n }\n fillInTheBlanks {\n answer\n audios\n images\n text\n }\n findSynonym {\n answer\n text\n }\n findThePlace {\n answer\n data\n text\n }\n markTheWords {\n answer\n text\n }\n multipleChoice {\n answer\n data\n }\n singleChoice {\n answer\n data\n }\n trueFalse {\n answer\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const DELETE_EXERCISE_MUTATION = gql`\n mutation DeleteExercise($id: Int!) {\n removeExercise(data: { id: $id }) {\n id\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const PREVIEW_EXERCISE_MUTATION = gql`\n mutation PreviewExercise(\n $dragTheWords: UpsertDragTheWordsExerciseInput\n $fillInTheBlanks: UpsertFillInTheBlanksExerciseInput\n $findSynonym: UpsertFindSynonymExerciseInput\n $findThePlace: UpsertFindThePlaceExerciseInput\n $markTheWords: UpsertMarkTheWordsExerciseInput\n $multipleChoice: UpsertMultipleChoiceExerciseInput\n $singleChoice: UpsertSingleChoiceExerciseInput\n $trueFalse: UpsertTrueFalseExerciseDataInput\n ) {\n previewExercise(\n data: {\n dragTheWords: $dragTheWords\n fillInTheBlanks: $fillInTheBlanks\n findSynonym: $findSynonym\n findThePlace: $findThePlace\n markTheWords: $markTheWords\n multipleChoice: $multipleChoice\n singleChoice: $singleChoice\n trueFalse: $trueFalse\n }\n ) {\n type\n audio {\n id\n fullUri\n title\n }\n media {\n id\n fullUri\n title\n }\n dragTheWords {\n answer\n data\n images\n text\n }\n fillInTheBlanks {\n answer\n images\n text\n }\n findSynonym {\n answer\n text\n }\n findThePlace {\n answer\n data\n text\n }\n markTheWords {\n answer\n text\n }\n multipleChoice {\n answer\n data\n }\n singleChoice {\n answer\n data\n }\n trueFalse {\n answer\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const UPDATE_EXERCISE_MUTATION = gql`\n mutation (\n $id: Int!\n $description: String\n $errorHint: String\n $points: Float\n $audioHidden: Boolean\n $audioAutoplay: Boolean\n $dragTheWords: UpsertDragTheWordsExerciseInput\n $fillInTheBlanks: UpsertFillInTheBlanksExerciseInput\n $findSynonym: UpsertFindSynonymExerciseInput\n $findThePlace: UpsertFindThePlaceExerciseInput\n $markTheWords: UpsertMarkTheWordsExerciseInput\n $multipleChoice: UpsertMultipleChoiceExerciseInput\n $singleChoice: UpsertSingleChoiceExerciseInput\n $trueFalse: UpsertTrueFalseExerciseDataInput\n ) {\n updateExercise(\n data: {\n id: $id\n description: $description\n errorHint: $errorHint\n points: $points\n audioAutoplay: $audioAutoplay\n audioHidden: $audioHidden\n dragTheWords: $dragTheWords\n fillInTheBlanks: $fillInTheBlanks\n findSynonym: $findSynonym\n findThePlace: $findThePlace\n markTheWords: $markTheWords\n multipleChoice: $multipleChoice\n singleChoice: $singleChoice\n trueFalse: $trueFalse\n }\n ) {\n id\n description\n createdAt\n errorHint\n order\n points\n type\n updatedAt\n version\n quizId\n audio {\n id\n fullUri\n title\n }\n media {\n id\n fullUri\n title\n }\n dragTheWords {\n answer\n data\n audios\n images\n text\n }\n fillInTheBlanks {\n answer\n audios\n images\n text\n }\n findSynonym {\n answer\n text\n }\n findThePlace {\n answer\n data\n text\n }\n markTheWords {\n answer\n text\n }\n multipleChoice {\n answer\n data\n }\n singleChoice {\n answer\n data\n }\n trueFalse {\n answer\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CHANGE_ORDER_LESSON_ATTACHMENT_MUTATION = gql`\n mutation ($fromId: Int!, $toId: Int!) {\n changeOrderLessonAttachment(data: { fromId: $fromId, toId: $toId }) {\n id\n fullUri\n title\n mimeType\n order\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CREATE_LESSON_ATTACHMENT_MUTATION = gql`\n mutation ($file: Upload!, $lessonId: Int!, $title: String!, $order: Int!) {\n createLessonAttachment(\n data: { file: $file, lessonId: $lessonId, title: $title, order: $order }\n ) {\n id\n fullUri\n title\n mimeType\n order\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CREATE_LESSON_MUTATION = gql`\n mutation (\n $categoryId: Int\n $description: String!\n $privacy: LessonQuizPrivacy!\n $title: String!\n $notes: String\n ) {\n createLesson(\n data: {\n categoryId: $categoryId\n description: $description\n privacy: $privacy\n title: $title\n notes: $notes\n }\n ) {\n id\n title\n description\n privacy\n createdAt\n notes\n authorId\n categoryId\n attachments {\n id\n fullUri\n title\n mimeType\n order\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const DELETE_LESSON_ATTACHMENT_MUTATION = gql`\n mutation DeleteLessonAttachment($id: Int!) {\n removeLessonAttachment(data: { id: $id }) {\n id\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const DELETE_LESSON_MUTATION = gql`\n mutation DeleteLesson($id: Int!) {\n removeLesson(data: { id: $id }) {\n id\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const UPDATE_LESSON_ATTACHMENT_MUTATION = gql`\n mutation ($id: Int!, $title: String!) {\n updateLessonAttachment(data: { id: $id, title: $title }) {\n id\n fullUri\n title\n mimeType\n order\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const UPDATE_LESSON_MUTATION = gql`\n mutation (\n $id: Int!\n $categoryId: Int\n $description: String!\n $privacy: LessonQuizPrivacy!\n $title: String!\n $notes: String\n ) {\n updateLesson(\n data: {\n id: $id\n categoryId: $categoryId\n description: $description\n privacy: $privacy\n title: $title\n notes: $notes\n }\n ) {\n id\n title\n description\n privacy\n createdAt\n notes\n authorId\n categoryId\n attachments {\n id\n fullUri\n title\n mimeType\n order\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const UNLINK_QUIZ_MUTATION = gql`\n mutation ($quizId: Int!, $lessonId: Int!) {\n unlinkQuiz(data: { quizId: $quizId, lessonId: $lessonId }) {\n quizId\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_SELF_USER_CONNECTION_COUNTS_QUERY = gql`\n query {\n getSelfUserConnectionCounts {\n pendingSharedContacts\n connections\n pendingConnections\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_CONNECTIONS_HISTORY_PAGINATION_QUERY = gql`\n query (\n $type: UserConnectionType!\n $status: UserConnectionStatus\n $skip: Int!\n $take: Int!\n ) {\n getUserConnectionsHistory(\n data: {\n type: $type\n status: $status\n pagination: { skip: $skip, take: $take }\n }\n ) {\n total\n hasMore\n items {\n id\n firstName\n lastName\n shortAbout\n profilePhotoX128 {\n fullUri\n }\n connectionStatus\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_CONNECTIONS_PAGINATION_QUERY = gql`\n query ($id: Int, $search: String, $skip: Int!, $take: Int!) {\n getUserConnections(\n data: {\n id: $id\n search: $search\n pagination: { skip: $skip, take: $take }\n }\n ) {\n total\n hasMore\n items {\n id\n firstName\n lastName\n shortAbout\n profilePhotoX64 {\n id\n photoSize\n fullUri\n }\n connectionStatus\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_EXERCISE_QUERY = gql`\n query ($id: Int!) {\n getExercise(data: { id: $id }) {\n id\n description\n createdAt\n errorHint\n order\n points\n type\n updatedAt\n version\n quizId\n audioAutoplay\n audioHidden\n audio {\n id\n fullUri\n title\n }\n dragTheWords {\n answer\n data\n images\n text\n audios\n }\n fillInTheBlanks {\n answer\n images\n text\n audios\n }\n findSynonym {\n answer\n text\n }\n findThePlace {\n answer\n data\n text\n }\n markTheWords {\n answer\n text\n }\n multipleChoice {\n answer\n data\n }\n singleChoice {\n answer\n data\n }\n trueFalse {\n answer\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_LESSON_QUERY = gql`\n query ($id: Int!) {\n getLesson(data: { id: $id }) {\n id\n title\n authorId\n description\n privacy\n createdAt\n notes\n categoryId\n attachments {\n id\n fullUri\n title\n mimeType\n order\n }\n fork {\n id\n categoryId\n lessonId\n userId\n createdAt\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_QUIZ_HISTORY_QUERY = gql`\n query ($quizHistoryId: Int!) {\n getQuizHistory(data: { quizHistoryId: $quizHistoryId }) {\n id\n maxPoints\n earnedPoints\n createdAt\n user {\n id\n firstName\n lastName\n profilePhotoX64 {\n fullUri\n }\n email\n }\n nonRegisteredUser {\n id\n fullName\n telNumber\n }\n quiz {\n id\n title\n description\n showCorrectnessOnError\n itemsPerPage\n deletedAt\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_REVIEWS_PAGINATION_QUERY = gql`\n query ($userId: Int!, $skip: Int!, $take: Int!) {\n getUserReviews(\n data: { userId: $userId, pagination: { skip: $skip, take: $take } }\n ) {\n hasMore\n total\n items {\n id\n comment\n averageValue\n reviewer {\n id\n firstName\n lastName\n profilePhotoX64 {\n fullUri\n }\n }\n numberOfLessonsBetweenReviewer\n createdAt\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_MATCH_PAGINATION_QUERY = gql`\n query (\n $query: String\n $priceFrom: Float\n $priceTo: Float\n $speakIds: [Int!]\n $targetLanguageId: Int!\n $specialityIds: [Int!]\n $skip: Int!\n $take: Int!\n ) {\n getInstructorsMatch(\n data: {\n query: $query\n priceFrom: $priceFrom\n priceTo: $priceTo\n speakIds: $speakIds\n specialityIds: $specialityIds\n targetLanguageId: $targetLanguageId\n pagination: { skip: $skip, take: $take }\n }\n ) {\n hasMore\n total\n items {\n id\n firstName\n lastName\n shortAbout\n longAbout\n profilePhotoX128 {\n fullUri\n }\n specialities {\n id\n title\n }\n commonRatingComputed {\n rating\n number\n }\n priceRangeComputed {\n from\n to\n }\n userLastReviewComputed {\n userReview {\n id\n comment\n }\n }\n }\n }\n }\n`;\n","module.exports = {\n title: \"Lingua.community\",\n serviceWorker: {\n NEW_VERSION_AVAILABLE: {\n content: \"A new version is available!\",\n },\n INSTALL_RECOMMENDATION: {\n title: \"Application Installation\",\n content:\n \"Install the Lingua Community app to make using our platform more convenient.\",\n iosSteps: `To install app into your device please follow steps described below:
  1. Click \"Share\"
    \"Step
  2. Click \"Add to Home Screen\"
    \"Step
  3. Click \"Add\"
    \"Step
  4. Find application from your \"Home Screen\"
    \"Step
`,\n install: \"Install\",\n },\n },\n autoMessages: {\n CONNECT: `\n Hi!\n I would like to connect with you.\n `,\n BOOK_LESSON: `\n Hi!\n I would like to book lesson with you.\n `,\n },\n validators: {\n required: \"This field is required\",\n minValue: \"Min value allowed is {value}\",\n maxValue: \"Max value allowed is {value}\",\n minArrayValue: \"Min allowed options is {value}\",\n maxArrayValue: \"Max allowed options is {value}\",\n passwordMustMatch: \"Password must be matched\",\n invalidEmail: \"Invalid Email\",\n maxLength: \"Field should not exceed {length} characters\",\n selectAtLeastOne: \"Select at least one option\",\n firstName: \"Name is required\",\n lastName: \"Last name is required\",\n mustSelect: \"You must select {length} criterion\",\n optionalPrefix: \"(opt.)\",\n },\n errorMessages: {\n LESSON_NOT_FOUND: \"Lesson is not found\",\n \"Failed to fetch\":\n \"You have connection issues, please check your internet and try again\",\n REQUIRED_DRAGGABLE_MARKED_SYMBOL: \"Required draggable marked phrase\",\n REQUIRED_DRAGGABLE_MARKED_SYMBOL_MIN_1:\n \"Required at least 1 draggable marked phrase\",\n REQUIRED_FIELD_MARKED_SYMBOL: \"Required field marked phrase\",\n REQUIRED_FIELD_MARKED_SYMBOL_MIN_1:\n \"Required at least 1 field marked phrase\",\n REQUIRED_SYNONYM_MARKED_SYMBOL: \"Required synonym marked phrase\",\n REQUIRED_REAL_SYNONYM_MARKED_SYMBOL: \"Required real synonym marked phrase\",\n REQUIRED_FAKE_SYNONYM_MARKED_SYMBOL: \"Required fake synonym marked phrase\",\n SYNONYM_MARKED_SYMBOL_MUST_BE_1: \"Required exactly 1 synonym marked phrase\",\n REAL_SYNONYM_MARKED_SYMBOL_MUST_BE_1:\n \"Required exactly 1 real synonym marked phrase\",\n REQUIRED_FAKE_SYNONYM_MARKED_SYMBOL_MIN_1:\n \"Required at least 1 fake synonym marked phrase\",\n REQUIRED_REAL_PLACE_MARKED_SYMBOL: \"Required real place marked phrase\",\n REQUIRED_FAKE_PLACE_MARKED_SYMBOL: \"Required fake place marked symbol\",\n REAL_PLACE_MARKED_SYMBOL_MUST_BE_1:\n \"Required exactly 1 real place marked phrase\",\n REQUIRED_FAKE_PLACE_MARKED_SYMBOL_MIN_1:\n \"Required at least 1 fake place marked symbol\",\n REQUIRED_CORRECT_OR_WRONG_MARKED_SYMBOL:\n \"Required correct/wrong marked phrase\",\n REQUIRED_CORRECT_OR_WRONG_MARKED_SYMBOL_MIN_1:\n \"Required at least 1 correct/wrong marked phrase\",\n USER_EMAIL_ALREADY_CREATED:\n \"User with this email has been already registered\",\n INVALID_PERMISSIONS:\n \"The resource you are looking for is not available currently.
It seems the resource has some privacy settings applied.\",\n },\n pages: {\n common: {\n profile: \"Profile\",\n balance: \"Balance: ${value}\",\n visitProfile: \"Visit profile\",\n profileSettings: \"Profile settings\",\n logout: \"Logout\",\n message: \"Message\",\n connect: \"Connect\",\n joinToConnect: \"Join to connect\",\n removeConnection: \"Remove\",\n pending: \"Pending\",\n acceptInvitation: \"Accept\",\n declineInvitation: \"Decline\",\n filters: \"Filters\",\n id: \"ID\",\n cancel: \"Cancel\",\n add: \"Add\",\n share: \"Share\",\n repost: \"Repost\",\n repostWithYourThoughts: \"Repost with your thoughts\",\n send: \"Send\",\n submit: \"Submit\",\n apply: \"Apply\",\n save: \"Save\",\n unsave: \"Unsave\",\n like: \"Like\",\n unlike: \"Unlike\",\n comment: \"Comment\",\n likes: \"Like(s)\",\n comments: \"Comment(s)\",\n login: \"Login\",\n signUp: \"Sign Up\",\n create: \"Create\",\n update: \"Update\",\n edit: \"Edit\",\n reset: \"Reset\",\n close: \"Close\",\n delete: \"Delete\",\n loading: \"Loading\",\n loadMore: \"Load More\",\n oops: \"Oops\",\n reload: \"Reload\",\n copied: \"Copied\",\n searchAnyPerson: \"Search any person\",\n typeAnyPersonsName: \"Type any person's name\",\n noMatchingUsers: \"No matching users\",\n searchForUsers: \"Search for users\",\n seeAllResults: \"See all results\",\n search: \"Search\",\n show: \"Show\",\n showMore: \"show more\",\n showLess: \"show less\",\n untitled: \"Untitled\",\n unnamed: \"Unnamed\",\n copyLink: \"Copy link\",\n preview: \"Preview\",\n moveUp: \"Move Up\",\n moveDown: \"Move Down\",\n fork: \"Save\",\n unfork: \"Unsave\",\n actions: \"Actions\",\n tabs: {\n main: \"Main\",\n home: \"Home\",\n myNetwork: \"My Network\",\n lessons: \"Lessons\",\n messages: \"Messages\",\n materials: \"Materials\",\n notifications: \"Notifications\",\n },\n download: \"Download\",\n uploading: \"Uploading...\",\n next: \"Next\",\n done: \"Done\",\n new: \"New\",\n rename: \"Rename\",\n back: \"Back\",\n category: {\n saved: \"Saved\",\n categories: \"Categories\",\n title: \"Category\",\n newTitle: \"New Category\",\n editTitle: \"Edit Category\",\n addCategory: \"Add Category\",\n form: {\n title: \"Title\",\n },\n },\n linkToShare: \"Link to Share\",\n select: \"Select\",\n selected: \"Selected\",\n nItemsSelected: \"{value} item(s) selected\",\n more: \"More\",\n },\n feed: {\n form: {\n content: {\n placeholder: \"Write what's on your mind...\",\n },\n },\n noFeedsFound: \"No feeds found\",\n post: \"Post\",\n photoOrVideo: \"Photo / Video\",\n addMaterial: \"Add material\",\n repostDescription: {\n repost: \"Instantly bring post to other's feed\",\n repostWithYourThoughts: \"Create new post with current post\",\n },\n copyLinkToPost: \"Copy link to post\",\n selectUsersToSend: \"Select user(s) to send post\",\n },\n comment: {\n form: {\n content: {\n commentPlaceholder: \"Add a comment...\",\n replyPlaceholder: \"Add a reply...\",\n },\n },\n comment: \"Comment\",\n noCommentsAddedYet: \"No comments added\",\n commentNow: \"Comment now\",\n loadMoreComments: \"Load more comments\",\n reply: \"Reply\",\n replyingTo: \"Replying to:\",\n viewMoreReplies: \"View more replies ({value})\",\n viewReplies: \"View replies ({value})\",\n },\n mediaEditor: {\n title: \"Editor\",\n upload: {\n selectAFileToBegin: \"Select a file to begin\",\n sharePhotoOrVideoInYourPost: \"Share photo or video in your post\",\n uploadFromYourDevice: \"Upload from your device\",\n dragYourFilesHere: \"Drag your files here\",\n dropYourFileHere: \"Drop your file here\",\n dropYourFilesHere: \"Drop your files here\",\n },\n },\n home: {\n leftContainerDescription:\n \"The place, where students and teachers from all over the world achieve high results while working with no intermediaries\",\n aboutUs: \"About us\",\n iAmAStudent: \"I am a student\",\n iAmATeacher: \"I am a teacher\",\n },\n promo: {\n student: {\n title: \"Over 100 professional teachers that people trust\",\n description:\n \"Students give grades to the teachers for the effectiveness in teaching. Based on the grades, we recommend you the best teachers\",\n howEffectiveWasLesson: \"How effective was your lesson?\",\n submitGrade: \"Submit the grade\",\n filterData: {\n title: \"Answer the questions and we will select the ideal teacher\",\n languageYouWantToLearn: \"Language you want to learn\",\n chooseLanguage: \"Choose language\",\n priceForLesson: \"Price for the lesson\",\n chooseQuality:\n \"Choose the quality you appreciate the most in your teacher\",\n },\n showResult: \"Show result\",\n showMore: \"Show more ({value})\",\n },\n },\n modules: {\n voiceRecorder: {\n title: \"Voice Recorder\",\n },\n cameraInitialization: {\n title: \"Camera Initialization\",\n },\n cameraSettings: {\n title: \"Camera Settings\",\n audio: \"Audio\",\n video: \"Video\",\n microphone: \"Microphone\",\n camera: \"Camera\",\n preview: \"Preview\",\n },\n },\n camera: {\n cameraNotVisibleDescription:\n \"If you can't see yourself, please change camera input device in settings\",\n cameraSettings: \"Camera Settings\",\n },\n skills: {\n userCard: {\n perHour: \"h.\",\n review: {\n hadNLessonsTogether:\n \"had no lessons together | had {value} lesson together | had {value} lessons together\",\n noReviewsFound: \"No reviews found for this teacher\",\n },\n },\n filters: {\n lessonPrice: \"Lesson price\",\n studyObjectives: \"Study objectives\",\n form: {\n query: {\n label: \"Name\",\n placeholder: \"Type teacher's name...\",\n },\n },\n },\n noInstructorsFound: \"No teachers found matching your search criteria\",\n },\n search: {\n title: \"Search\",\n tabs: {\n all: \"All\",\n instructors: \"Instructors\",\n students: \"Students\",\n },\n filters: {\n interests: {\n label: \"Interests\",\n placeholder: \"Type any interest name\",\n },\n teaches: {\n label: \"Teaches\",\n placeholder: \"Type any language name\",\n },\n speaks: {\n label: \"Speaks\",\n placeholder: \"Type any language name\",\n },\n specialities: {\n label: \"Specialities\",\n placeholder: \"Type any speciality name\",\n },\n textbooks: {\n label: \"Textbooks\",\n placeholder: \"Type any textbook name\",\n },\n },\n },\n signIn: {\n title: \"Sign In\",\n yourEmail: \"Your email\",\n password: \"Password\",\n forgotYourPassword: \"Forgot your password?\",\n signUpTitle: \"New to Lingua Community?\",\n signUp: \"Sign Up\",\n submit: \"Login\",\n },\n signUp: {\n title: \"Sign Up\",\n header: \"Select the type of account you'd like to create\",\n signInTitle: \"Have already an account?\",\n signIn: \"Sign In\",\n student: \"Student\",\n instructor: \"Teacher\",\n form: {\n email: {\n label: \"Email\",\n placeholder: \"Ex: example@mail.com\",\n },\n },\n },\n restorePassword: {\n title: \"Restore your password\",\n form: {\n email: {\n label: \"Email\",\n placeholder: \"Ex: example@mail.com\",\n },\n newPassword: {\n label: \"New Password\",\n placeholder: \"Enter your new password\",\n },\n },\n submit: \"Restore\",\n rememberPasswordTitle: \"Remember your password?\",\n otpDescription:\n \"Please enter 6-digit numbers below that we sent to your email\",\n newPasswordDescription: \"Please enter your new password\",\n successDescription:\n \"Your password successfully changed, please sign in with your new password\",\n signIn: \"Sign In\",\n },\n registration: {\n registerAs: \"Register as\",\n student: \"Student\",\n teacher: \"Teacher\",\n signUp: \"Sign Up\",\n login: \"Login\",\n speak: \"Speak:\",\n teach: \"Teach:\",\n learn: \"Learn:\",\n criteria: \"Criteria:\",\n specialities: \"Specialities:\",\n textbooks: \"Textbooks:\",\n teachLabel: \"Which language you will teach?\",\n speakLabel: \"Which languages do you speak-languages?\",\n learnLabel: \"Which language you will learn?\",\n criteriaLabel: \"Select criteria for teacher\",\n user: {\n youRegisteredSuccessfully:\n \"You were registered successfully, please follow instructions sent by email.\",\n specialities: {\n learnBasics: \"Learn Basics\",\n talkWithPeople: \"Talk With People\",\n forKids: \"For Kids\",\n improveProficiency: \"Improve Proficiency\",\n doBusiness: \"Do Business\",\n prepareForExam: \"Prepare For Exam\",\n },\n studentReviewQuestions: {\n structure: {\n title: \"Structure\",\n shortTitle: \"Structure\",\n description:\n \"Are the lessons connected? For instance, during the first lesson, you mastered the grammar of the modal verb «can» (I cannot help you). Next lesson - present continuous (I am watching TV). Finally, you combine both topics making sentences like “I cannot help you because I am watching TV”. Thus, structure is something more than a simple revision. Structure is when the previous grammar/vocabulary interlines with the new topic, as a result a student does not have gaps in knowledge.\",\n optionsDescription:\n \"1 – learnt a topic and dropped it for good.
5 – each new topic combines new grammar/vocabulary with previously learnt\",\n },\n punctuality: {\n title: \"Punctuality\",\n shortTitle: \"Punctuality\",\n description:\n \"In the beginning of the course, you and your teacher made an agreement regarding the schedule. You both might have agreed to meet regularly or have a floating schedule. You may also have agreed on a lesson cancelation policy. Whatever your schedule agreement is, it is important that both sides have a clear understanding and follow it.\",\n optionsDescription:\n \"Put 1 if you do not have a clear agreement or understanding of your teacher’s schedule policy or/and extremely unhappy with your teacher’s punctuality.
Put 5 if, in general, the teacher keeps up with the schedule and does not violate the lesson cancellation policy.\",\n },\n capability: {\n title: \"Proven capability\",\n shortTitle: \"Capability\",\n description:\n \"How well does the teacher know the subject? We believe that, in general, a good teacher should know a little more than the books/materials he or she uses during the lesson. Otherwise, you could have found the same materials on the internet and studied them independently with the same success.\",\n optionsDescription:\n \"1 - I'd better study by myself
2 - the teacher somewhat helps
3 - if the teacher has a good grasp of the material, can answer almost all the questions
4 - for sharing extra information not mentioned in the book (exceptions to the rules/different meanings of the same word)
5 – my teacher shares specific cultural aspects of behavior and language use or/and can handle some language oddities.\",\n },\n skills: {\n title: \"Skills developed\",\n shortTitle: \"Skills\",\n description:\n \"By the end of the lesson, have you walked away with empty hands or acquired some knowledge/skills? In other words, did you spend your time in vain or was the lesson helpful? The result could be small but measurable adding one more step closer to achieving the bigger goal.\",\n optionsDescription:\n \"Put 1 if you spent your time in vain and doubt that you will ever benefit from this teacher
Put 5 if you certainly obtain different skills each lesson and all these skills are interconnected between each other gradually bringing you to a bigger result\",\n },\n practice: {\n title: \"Practice\",\n shortTitle: \"Practice\",\n description:\n \"Which language is spoken the most during the lesson: foreign or native?\",\n optionsDescription:\n \"1 – most of the time we speak-languages native language
5 – all the time we speak-languages only foreign language\",\n },\n responsibility: {\n title: \"Responsibility\",\n shortTitle: \"Responsibility\",\n description:\n \"Does the teacher take it personally when you fail or succeed?\",\n optionsDescription:\n \"1 – the teacher prefers not to notice my difficulties (if any): methodology is perfect, if the results are poor, the teacher hints on my sole responsibility
5 – if the results are poor, my teacher is worried, and adapts the methodology\",\n },\n independence: {\n title: \"Independence and thinking\",\n shortTitle: \"Independence\",\n description:\n \"How does the teacher react on your mistakes? Does he/she give you immediately the right answer or does he/she give you the chance to solve the problem independently?\",\n optionsDescription:\n \"1 – corrects me immediately (there is too much material, too little time)
5 – hints but never harries with the right answer, wants me to get it by myself\",\n },\n allSkills: {\n title: \"Does the teacher develop all 5 skills?\",\n shortTitle: \"All Skills\",\n description:\n \"Ideally, every lesson, a good teacher equally pays attention to the development of 5 language skills: listening, reading, speaking, writing, grammar.\",\n optionsDescription:\n \"1 - the teacher is focused only on one of these skills e.g., your teacher have been teaching only grammar
5. - a teacher has been developing all 5 skills\",\n },\n timeManagement: {\n title: \"Time management\",\n shortTitle: \"Time\",\n description: \"Is the lesson time used wisely or is it wasted?\",\n optionsDescription:\n \"1 – Considerable amount of time is spend doing things that could have been done prior to the lesson (uploading/downloading files, checking attendance, homework, searching info etc)
5 – I benefit from every single minute of the lesson\",\n },\n listeningToStudent: {\n title: \"Listening to student\",\n shortTitle: \"Student-centered\",\n description:\n \"Who is more active during the class: you or your teacher? Is your teacher a good listener?\",\n optionsDescription:\n \"1 – The teacher never gives me a chance to speak-languages
5 – Most of the time, the teacher actively listens to what I have to say\",\n },\n approach: {\n title: \"Approach\",\n shortTitle: \"Approach\",\n description:\n \"Some like authoritarian teachers. Others like the teachers with democratic temperament. Did your teacher find the right approach in communication with you that helps you to take the most out of the lessons?\",\n optionsDescription:\n \"1 – I wish the teacher could be softer/stricter to me
2 – The teacher found the best approach to me\",\n },\n },\n userInterestGroup: {\n healthSport: {\n title: \"Health & Sport\",\n },\n goingOutEntertainment: {\n title: \"Going out & Entertainment\",\n },\n hobbiesEducation: {\n title: \"Hobbies & Education\",\n },\n },\n userInterest: {\n running: {\n title: \"Running\",\n },\n workout: {\n title: \"Workout\",\n },\n volleyball: {\n title: \"Volleyball\",\n },\n cycling: {\n title: \"Cycling\",\n },\n chess: {\n title: \"Chess\",\n },\n martialArts: {\n title: \"Martial Arts\",\n },\n basketball: {\n title: \"Basketball\",\n },\n football: {\n title: \"Football\",\n },\n hockey: {\n title: \"Hockey\",\n },\n swimming: {\n title: \"Swimming\",\n },\n diving: {\n title: \"Diving\",\n },\n extremeSports: {\n title: \"Extreme Sports\",\n },\n formula1: {\n title: \"Formula 1\",\n },\n meditation: {\n title: \"Meditation\",\n },\n yoga: {\n title: \"Yoga\",\n },\n filmTv: {\n title: \"Film & Tv\",\n },\n theatre: {\n title: \"Theatre\",\n },\n eatingOut: {\n title: \"Eating Out\",\n },\n museums: {\n title: \"Museums\",\n },\n concerts: {\n title: \"Concerts\",\n },\n shopping: {\n title: \"Shopping\",\n },\n gaming: {\n title: \"Gaming\",\n },\n boardGames: {\n title: \"Board Games\",\n },\n traveling: {\n title: \"Traveling\",\n },\n hiking: {\n title: \"Hiking\",\n },\n humor: {\n title: \"Humor\",\n },\n business: {\n title: \"Business\",\n },\n finance: {\n title: \"Finance\",\n },\n management: {\n title: \"Management\",\n },\n music: {\n title: \"Music\",\n },\n space: {\n title: \"Space\",\n },\n history: {\n title: \"History\",\n },\n pets: {\n title: \"Pets\",\n },\n dancing: {\n title: \"Dancing\",\n },\n photography: {\n title: \"Photography\",\n },\n singing: {\n title: \"Singing\",\n },\n arts: {\n title: \"Arts\",\n },\n cars: {\n title: \"Cars\",\n },\n motorcycles: {\n title: \"Motorcycles\",\n },\n cooking: {\n title: \"Cooking\",\n },\n architecture: {\n title: \"Architecture\",\n },\n reading: {\n title: \"Reading\",\n },\n science: {\n title: \"Science\",\n },\n psychology: {\n title: \"Psychology\",\n },\n ecology: {\n title: \"Ecology\",\n },\n technologies: {\n title: \"Technologies\",\n },\n fashion: {\n title: \"Fashion\",\n },\n politics: {\n title: \"Politics\",\n },\n writing: {\n title: \"Writing\",\n },\n design: {\n title: \"Design\",\n },\n philosophy: {\n title: \"Philosophy\",\n },\n medicine: {\n title: \"Medicine\",\n },\n celebrities: {\n title: \"Celebrities\",\n },\n volunteering: {\n title: \"Volunteering\",\n },\n news: {\n title: \"News\",\n },\n personalGrowth: {\n title: \"Personal Growth\",\n },\n },\n language: {\n english: {\n title: \"English\",\n },\n russian: {\n title: \"Russian\",\n },\n kyrgyz: {\n title: \"Kyrgyz\",\n },\n kazakh: {\n title: \"Kazakh\",\n },\n uzbek: {\n title: \"Uzbek\",\n },\n turkmen: {\n title: \"Turkmen\",\n },\n armenian: {\n title: \"Armenian\",\n },\n },\n },\n },\n passwordRecovery: {\n title: \"Password Recovery\",\n enterYourEmail: \"Enter your email\",\n rememberYourPassword: \"Remember your password?\",\n submit: \"Submit\",\n instructionDescription:\n \"Password recovery instruction was send to your email, please check your email\",\n goToLoginScreen: \"Go to login screen\",\n },\n passwordRecoveryConfirmation: {\n title: \"Password Recovery Confirmation\",\n invalidResetTokenDescription:\n \"Invalid reset token. Please try to recover your password again\",\n goToPasswordRecoveryScreen: \"Go to password recovery screen\",\n enterNewPassword: \"Enter new password\",\n confirmYourNewPassword: \"Confirm your new password\",\n submit: \"Change Password\",\n yourPasswordSuccessfullyChanged: \"Your password changed successfully\",\n goToLoginScreen: \"Go to login screen\",\n },\n profile: {\n main: \"Main\",\n feed: \"Feed\",\n messages: \"Messages\",\n notifications: \"Notifications\",\n myConnections: \"My Connections\",\n activityHistory: \"Activity History\",\n schedule: \"Schedule\",\n myMaterials: \"My Materials\",\n savedMaterials: \"Saved Materials\",\n lessonsHistory: \"Lessons History\",\n quizzesHistory: \"Quizzes History\",\n detalization: \"Balance Detalization\",\n profileSettings: \"Profile Settings\",\n photo: {\n title: \"Profile photo\",\n },\n cover: {\n title: \"Profile cover\",\n },\n nConnections: \"No connections | {value} connection | {value} connections\",\n nStudents: \"No students | {value} student | {value} students\",\n nInstructors: \"No teachers | {value} teacher | {value} teachers\",\n connection: {\n connect: \"Connect\",\n invited: \"Invited\",\n cancelInvitation: \"Cancel invitation\",\n acceptInvitation: \"Accept invitation\",\n ignore: \"Ignore\",\n connected: \"Connected\",\n removeConnection: \"Remove connection\",\n },\n message: \"Message\",\n connections: {\n title: \"Connections\",\n emptyDescription: \"You don't have connections yet\",\n },\n about: {\n title: \"About\",\n teachingObjectives: \"Teaching Objectives\",\n learningObjectives: \"Learning Objectives\",\n },\n contactExchange: {\n title: \"Make a trial lesson appointment\",\n form: {\n telNumber: {\n placeholder: \"+996 XXX YYY-YYY\",\n hint: 'By sending your personal data, you agree to the terms of service. ',\n },\n },\n exchangeContacts: \"Exchange contacts\",\n modal: {\n informationSentSuccessfully:\n \"Your name information has been sent to the teacher\",\n callYourself: \"Don't want to wait? Call yourself\",\n call: \"Call\",\n },\n },\n prices: {\n title: \"Prices\",\n emptyDescription: \"You haven’t listed your prices yet\",\n form: {\n title: {\n label: \"Price\",\n },\n },\n addMore: \"Add more\",\n },\n publications: {\n shareYourExpertise: \"Share Your Expertise!\",\n shareYourExpertiseDescription:\n \"Inspire others by creating and sharing your unique teaching materials. Click below to get started!\",\n tabs: {\n posts: \"Posts\",\n materials: \"Materials\",\n },\n },\n reputation: {\n title: \"Reputation\",\n overallTrust: \"Overall trust\",\n basedOnNLessonsAndNTestimonials:\n \"Based on {lessons} lessons and {testimonials} testimonials\",\n whyYouCanTrustThisData: \"Why you can trust this data?\",\n startBuildingYourReputationDescription:\n \"Teach your first lesson to begin earning reputation and showcasing your expertise\",\n reputationComingSoonDescription:\n \"This teacher hasn’t taught enough lessons yet to establish a reputation. Stay tuned!\",\n },\n reviews: {\n title: \"Reviews\",\n emptySelfDescription: \"You don't have reviews yet\",\n emptyDescription: \"User doesn't have testimonials yet\",\n nReviews: \"No reviews | {value} review | {value} reviews\",\n completedNLessons:\n \"Doesn't complete any lessons | Completed {value} lesson | Completed {value} lessons\",\n startCollectingTestimonialsDescription:\n \"Encourage your students to leave feedback after lessons to build your credibility and attract more learners\",\n noTestimonialsYet: \"No Testimonials Yet\",\n noTestimonialsYetDescription:\n \"This teacher hasn’t received any testimonials yet. Be the first to leave one after a lesson!\",\n whyYouCanTrustThisData: \"Why you can trust this data?\",\n readPrevious: \"Read previous\",\n readNext: \"Read next\",\n seeUserAllTestimonials: \"See {value}'s all testimonials\",\n },\n certificates: {\n title: \"Diplomas and certificates\",\n form: {\n title: {\n label: \"Name\",\n placeholder:\n \"Ex.: TOEFL iBT 83/120 [R. 22/30] [L. 28/30] [S. 30/30] [W. 24/30]\",\n },\n organization: {\n label: \"Issuing Organization\",\n placeholder: \"TOEFL Center - Bishkek\",\n },\n issuedMonth: {\n label: \"Issued date\",\n placeholder: \"Month\",\n },\n issuedYear: {\n placeholder: \"Year\",\n },\n credentialId: {\n label: \"Credential ID\",\n },\n credentialUrl: {\n label: \"Credential URL\",\n },\n media: \"Media\",\n },\n emptyDescription:\n \"Show off your achievements!
Add your certificates to enhance your profile\",\n deletionConfirmation:\n \"Are you sure you want to delete this certificate?\",\n item: {\n credentialId: \"Credential ID\",\n issued: \"Issued\",\n showDocument: \"Show document\",\n showCredential: \"Show credential\",\n },\n },\n instructors: {\n title: \"Teachers\",\n nCount: \"No instructors | {value} instructor | {value} instructors\",\n emptyDescription: \"No teachers found\",\n },\n students: {\n title: \"Students\",\n nCount: \"No students | {value} student | {value} students\",\n emptyDescription: \"No students found\",\n },\n edit: {\n name: {\n title: \"Name\",\n },\n about: {\n title: \"About you\",\n form: {\n longAbout: {\n placeholder: \"Share about your experience, achievements, etc...\",\n },\n },\n },\n profilePhoto: {\n title: \"Profile photo\",\n instructorDescription: `Faces build trust, not logos. Add a recognizable photo of yours to strengthen your professional brand.`,\n studentDescription: `Add a photo — your peers and teacher will love getting to know you better`,\n },\n contacts: {\n title: \"Contacts\",\n instructorDescription: `Everyone deserves direct, honest communication. Exchange phone numbers with your future students through a simple and convenient form.`,\n studentDescription: `If your study-mates are interested in your idea, can they contact you by phone?`,\n },\n aboutYou: {\n title: \"About you\",\n instructorDescription: `Describe in details your ideal student or a type of students. Why do you enjoy working with such student(s)?
What can you achieve together?`,\n studentDescription: `Please tell where you are from and/or what you feel strong about`,\n },\n headline: {\n title: \"Headline\",\n instructorDescription: `Your headline will appear on your profile and help others understand your skills and expertise at a glance`,\n studentDescription: `Describe the results you want to achieve by studying`,\n },\n teachingObjectives: {\n title: \"Teaching objectives\",\n description: \"What did you help your ideal student(s) with?\",\n },\n learningObjectives: {\n title: \"Learning objectives\",\n description: \"For what purposes do you study languages?\",\n },\n teachingLanguage: {\n title: \"Teaching language\",\n description: \"Language you teach students\",\n },\n learningLanguage: {\n title: \"Learning language\",\n description: \"Language you are learning\",\n },\n speakingLanguages: {\n title: \"Learning language\",\n description: \"Language you are learning\",\n },\n email: {\n title: \"Email\",\n verificationSentDescription: `We've sent a verification code to your new email address, {email}. Please check your inbox and enter the code to proceed`,\n changeEmail: \"Change email\",\n },\n password: {\n title: \"Change password\",\n },\n form: {\n common: {\n firstName: {\n label: \"First name\",\n placeholder: \"Ivan\",\n },\n lastName: {\n label: \"Last name\",\n placeholder: \"Ivanov\",\n },\n languageLevel: {\n label: \"Level\",\n },\n speakLanguages: {\n label: \"Languages you speak\",\n },\n oldPassword: {\n label: \"Old password\",\n },\n newPassword: {\n label: \"New password\",\n placeholder: \"Enter your password\",\n },\n password: {\n label: \"Password\",\n placeholder: \"Enter your password\",\n },\n repeatPassword: {\n label: \"Repeat password\",\n placeholder: \"Repeat your password\",\n },\n currentEmail: {\n label: \"Current email\",\n },\n newEmail: {\n label: \"New email\",\n },\n },\n instructor: {\n telNumber: {\n label: \"Phone number\",\n placeholder: \"+996 XXX YYY-YYY\",\n },\n showOnRecommendationPage: {\n label: \"Help me to find students\",\n },\n content: {\n placeholder:\n \"My ideal student is a schoolboy preparing to enter the university of his dreams. I will help him pass IELTS.\",\n },\n shortAbout: {\n label: \"Headline\",\n placeholder:\n \"E.g., Certified English Teacher | IELTS 8.5 | CELTA Holder\",\n },\n specialities: {\n label: \"Teaching objectives\",\n hint: \"Choose not more than 3 categories\",\n },\n targetLanguage: {\n label: \"Teaching language\",\n },\n },\n student: {\n telNumber: {\n label: \"Phone number\",\n placeholder: \"+996 XXX YYY-YYY\",\n },\n showOnRecommendationPage: {\n label: \"Help me to find teacher\",\n },\n content: {\n placeholder:\n \"e.g. I come from a small town in Kyrgyzstan. I have been preparing for IELTS for 6 month and I am making a certain progress. I want to enter a US university under full scholarship.\",\n },\n shortAbout: {\n label: \"Headline\",\n placeholder:\n \"E.g., I dream of traveling around the US and speaking freely with people\",\n },\n specialities: {\n label: \"Learning objectives\",\n hint: \"Choose not more than 3 categories\",\n },\n targetLanguage: {\n label: \"Teaching language\",\n },\n },\n },\n },\n quickProfileUpdate: {\n title: \"Update your profile\",\n updateSuccess:\n \"We set this information to your profile. See if you like it. If not, feel free to change it.\",\n letsStart: \"Lets start\",\n instructor: {\n description:\n \"Answer a few questions to set up your profile and get your ideal student match\",\n },\n student: {\n description: \"Why study alone? Let us introduce you to community.\",\n },\n },\n },\n notifications: {\n notificationsManagement: \"Notifications management\",\n tabs: {\n all: {\n short: \"All\",\n long: \"All notifications\",\n },\n lesson: {\n short: \"Lesson\",\n long: \"Lesson notifications\",\n },\n other: {\n short: \"Other\",\n long: \"Other notifications\",\n },\n },\n },\n lessons: {\n lessonsManagement: \"Lessons management\",\n upcomingLessons: \"Upcoming lessons\",\n pastLessons: \"Past lessons\",\n newLesson: \"New Lesson\",\n startInstantLesson: \"Start instant lesson\",\n scheduleLesson: \"Schedule a lesson\",\n currentLessons: \"Current lessons\",\n emptyStartingLessonsInstructor:\n \"You don’t have any lessons starting soon. But you have lessons scheduled for later!
You can also start an instant lesson or schedule a new one below\",\n emptyStartingLessonsStudent:\n \"You don’t have any lessons starting soon. Check your schedule below for upcoming lessons, or contact your teacher for more details\",\n scheduledItem: {\n noParticipants: \"No participants\",\n andNParticipants:\n \"no participant | and {value} participant | and {value} participants\",\n live: \"live\",\n details: \"Details\",\n lessonWasCancelled: \"Lesson was cancelled\",\n reason: \"Reason\",\n preview: \"Preview\",\n joinNow: \"Join now\",\n reschedule: \"Reschedule\",\n cancel: \"Cancel\",\n teacher: \"Teacher\",\n students: \"Student(s)\",\n userXLeftLessonAt: \"{userFullName} left the lesson at {time}\",\n userXCancelledLessonAt: \"{userFullName} cancelled the lesson at {time}\",\n },\n schedule: {\n title: \"Schedule a lesson\",\n editParticipants: \"Edit participants\",\n additionalSettings: \"Additional settings\",\n participants: \"Participants\",\n emptyParticipants:\n \"No participants have been added yet. To add participants, please click the button below\",\n addParticipants: \"Add participants\",\n form: {\n title: {\n label: \"Title\",\n },\n startsAt: {\n label: \"Lesson starting from\",\n },\n duration: {\n label: \"Duration\",\n items: {\n \"30min\": \"30 min.\",\n \"45min\": \"45 min.\",\n \"1hour\": \"1 hour\",\n \"1halfHours\": \"1.5 hours\",\n \"2hours\": \"2 hours\",\n },\n },\n lessons: {\n label: \"Lessons\",\n placeholder: \"Start typing to search lessons\",\n rules: {\n required: \"You must select at least one lesson\",\n },\n },\n quizzes: {\n label: \"Quiz\",\n placeholder: \"Start typing to search quizzes\",\n rules: {\n required: \"You must select at least one quiz\",\n },\n },\n students: {\n label: \"Students\",\n placeholder: \"Start typing to search from your connections\",\n rules: {\n required: \"You must select at least one student\",\n },\n },\n price: {\n label: \"Price\",\n rules: {\n required: \"You must set positive number\",\n },\n },\n commonPrice: {\n label: \"Common price\",\n },\n notes: {\n label: \"Notes\",\n },\n },\n },\n cancelSchedule: {\n title: \"Cancelling a scheduled lesson\",\n form: {\n reason: {\n label: \"Reason\",\n placeholder:\n \"Please provide a brief explanation for your lesson cancellation (e.g., scheduling conflict, personal emergency)\",\n },\n },\n },\n selectUsers: {\n title: \"Select user(s) to add into lesson\",\n },\n },\n main: {\n endOfActivities: \"End of activities\",\n noActivities: \"No activities\",\n previewAlert: {\n title: \"Looking for your profile preview?\",\n description: \"You can find your profile view by clicking button below\",\n button: \"My profile preview\",\n },\n },\n myConnections: {\n networkManagement: \"Network management\",\n invitations: \"Invitations\",\n myInvitations: \"My invitations\",\n myConnections: \"My connections\",\n userConnections: \"User connections\",\n noConnectionsYet: \"You don't have connections yet\",\n noConnectionFoundForYourRequest: \"No connection found for your request\",\n pendingSharedContacts: \"Pending shared contacts\",\n noPendingSharedContacts: \"No Pending shared contacts\",\n markAsRead: \"Mark as read\",\n manageSharedContacts: \"Manage shared contacts\",\n pendingInvitations: \"Pending invitations\",\n manageInvitations: \"Manage invitations\",\n manageMyConnections: \"Manage my connections\",\n noPendingInvitations: \"No pending invitations\",\n },\n preferences: {\n title: \"Settings\",\n account: {\n title: \"Account preferences\",\n groups: {\n profileInformation: {\n title: \"Profile Information\",\n items: {\n name: \"Name\",\n contact: \"Contacts\",\n headline: \"Headline\",\n about: \"About\",\n teachingObjectives: \"Teaching Objectives\",\n learningObjectives: \"Learning Objectives\",\n teachingLanguage: \"Teaching language\",\n learningLanguage: \"Learning language\",\n speakingLanguages: \"Speaking languages\",\n },\n },\n },\n },\n signInAndSecurity: {\n title: \"Sign in & security\",\n groups: {\n security: {\n title: \"Security\",\n items: {\n email: \"Email\",\n password: \"Change password\",\n },\n },\n },\n },\n },\n userConnections: {\n title: \"User connections\",\n },\n logout: {\n loggingOut: \"Logging out...\",\n },\n detalization: {\n title: \"Balance Detalization\",\n dateRange: \"Date range\",\n type: \"Type\",\n createdAt: \"Created at\",\n in: \"In\",\n out: \"Out\",\n balanceBefore: \"Balance before\",\n balanceAfter: \"Balance after\",\n sum: \"Sum\",\n noHistoryFound: \"No transactions found\",\n },\n activityHistory: {\n title: \"Activity History\",\n groupedItemTitle: {\n today: \"Today\",\n yesterday: \"Yesterday\",\n thisWeek: \"This week\",\n thisMonth: \"This Month\",\n thisYear: \"This year\",\n earlier: \"Earlier\",\n },\n createdLesson: \"Created lesson\",\n scheduledLesson: \"Scheduled lesson by\",\n startedLesson: \"Started lesson by\",\n with: \"with\",\n createdQuiz: \"Created quiz\",\n finishedQuiz: \"Finished quiz\",\n and: \"and\",\n },\n materials: {\n materials: \"Materials\",\n tabs: {\n lessons: \"Lessons\",\n quizzes: \"Quizzes\",\n fileManager: \"File Manager\",\n },\n savedMaterials: \"Saved Materials\",\n author: \"Author\",\n whiteboard: \"Whiteboard\",\n myMaterials: \"My Materials\",\n title: \"Title\",\n createdAt: \"Created at\",\n actions: \"Actions\",\n details: \"Details\",\n creating: \"Creating\",\n updating: \"Updating\",\n choose: \"Choose\",\n attachmentDeletionConfirmation:\n \"Are you sure you want to delete this attachment?\",\n audioDeletionConfirmation: \"Are you sure you want to delete this audio?\",\n description: \"Description\",\n notes: \"Notes\",\n mainInfo: \"Main Info\",\n audio: \"Audio\",\n attachments: \"Attachments\",\n vocabulary: \"Vocabulary\",\n asVocabulary: \"Use just as vocabulary\",\n itemsPerPage: \"Exercises per page\",\n points: \"Points\",\n user: \"User\",\n nonRegisteredUser: \"Non Registered User\",\n nonRegisteredUserTelNumber: \"Non Registered User Tel.\",\n backToMain: \"Back to main\",\n backToLessons: \"Back to lessons\",\n lesson: {\n title: \"Lesson\",\n tabs: {\n main: {\n title: \"Main\",\n },\n attachments: {\n title: \"Attachments\",\n tabs: {\n audio: \"Audio\",\n documents: \"Documents\",\n \"board-documents\": \"Board Documents\",\n },\n },\n exercises: {\n title: \"Exercises\",\n tabs: {\n vocabulary: \"Vocabulary\",\n exercises: \"Exercises\",\n },\n },\n whiteboard: {\n title: \"Board\",\n },\n },\n form: {\n title: {\n label: \"Title\",\n },\n category: {\n label: \"Category\",\n },\n },\n sharingSettings: {\n title: \"Sharing Settings\",\n },\n },\n lessons: {\n all: \"All\",\n owned: \"Owned\",\n forked: \"Saved\",\n lessonsList: \"Lessons list\",\n lessons: \"Lessons\",\n duration: \"Duration\",\n myLessons: \"My lessons\",\n newLesson: \"New Lesson\",\n deletionConfirmation: \"Are you sure you want to delete this lesson?\",\n filters: \"Filters\",\n authorizeToAccessBoard:\n \"Board is not available for unregistered users, to access board please sign in\",\n noLessonsFound: \"No lessons found\",\n noDescriptionAddedYet: \"No lesson description added yet\",\n addDescription: \"Add description\",\n editDescription: \"Edit description\",\n },\n quiz: {\n title: \"Quiz\",\n exercisesPerPageHint: \"0 means all exercises will be in one page\",\n tabs: {\n edit: {\n title: \"Edit\",\n },\n main: {\n title: \"Main\",\n },\n history: {\n title: \"History\",\n },\n },\n types: {\n exercise: {\n title: \"Exercise\",\n },\n vocabulary: {\n title: \"Vocabulary\",\n },\n },\n form: {\n title: {\n label: \"Title\",\n },\n category: {\n label: \"Category\",\n },\n },\n sharingSettings: {\n title: \"Sharing Settings\",\n },\n additionalSettings: {\n title: \"Additional Settings\",\n },\n },\n quizzes: {\n all: \"All\",\n owned: \"Owned\",\n forked: \"Saved\",\n quizzesList: \"Quizzes list\",\n details: \"Details\",\n backToQuiz: \"Back to quiz\",\n backToHistory: \"Back to history\",\n numberOfExercises: \"Number of exercises\",\n maxPoints: \"Max points\",\n quizzes: \"Quizzes\",\n myQuizzes: \"My quizzes\",\n history: \"History\",\n linkedQuizzes: \"Linked quizzes\",\n linkedVocabulary: \"Linked vocabulary\",\n newQuiz: \"New Quiz\",\n linking: \"Linking\",\n quiz: \"quiz\",\n quizUF: \"Quiz\",\n vocabulary: \"vocabulary\",\n deletionConfirmation: \"Are you sure you want to delete this quiz?\",\n unlinkConfirmation: \"Are you sure you want to unlink this quiz?\",\n navigation: \"NAVIGATION\",\n filters: \"Filters\",\n student: \"Student\",\n setFlag: \"Set flag\",\n unsetFlag: \"Unset flag\",\n submitConfirmation: \"Are you sure you want to submit this quiz?\",\n noAnswerExercises: \"You have uncompleted exercises\",\n weAreSorryQuizNotFound: \"We are sorry, quiz not found :(\",\n nonRegistered: {\n title: \"Please provide your information\",\n fullName: \"Full name\",\n telNumber: \"Tel. number\",\n },\n allUsers: \"All Users\",\n registeredUsers: \"Registered Users\",\n nonRegisteredUsers: \"Non Registered Users\",\n self: \"Self\",\n noDescriptionAddedYet: \"No quiz description added yet\",\n addDescription: \"Add description\",\n editDescription: \"Edit description\",\n editAdditionalSettings: \"Edit additional settings\",\n authorizeToAccessHistory:\n \"No history available, to save your results please sign in\",\n noQuizzesFound: \"No quizzes found\",\n noQuizHistoriesFound: \"No quiz histories found\",\n },\n exercises: {\n exercises: \"Exercises\",\n exercise: \"Exercise\",\n noAnyExercises: \"No any exercises\",\n noAnyVocabulary: \"No any vocabulary\",\n noAnswer: \"No answer\",\n detailsAreNotAvailable:\n \"Details are not available, cause author of this exercise changed it after you submitted current quiz.\",\n types: {\n dragTheWords: {\n title: \"Drag the Words\",\n adminDescription: \"Drag the words admin description\",\n studentDescription: \"Drag the words student description\",\n draggable: \"Draggable\",\n markSelected: \"Mark selected as draggable\",\n unmarkSelected: \"Unmark selected\",\n },\n dragTheWordsImage: {\n title: \"Drag the Words Image\",\n adminDescription: \"Drag the words admin description\",\n studentDescription: \"Drag the words student description\",\n draggable: \"Draggable\",\n markSelected: \"Mark selected as draggable\",\n unmarkSelected: \"Unmark selected\",\n },\n fillInTheBlanks: {\n title: \"Fill in the Blanks\",\n adminDescription: \"Fill in the blanks admin description\",\n studentDescription: \"Fill in the blanks student description\",\n or: \"Or\",\n anyChar: \"Any character\",\n anyText: \"Any text\",\n addAnotherOption: \"Add another option\",\n markSelected: \"Mark selected as field\",\n unmarkSelected: \"Unmark selected\",\n field: \"Field\",\n },\n fillInTheBlanksImage: {\n title: \"Fill in the Blanks Image\",\n adminDescription: \"Fill in the blanks admin description\",\n studentDescription: \"Fill in the blanks student description\",\n or: \"Or\",\n anyChar: \"Any character\",\n anyText: \"Any text\",\n addAnotherOption: \"Add another option\",\n markSelected: \"Mark selected as field\",\n unmarkSelected: \"Unmark selected\",\n field: \"Field\",\n },\n findSynonym: {\n title: \"Find Synonym\",\n adminDescription: \"Find synonym admin description\",\n studentDescription: \"Find synonym student description\",\n markMainSynonymSelected: \"Mark selected as main synonym\",\n markRealSynonymSelected: \"Mark selected as real synonym for main\",\n markFakeSynonymSelected: \"Mark selected as fake synonym for main\",\n unmarkSelected: \"Unmark selected\",\n synonym: \"Synonym\",\n real: \"Real\",\n fake: \"Fake\",\n },\n findThePlace: {\n title: \"Find the Place\",\n adminDescription: \"Find the place admin description\",\n studentDescription: \"Find the place student description\",\n real: \"Real\",\n fake: \"Fake\",\n insertFakePlace: \"Insert fake place\",\n markRealPlaceSelected: \"Mark selected as real place\",\n unmarkSelected: \"Unmark selected\",\n },\n markTheWords: {\n title: \"Mark the Words\",\n adminDescription: \"Mark the words admin description\",\n studentDescription: \"Mark the words student description\",\n correct: \"Correct\",\n wrong: \"Wrong\",\n markCorrectSelected: \"Mark selected as correct answer\",\n markWrongSelected: \"Mark selected as wrong answer\",\n unmarkSelected: \"Unmark selected\",\n },\n multipleChoice: {\n title: \"Multiple Choice\",\n adminDescription: \"Multiple choice admin description\",\n studentDescription: \"Multiple choice student description\",\n },\n singleChoice: {\n title: \"Single Choice\",\n adminDescription: \"Single choice admin description\",\n studentDescription: \"Single choice student description\",\n },\n trueFalse: {\n title: \"True or False\",\n adminDescription: \"True or false admin description\",\n studentDescription: \"True or false student description\",\n },\n },\n true: \"True\",\n false: \"False\",\n answer: \"Answer\",\n title: \"Title\",\n type: \"Type\",\n description: \"Description\",\n text: \"Text\",\n chooseImage: \"Choose image\",\n descriptionAudio: \"Audio description\",\n answerAudio: \"Audio answer\",\n attachedAudio: \"Audio attached\",\n audioHint:\n \"Below checked options will work if quiz's exercises per page is 1\",\n hideAudio: \"Hide audio\",\n audioAutoplay: \"Autoplay\",\n answerOptions: \"Answer options\",\n selectCorrectAnswers: \"Select correct answers\",\n selectCorrectAnswer: \"Select correct answer\",\n errorHint: \"Error hint\",\n addOption: \"Add option\",\n deletionConfirmation: \"Are you sure you want to delete this exercise?\",\n total: \"Total\",\n nExercises: \"{count} exercise | {count} exercises\",\n nVocabularies: \"{count} vocabulary | {count} vocabularies\",\n nPoints: \"{count} point | {count} points\",\n addExercise: \"Add Exercise\",\n selectExerciseType: \"Select exercise type\",\n newVocabulary: \"New Vocabulary\",\n linkExercisesFromQuiz: \"Link exercises from quiz\",\n linkVocabulary: \"Link vocabulary\",\n searchLabel: \"Search: title, type\",\n points: \"Points\",\n createdAt: \"created at {createdAt}\",\n goBack: \"Go back\",\n creating: \"Creating\",\n editing: \"Editing\",\n showCorrectnessOnError: \"Show correctness after check\",\n countPartialPts: \"Count partial points\",\n nOfxPts: \"{count} out of {points} points\",\n upload: \"Upload\",\n record: \"Record\",\n audioNotSelectedOrRecorded: \"Audio is not selected or recorded\",\n preview: \"Preview\",\n },\n privacy: {\n privacy: \"Privacy\",\n public: \"Public\",\n publicDescription: \"Everyone can see this material\",\n hidden: \"Hidden\",\n hiddenDescription: \"Only author can see this material\",\n scheduled: \"Scheduled\",\n scheduledDescription: `This material can be available from scheduled date up to 3 days`,\n forConnections: \"For connections\",\n forConnectionsDescription: `Only author's connections can see this material`,\n },\n publication: {\n form: {\n title: {\n placeholder: \"Title\",\n },\n level: {\n label: \"Level\",\n },\n description: {\n placeholder: \"Description\",\n },\n },\n selectFromMyOwnMaterials: \"Select from my own materials\",\n publicationIsEmpty: \"Publication is empty\",\n selectUsersToSend: \"Select user(s) to send publication\",\n repostDescription: {\n repost: \"Instantly bring publication to other's feed\",\n repostWithYourThoughts: \"Create new post with current publication\",\n },\n copyLinkToPublication: \"Copy link to publication\",\n section: {\n generatedTitle: \"Section #{value}\",\n deletionConfirmation: \"Are you sure you want to delete this section?\",\n addSection: \"Add section\",\n sectionIsEmpty: \"So far the section is empty\",\n addResource: \"Add resource\",\n selectResourceType: \"Select resource type\",\n resource: {\n form: {\n content: {\n placeholder: \"Write resource content...\",\n },\n },\n deletionConfirmation:\n \"Are you sure you want to delete this resource?\",\n copyLinkToResource: \"Copy link to resource\",\n selectUsersToSend: \"Select user(s) to send resource\",\n groups: {\n interactivity: {\n title: \"Interactivity\",\n },\n mediaAssets: {\n title: \"Media Assets\",\n items: {\n media: \"Image / Video\",\n audio: \"Audio\",\n text: \"Text\",\n },\n },\n },\n repostDescription: {\n repost: \"Instantly bring resource to other's feed\",\n repostWithYourThoughts: \"Create new post with current resource\",\n },\n },\n },\n searchForAnyMaterial: \"Search for any material(s)\",\n own: \"Own\",\n common: \"Common\",\n noPublicationsFound: \"No publications found\",\n noSavedPublicationsFound: \"No saved publications found\",\n createPublication: \"Create publication\",\n commonPublications: \"Common publications\",\n myPublications: \"My publications\",\n savedPublications: \"Saved publications\",\n allMyPublications: \"All my publications\",\n allSavedPublications: \"All saved publications\",\n },\n },\n messages: {\n title: \"Messages\",\n selectContacts: {\n title: \"Select user to start chatting\",\n },\n chat: {\n title: \"Chat\",\n search: \"Search...\",\n writeMessage: \"Write a message...\",\n typeToMessage: \"Type to message\",\n endMessage: \"This is end of messages\",\n youDontHaveAnyChat: \"You haven't chatted yet\",\n startChattingDescription:\n \"Start chatting by selecting one of your connections\",\n startChatting: \"Start chatting\",\n send: \"Send\",\n connections: {\n title: \"Connections\",\n },\n },\n },\n profileSettings: {\n title: \"Profile settings\",\n editingProfile: \"Editing profile\",\n basicInfo: \"Basic info\",\n aboutProfile: \"About profile\",\n balanceDetalization: \"Balance detalization\",\n backToProfileSettings: \"Back to profile settings\",\n interests: \"Interests & Hobbies\",\n textbooks: \"Textbooks\",\n prices: \"Prices\",\n additionalInfo: \"Additional info\",\n mainInfo: \"Main info\",\n firstName: \"First name\",\n lastName: \"Last name\",\n email: \"Email\",\n phoneNumber: \"Phone number\",\n profilePhoto: \"Change photo\",\n buttonContinue: \"Continue\",\n showOnRecommendationPage: \"Show on recommendation page\",\n shortAbout: \"Short about yourself\",\n longAbout: \"About yourself\",\n shortAboutHint: \"Describe yourself shortly\",\n longAboutHint: \"Describe yourself\",\n buttonSave: \"Save\",\n buttonPrevious: \"Previous\",\n pricesTab: {\n title: \"Title\",\n addMore: \"Add more\",\n emptyDescription: \"You haven’t listed your prices yet\",\n },\n },\n userProfile: {\n about: \"About\",\n wasOnline: \"Was online:\",\n teaches: \"Teaches:\",\n speaks: \"Speaks:\",\n specialities: \"Specialities:\",\n textbooks: \"Textbooks:\",\n interests: \"Interests:\",\n learns: \"Learns:\",\n prices: \"Prices\",\n priceTable: {\n title: \"Title\",\n price: \"Price (per hour)\",\n },\n mustRate: \"You must rate by every criterion\",\n leaveThoughts: \"Leave your thoughts about your instructor\",\n reviewComponentTitle:\n \"Please rate work of the teacher, according your criteria\",\n reviews: \"Reviews\",\n edit: {\n userAbout: {\n form: {\n longAbout: {\n placeholder: \"Share about your experience, achievements, etc...\",\n },\n },\n },\n certificate: {\n form: {\n title: {\n label: \"Name\",\n placeholder:\n \"Ex.: TOEFL iBT 83/120 [R. 22/30] [L. 28/30] [S. 30/30] [W. 24/30]\",\n },\n organization: {\n label: \"Issuing Organization\",\n placeholder: \"TOEFL Center - Bishkek\",\n },\n issuedMonth: {\n label: \"Issued date\",\n placeholder: \"Month\",\n },\n issuedYear: {\n placeholder: \"Year\",\n },\n credentialId: {\n label: \"Credential ID\",\n },\n credentialUrl: {\n label: \"Credential URL\",\n },\n media: \"Media\",\n },\n },\n },\n },\n schedule: {\n title: \"Schedule\",\n plannedLesson: \"Planned lesson\",\n start: \"Start\",\n lessonWith: \"Lesson with {instructorFirstName} {instructorLastName}\",\n deleteConfirmation: \"Are you sure to delete lesson schedule plan?\",\n today: \"Today\",\n day: \"Day\",\n week: \"Week\",\n month: \"Month\",\n \"4days\": \"4 days\",\n createLessonSchedule: \"Planing new lesson\",\n updateLessonSchedule: \"Updating existing schedule\",\n startNow: \"Start now\",\n schedule: \"Schedule\",\n calendarCard: {\n title: \"Title\",\n plannedDate: \"Planned date\",\n lessons: \"Lessons\",\n students: \"Students\",\n notes: \"Notes\",\n },\n history: \"History\",\n },\n liveLesson: {\n tabs: {\n main: {\n title: \"Main\",\n },\n attachments: {\n title: \"Attachments\",\n tabs: {\n audio: \"Audio\",\n documents: \"Documents\",\n \"board-documents\": \"Board Documents\",\n },\n },\n exercises: {\n title: \"Exercises\",\n tabs: {\n vocabulary: \"Vocabulary\",\n exercises: \"Exercises\",\n },\n },\n whiteboard: {\n title: \"Board\",\n },\n chat: {\n title: \"Chat\",\n },\n live: {\n title: \"Live\",\n },\n },\n lesson: \"Lesson\",\n currentLiveScheduledLessons: \"Current live lessons\",\n upcomingScheduledLessons: \"Upcoming scheduled lessons\",\n noUpcomingSchedules: {\n title: \"No Upcoming Events\",\n description: \"You don't have any upcoming lessons planned\",\n },\n attachments: {\n editAttachments: \"Edit attachments\",\n lessonAttachments: \"Lesson attachments\",\n boardAttachments: \"Board Attachments\",\n noLessonAttachmentsAddedYet: \"No lesson attachments added yet\",\n noLessonAudiosAddedYet: \"No lesson audio added yet\",\n noBoardAttachmentsAddedYet: \"No board attachments added yet\",\n },\n live: {\n title: \"Live\",\n join: \"Join\",\n videoIsNotAvailable: \"Video is not available\",\n you: \"You\",\n youHaveNotJoinedYet:\n \"You haven't joined to live yet, would you like to join?\",\n lessonScheduledInfo:\n \"Live lesson scheduled at {lessonStartsAt} - {lessonEndsAt}\",\n tooEarlyToJoin:\n \"It is too early. Your lesson starts at {lessonStartsTime} on {lessonStartsDate}. Your local time is {localTime} {localDate}.
However, the meeting room is available to you 20 min before and after the scheduled hour.\",\n tooLateToJoin:\n \"Lesson is already finished.
Your lesson started at {lessonStartsTime} and ended at {lessonEndsTime} on {lessonEndsDate}. Your local time is {localTime} {localDate}.
However, the meeting room is available to you 20 min before and after the scheduled hour.\",\n },\n board: {\n noBoardsCreatedYetInstructor:\n \"No any boards were created, would you like to create?\",\n noBoardsCreatedYetStudent:\n \"No any boards were created, ask your instructor to create one\",\n add: {\n title: \"Adding new board\",\n boardName: {\n label: \"Board name\",\n placeholder: \"Enter board name\",\n },\n cloneFrom: {\n title: \"Clone from\",\n lessonBoards: \"Lesson boards:\",\n latestBoards: \"Latest boards:\",\n boardsWithCurrentStudents: \"Boards with current students:\",\n },\n },\n lock: \"Lock\",\n sync: \"Sync between users\",\n additionalOptions: \"Additional options\",\n borderStyleOpacityAndColor: \"Border style, opacity and color\",\n colorAndOpacity: \"Color and opacity\",\n color: \"Color\",\n bringToFront: \"Bring to front\",\n bringForward: \"Bring forward\",\n sendToBack: \"Send to back\",\n sendBackward: \"Send backward\",\n image: \"Image\",\n video: \"Video\",\n audio: \"Audio\",\n document: \"Document\",\n fromYourDevice: \"From your device\",\n pasteDirectUrl: \"Paste direct url\",\n yourVideoUrl: \"Your video url\",\n pasteViaYouTubeUrl: \"Paste via YouTube url\",\n youTubeVideoUrl: \"YouTube video url\",\n },\n audio: {\n addAudio: \"Add audio\",\n editAudio: \"Edit audio\",\n },\n attachment: {\n add: \"Add attachments\",\n edit: \"Edit attachments\",\n },\n exercise: {\n addExercises: \"Add exercises\",\n editExercises: \"Edit exercises\",\n noLessonExercisesAttachedYet: \"No lesson exercises attached yet\",\n },\n vocabulary: {\n addVocabulary: \"Add vocabulary\",\n editVocabulary: \"Edit vocabulary\",\n noLessonVocabularyAttachedYet: \"No lesson vocabulary attached yet\",\n },\n chat: {\n typeSomething: \"Type something...\",\n },\n noAnyLessonAddedYet: \"No any lesson added yet\",\n addLesson: \"Add a lesson\",\n },\n accessDenied: {\n title: \"Access denied, not enough privileges\",\n },\n pageNotFound: {\n title: \"Page not found\",\n },\n externalLink: {\n description: \"You are about redirecting link...\",\n },\n landing: {\n // Header\n greeting: \"Hello\",\n howItWorks: \"How it works?\",\n findTeacher: \"Find a teacher\",\n advantages: \"Advantages\",\n prices: \"Prices\",\n // Hero\n socialPlatform: \"Social platform for teaching and studying languages\",\n hereSuccess:\n \"Here, successful students recommend their professional teachers. \",\n register: \"Sign up / Sign in\",\n findATeacher: \"Find a teacher\",\n magicStarts:\n \"“The true magic starts when we admit those who stand behind our success”. \",\n heroAddress: \"Akilay Ms. Kyrgyzstan 2023 \",\n // GALLERY\n dontRisk: \"Don’t risk, don’t trust commercial. Trust people. Ask people.\",\n weOffer:\n \"We offer simple easy-to-use tools to assess teachers’ professional qualities. \",\n supportedByLocal: \"Supported by local influencers\",\n criteria: \"6 criteria \",\n assessTeachers: \"To assess teachers’ professional qualities\",\n freeForStudents: \"The platform is free for students\",\n realTestimonials:\n \"Real testimonials and recommendations from real people\",\n // whyChoose\n weHelp: \"We help\",\n students: \"Students\",\n toFindIdealTeacher:\n \"To find the ideal teacher based on our community’s independent assessment and testimonials. \",\n teachers: \"Teachers\",\n toDevelop:\n \"To develop a personal brand of a professional teacher supported by our community’s independent assessment and testimonials.\",\n // howItIsWork\n seeHowItWork: \"See how it works\",\n choosingATeacher: \"Choosing a teacher\",\n lessonRoutine: \"Assessment of the teacher's proffesional qualities.\",\n independentAssessment: \"Independent assessment at work\",\n // Testimonials\n communityIndependent: \"Community’s independent assessment in details\",\n howToChoose: \"How to choose a teacher\",\n findYourIdealTeacher:\n \"Find your ideal teacher based on professional qualities ratings: punctuality, proven capability, skills developed etc. \\n\",\n findYourIdealTeacher2:\n \"You can also search by specialization (Business language, IT, academic language, etc.)\" +\n ' \"Contact your teacher and discuss the details',\n ourQualityControl: \"Our quality control\",\n theLessonsAreConducted:\n \"The lessons are conducted inside our platform to make sure we receive real testimonials from real students.\",\n inAddition:\n \"In addition, the platform is convenient. Everything a teacher or a student may need is inside the platform: materials, lesson plans, tools, interactive exercises, video-calls, online whiteboard etc. \",\n testimonialsAfterLesson: \"Testimonials after a lesson\",\n byTheEndOf:\n \"By the end of the lesson, a pop-up message appears asking to write a testimonial. The more lessons a student had, the more his or her assessment influences the teacher’s rating. \",\n // ProfileSection\n exampleProfile: \"Example of a teacher’s profile.\",\n aboutMe: \"About me\",\n myStudentsReach:\n \"My students reach their goals. My ratings confirm I earned a reputation of a competent and a strict teacher.\",\n education: \"Education\",\n americanUniversity: \"American University in Central Asia\",\n certificates: \"Certificates\",\n testimonials: \"Testimonials\",\n readMore: \"Read more\",\n provenCapability: \"Proven capability\",\n strictness: \"Strictness\",\n punctuality: \"Punctuality\",\n overallLessons: \"Overall lessons\",\n skillsDeveloped: \"Skills developed\",\n lessonPrice: \"per lesson\",\n yourPhone: \"Your phone\",\n yourContact: \"Your name information has been sent to the teacher\",\n yourContact2: \"Don't want to wait? Call yourself.\",\n bySending:\n \"By sending your personal data, you agree to the terms and conditions. \",\n exchangeContacts: \"Exchange the contacts\",\n call: \"Call\",\n completedLesson: \"10 lessons completed\",\n studentRating: `Aigul was my tutor for a year and a half. We had both face-to-face and online classes, and both options completely satisfied. The atmosphere during busy times was friendly, I felt an individual approach.`,\n // chooseTeacher\n howToFind: \"How to find your ideal teacher\",\n clearAssessment: \"Clear assessment criteria\",\n whatIsPunctuality: \"How to find the most punctual teachers?\",\n howToFindACompetentTeacher: \"How to find a competent teacher\",\n howToFindAResultOrientedTeacher:\n \"How to find a teacher who gives results\",\n howToFindThePerfectTeacher: \"How to find the ideal teacher\",\n demanding: \"Demanding high standards\",\n howLesson: \"How is the lesson going?\",\n aboutUs: \"About Us\",\n // teachers In Platform\n ourTeachers: \"Our teachers\",\n aigul: \"Aigul\",\n experience: \"Certified teacher with 5 year experience\",\n readMoreBtn: \"Read more\",\n chooseATeacher: \"Choose a teacher\",\n becomeATeacher: \"Become a teacher\",\n // level\n whatIsYourLevel: \"What is your language proficiency level?\",\n doTheTest:\n \"Do the test and we send you video with error analysis, individual study plan, and choose the ideal teacher for you. \",\n tryItNow: \"Try it now\",\n // help learners\n weHelpLearners: `We help learners and educators to find each other and develop a meaningful relationship based on effective learning `,\n // Guaranteed\n guaranteedBenefits: \"Guaranteed benefits for students and teachers\",\n toTheStudents: \"To the students\",\n realRating: `Real testimonials from real people instead of another beautiful commercial with empty promises`,\n riskFree:\n \"Risk-free strategy to find your ideal teacher based on experience of previous users\",\n studyMotivated: \"Study with most motivated teachers\",\n workWithout:\n \"Work without intermediaries, pay only for your teacher’s professionalism, avoid unnecessary expenses including third party salary\",\n noWaitList:\n \"No waiting lists. Directly name your teacher to arrange details quickly and effectively. \",\n easyLearn:\n \"Easily learn foreign language with the help of professional teachers. \",\n // teacher\n toTheTeacher: \"To the teachers\",\n anOpportunity:\n \"An opportunity to develop your professional brand supported by our community’s independent assessment and testimonials.\",\n avoidEmotional:\n \"Avoid emotional burnout. You will receive regular feedback from your students, including words of gratitude and suggestions for further development of your professional qualities.\",\n theOpportunityToTeach:\n \"The opportunity to teach, independently determining the price, taking the entire receipt for yourself\",\n increaseCost: `Increase the cost of an hour of classes by actually proving your competencies`,\n increaseYourIncome:\n \"Increase your income by switching from individual to group lessons\",\n workWithoutInter:\n \"Work without intermediaries, organize work in a way that is convenient for the student and you\",\n // convenient-platform\n convenientTitle:\n \"One convenient platform instead of ten over-head apps. \",\n allYouNeed: \"All you need in one place\",\n doUVideoCall:\n \"Do you video call on zoom? Do you read books in another window? Do you use interactive whiteboard? On our platform you will find it all in a single window\",\n trackProgress: \"Track progress \",\n inStudents: \"In students’ profile, you can see homework performance\",\n stableVideoCall: \"Stable video calls\",\n hdQuality:\n \"HD quality video calls with minimum time latency even if internet traffic is low.\",\n affordablePrice: \"Affordable prices\",\n weTake:\n \"We take a symbolic monthly payment from the teachers, which doesn't influence on the lesson fees.\",\n // view possibilities\n seeWhatInside: \"See what inside the platfrom\",\n tryItYourself: \"Try it yourself\",\n audio: \" Audio\",\n test: \"Tests\",\n dictionary: \"Dictionary\",\n board: \" Board for work\",\n // Plans\n planPrices: \"Prices\",\n forThePlatform: \"$ for the platform itself\",\n useItForFree: \"Use it for free\",\n tryIt: \"Try it\",\n currency: \"$10\",\n monthly: \"USD monthly\",\n firstMonth: \"First month for free\",\n // creator\n aboutFounder: \"About our founder\",\n goToProfile: \"Go to profile\",\n ceoName: \"Ruslan Leontev\",\n ceoExperience:\n \"An academic English tutor with 11-year experience in teaching. \",\n ceoUniversity: \"A graduate of American University in Central Asia\",\n ceo1Text: `I speak English because I come from a small town. It is in the big cities that the neon lights from billboards captivate one’s imagination. Advertisement and commercial rule the world. They make us hallucinate about superpower of education and self-development. Of course, they sell courses.`,\n ceo2Text: `None of it is like that in my town. We don’t even have any English courses, and the Internet is too slow. Therefore, we have not heard of any advertising of educational services. “If you want to study English, go to Galina Dzhoraevna”, that’s what people say in my hometown referring to the locally-known private teacher. Here people live in a close community, exchange news, recommend specialists to each other, and one’s good reputation is the only marketing strategy. In 2007, after returning from the army, I decided I want to get education. Of course, I turned to Galina for help. Taking lessons at Galina’s place, I discovered a whole new world in which young people, the Galina’s students, fluently spoke English. However, they didn’t stop on that ...`,\n ceo3Text: `Galina’s students strived for excellence, a super result: the highest score on international exams (TOЕFL, IELTS, SAT). They dreamt big: entering a prestigious university abroad, studying under full-ride scholarship. Alisher got into the University of Washington. Spartak went to American University in Bulgaria. In four years, at the commencement ceremony in American University of Central Asia, among graduates, there were six students of Galina including myself. Back in 2007, when I knocked the door of my English teacher’s house for the first time, education abroad wasn’t a popular advertisement slogan, and many of my progressive friends from the capital city wouldn’t believe it was possible. Yet, we, the students of Galina, achieved high results in learning foreign languages.`,\n ceo4Text: `People live differently in big cities. Everybody is in a hurry. They rarely talk to each other, rarely have a chance to recommend each other truly professional teachers. If they happen to share their success stories, they do it in a wrong way. Driven by a myth of self-made man, they fail to reveal the names of those who guided them to success. Thus, the names of professional teachers remains unknown. The advertisement fills in the gap. Thus, the advertisment becomes more important than teachers’ reputation.`,\n ceo5Text: `I offer a simple strategy in the choice of education provider. Don't believe the advertising. Trust only independent assesment and testimonials. Lingua.community offers independent assessment of English teachers based on their ratings and honest reviews. `,\n ceo6Text: `The project is devoted to the memory of Mrs Akhmedova Galina Dzhoraevna, a truly dedicated teacher.`,\n hidden: \"Hidden\",\n seeMore: \"Read more\",\n // form component\n startTeaching: \"Start teaching or learning languages today.\",\n byRegister: `By registering on the Lingua.community website, you become part of a new culture. We are a community of successful and self-sufficient students who say thank you to truly professional teachers and recommend them to other people. If you need help or advice, we will be happy to be with you`,\n connectAndJoin: \"Connect and join\",\n talkToUs: \"Talk to us in telegram\",\n // footer\n companyName: \"Leontev and Partners Ltd.\",\n terms: \"Terms of Service\",\n personalInfo: \"Privacy Policy \",\n europe: \"Funded by Accelerate Prosperity\",\n socialNetworks: \"We are in social networks\",\n techSupport: \"Technical support in live chat\",\n // rating\n firstRatingName: \"Akylai Kalberdieva\",\n firstRatingDescription:\n \"I have been studying English with you for three months, and I have increased language proficiency from the pre-intermediate to advanced level.\",\n firstRatingLessons: \"42 lessons passed.\",\n secondRatingName: \"Jamilya Dunganova\",\n secondRatingDescription: `I have been studying English with you for three months, and I have increased language proficiency from the pre-intermediate to advanced level.`,\n secondRatingLessons: \"158 lessons passed. \",\n thirdRatingName: \"Salizhan Zhumaliev\",\n thirdRatingDescription: `I am 17 years old. I recently passed IELTS with the overall band of 7.5 points. I am thankful to my English teacher, Leontev Ruslan. I recommend him to everyone. `,\n thirdRatingLessons: \"216 lessons passed\",\n fourRatingName: \"Adel Asanalieva\",\n fourRatingDescription: `I entered Anglia Ruskin University in Cambridge. I majored in biomedicine. I wanted to express my gratitude to my academic English tutor, Ruslan Leontiev, who helped me prepare for international exams and get high scores, enter a prestigious university, last but not least, I am thankful to Rulsan for my personal growth and development of academic skills `,\n fourRatingLessons: \"314 lessons passed. \",\n },\n termsOfService: {\n content:\n '
Terms of Service
Effective Date: 07-15-2024

Welcome to lingua.community (the \"App\"), operated by Leontyev and Partners LLC (\"the Company,\" \"we,\" \"us,\" or \"our\"), a company registered in Bishkek, Kyrgyzstan. By accessing or using the App, you agree to comply with and be bound by the following terms and conditions (the \"Terms\"). Please read these Terms carefully before using the App. If you do not agree to these Terms, you must not use the App.

  1. User Accounts
    1. Registration

      Users can create accounts on the App as either a Teacher or a Student (each an \"Account\"). By creating an Account, you represent and warrant that the information you provide is accurate, current, and complete. You are responsible for maintaining the confidentiality and security of your Account credentials.

    2. Types of Accounts
      • Teachers: Users registered as Teachers can plan video meetings, upload educational content, create quizzes and tests with instant feedback, and share them with Students.
      • Students: Users registered as Students can participate in online meetings planned by Teachers and access educational content created by the Teachers.
    3. Age Restrictions and Legal Responsibilities
      • Services are available only to and may only be used by individuals who are 18 years and older and who can form legally binding contracts under applicable law.
      • Individuals under the age of 18 but not younger than the age of 13 can use our Services only in conjunction with and under the supervision of a parent or a legal guardian. The parent or the legal guardian shall at all times be responsible for any and all activities related to the use of the Services by the aforementioned individuals.
  2. Online Education Services
    1. Features
      • The App provides tools for individual and small group real-time sessions such as video meetings, an interactive online whiteboard, quizzes, and tests with instant feedback.
    2. Teacher Assessment
      • The App offers tools to assess teachers\\' professional qualities based on three criteria: punctuality, proven capability, and skills development.
      • Public Evaluation: The Teacher agrees to publicly display the evaluation grades they receive through students\\' evaluations and the testimonials that their students share about their teaching service, regardless of whether the grades and testimonials are positive or negative. The Company does not correct testimonials and evaluation grades except the cases when the Student deliberately insults, calls names.
    3. Platform Services
      • The Company does not provide educational services itself. Rather, **lingua.community** provides tools for Teachers and Students to interact.
  3. Financial and Methodological Independence
    1. Payment Policies
      • The Company is not an intermediary in financial or methodological and disciplinary matters between Teachers and Students. The online lesson payment fee and payment policy as well as lesson cancellation policy are solely determined by the Teacher and the Student.
    2. Disagreements
      • In the event of any disagreement between a Student and a Teacher regarding underpayment, late payment, lesson cancellation policy, or any other financial issue, the Company is not liable or responsible.
    3. Tax and Licensing Responsibilities
      • Teachers are responsible for paying all necessary taxes and obtaining required licenses as mandated by the tax laws in their country of location. For example, teachers from Kyrgyzstan should buy a tutor patent and pay for a social fund certificate.
  4. Student Testimonials
    1. Testimonial Rights
      • Students have the right to write testimonials about their Teacher’s service and evaluate the Teacher\\'s professional quality. The Company does not correct or change the testimonials except the cases when students call names, humiliate, disgrace teacher or discriminate against group of people on ethnic, national, religious, gender bias. Any user can report such violation through Telegram messengers at @linguacommunity or @leontevruslan or calling directly to +996 (554) 877-853
    2. Testimonial Format
      • The Company will include the number of lessons taken by the Student before they wrote the testimonial and add this information to the testimonial\\'s text.
        For example, if a Student named Ruslan has taken 10 online lessons with a specific Teacher named Garry Goodson, and Ruslan wrote, \"Mr. Garry Goodson is a very competent teacher. He answers all my questions and provides me with additional examples, exceptions from the rule that are not mentioned in the textbook,\" then the testimonial will appear on the website in the following form: \"Ruslan has taken 10 lessons with Garry Goodson. Ruslan wrote, \\'Mr. Garry Goodson is a very competent teacher. He answers all my questions and provides me with additional examples, and exceptions from the rule that are not mentioned in the textbook.\\'\"
  5. User Conduct
    1. Content Upload
      • Users are responsible for any content they upload, share, or create using the App. The Company reserves the right to remove any content that violates these Terms or applicable laws especially if the content violates copyright, contains any kind of discrimination, including but not restricted to ethnic, gender or national basis.
    2. Prohibited Activities
      • Copyright Violation: Teachers are prohibited from using materials and content under copyright prohibition. If a Teacher uses materials and content that violate copyright, the account of such Teacher will be terminated, and the content that violates copyright will be deleted without an opportunity to restore.
      • Users may download the content from the app but only for personal use. It is prohibited to distribute the content you uploaded from the app to the third parties.
      • Users must not use the App for any unlawful purpose or engage in any activity that disrupts or interferes with the App\\'s operation.
    3. User Interaction and Personal Safety

      The Company does not endorse or make any representations or warranties regarding the accuracy, completeness, and reliability of any information provided by a Teacher or a Student. lingua.community cannot confirm that each User is who they claim to be. When interacting with other Users, you should exercise caution and common sense to protect your personal safety and property, just as you would when interacting with other people you don’t know. Neither the Company nor lingua.community is responsible for the conduct, whether online or offline, of any User of the Services.

    4. Fraud Prevention and Identity Theft

      Users should only respond to communications sent through our official name channels: Telegram @linguacommunity or @leontevruslan, and WhatsApp +996 (554) 877-853.
      Any attempt to name our users from other channels claiming to represent the Company is considered a malicious attempt at identity theft.

      Users should never provide their credit card numbers, passport ID numbers, or any other sensitive information to websites not having lingua.community as the root domain. The Company does not sell subscriptions using any other websites.

  6. Fees and Payments
    1. Teacher Subscription Fee
      • Teachers are charged monthly for the use of the App in the amount of 1000 KGS (Kyrgyz Soms). If the payment transaction uses a currency other than Kyrgyz Soms (KGS), the amount charged will be calculated according to the national Kyrgyz bank exchange rate at the time of the transaction.
  7. Intellectual Property
    1. Ownership
      • The App and its entire contents, features, and functionality are owned by the Company or its licensors and are protected by international copyright, trademark, patent, trade secret, and other intellectual property or proprietary rights laws.
    2. Licence
      • Users are granted a limited, non-exclusive, non-transferable, and revocable license to use the App for personal or educational purposes in accordance with these Terms.
  8. Disclaimer of Warranties

    The App is provided on an \"as-is\" and \"as-available\" basis. The Company makes no warranties, expressed or implied, regarding the operation of the App or the information, content, or materials included therein.

  9. Limitation of Liability

    In no event shall the Company be liable for any indirect, incidental, special, consequential, or punitive damages arising out of or related to your use of the App.

  10. Changes to the Terms

    The Company reserves the right to modify these Terms at any time. Any changes will be effective immediately upon posting the revised Terms on the App. Your continued use of the App after the posting of the revised Terms constitutes your acceptance of the changes.

  11. Governing Law

    These Terms shall be governed by and construed in accordance with the laws of the Kyrgyz Republic without regard to its conflict of law principles.

  12. Contact Information

    For any questions or concerns regarding these Terms, please name us at:

    Leontyev and Partners LLC
    [Yug-2, h14]
    Bishkek, Kyrgyzstan
    Telegram: @linguacommunity
    Tel: +996 (554) 877-853

  13. Cookie Policy for registered and non-registered users

    This Cookie Policy explains how lingua.community (\"we,\" \"us,\" or \"our\"), operated by Leontyev and Partners LLC, uses cookies and similar technologies to recognize you when you visit our website at https://lingua.community It explains what these technologies are, why we use them, and your rights to control our use of them.

    1. What Are Cookies?

      Cookies are small data files that are placed on your computer or mobile device when you visit a website. Cookies are widely used by website owners to make their websites work, or to work more efficiently, as well as to provide reporting information.

    2. Why Do We Use Cookies?

      We use cookies for several reasons. Some cookies are required for technical reasons for our website to operate, and we refer to these as \"essential\" or \"strictly necessary\" cookies. Other cookies enable us to track and target the interests of our users to enhance the experience on our website. For example, we use cookies to recognize you when you return to our website to provide relevant content and detect potential security threats.

    3. Types of Cookies We Use:
      1. Essential Cookies: These cookies are strictly necessary to provide you with services available through our website and to use some of its features, such as access to secure areas.
      2. Performance and Functionality Cookies: These cookies are used to enhance the performance and functionality of our website but are non-essential to its use. However, without these cookies, certain functionality (like videos) may become unavailable.
      3. Analytics and Customization Cookies: These cookies collect information that is used either in aggregate form to help us understand how our website is being used or how effective our marketing campaigns are, or to help us customize our website for you.
      4. Security Cookies: These cookies help identify and prevent security risks. We use these cookies to authenticate users and protect user data from unauthorized parties.
    4. Your Choices Regarding Cookies

      You have the right to decide whether to accept or reject cookies. You can exercise your cookie preferences by setting or amending your web browser controls to accept or refuse cookies. If you choose to reject cookies, you may still use our website though your access to some functionalities and areas of our website may be restricted.

    5. How to Delete Cookies

      If you would like to delete cookies or instruct your web browser to delete or refuse cookies, please visit the help pages of your web browser:

      1. For Chrome: [Google Chrome] ( https://support.google.com/chrome/answer/95647 )
      2. For Internet Explorer: [Microsoft Internet Explorer] ( https://support.microsoft.com/kb/278835 )
      3. For Firefox: [Mozilla Firefox] ( https://support.mozilla.org/en-US/kb/delete-cookies-remove-info-websites-stored )
      4. For Safari: [Apple Safari] ( https://support.apple.com/guide/safari/sfri11471/mac )

      Note that if you delete cookies or refuse to accept them, you might not be able to use all of the features we offer, you may not be able to store your preferences, and some of our pages might not display properly.

    6. Changes to This Cookie Policy

      We may update this Cookie Policy from time to time in order to reflect, for example, changes to the cookies we use or for other operational, legal, or regulatory reasons. Please revisit this Cookie Policy regularly to stay informed about our use of cookies and related technologies.

Leontyev and Partners LLC
[Yug-2, h14]
Bishkek, Kyrgyzstan
Telegram: @leontevruslan, @linguacommunity
Tel: +996 (554) 877-853

By using our website, you acknowledge that you have read, understood, and agree to be bound by this Cookie Policy.

',\n },\n privacyPolicy: {\n content:\n '
Privacy Policy
Effective Date: 07-15-2024

Welcome to Lingua Community (\"we\", \"our\", \"us\"). This Privacy Policy explains how Leontev and Partners LLC, located at Kyrgyzstan, Bishkek, Yug-2, h14 (\"Company\"), collects, uses, discloses, and safeguards your information when you visit our website lingua.community and use our services. By using our website, you agree to the terms of this Privacy Policy. The current Application Privacy Policy is inherent to Application Terms and Service Agreement.

  1. Information We Collect
    • Personal Data

      When you register as a teacher or a student using your Google account, we collect your full name, profile picture, and email address. These become publicly accessible on our platform.

    • Teacher-Specific Data

      Teachers provide educational services and are graded by students based on evaluation criteria such as punctuality, competency, skills developed and others. These grades are publicly available.

    • Testimonials

      We collect and display testimonials about the educational services provided within the platform. The teacher agrees to accept testimonials from the students without changing their content. Testimonials include the full names of the teacher and student, and the number of lessons conducted before the testimonial was published. The number of lessons conducted inside the website is automatically tracked and stored inside your personal profile. The number of lessons conducted with specific student becomes publicly visible only when you receive a testimonial from the student.

    • Usage Data

      We collect information about your interactions with our website, such as the pages you visit, the time and date of your visits, the number of lessons conducted, your IP address and location, and other diagnostic data.

    • Cookies and Similar Technologies

      We use cookies to determine your IP address and location, and to improve the overall user experience. These technologies help us understand how you interact with our services and provide a better experience.

  2. How We Use Your Information

    We use the information we collect to:

    • Provide and maintain our services
    • Display teacher profiles and their grades to non-registered users
    • Display testimonials with names and lesson counts
    • Notify you about changes to our services
    • Provide customer support
    • Analyze usage of our website to improve our services
    • Detect, prevent, and address technical issues
    • Comply with legal obligations and enforce our terms
  3. Sharing Your Information

    We do not sell or share your personal information with third parties except:

    • With your consent
    • Display teacher profiles and their grades to non-registered users
    • To comply with legal obligations
    • To protect and defend our rights and property
    • With service providers to perform services on our behalf
    • In connection with any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company
  4. Publicly Accessible Information
    • Teacher profiles, including full names, profile pictures, grades, and testimonials, are publicly accessible to any user.
    • Testimonials expose the full names of both the teacher receiving the testimonial and the student writing the testimonial, along with the number of lessons conducted.
  5. Security of Your Information

    We use administrative, technical, and physical security measures to protect your personal information. However, no method of transmission over the internet or electronic storage is 100% secure.

  6. Your Data Protection Rights

    Depending on your location, you may have the following rights regarding your personal data:

    • The right to access
    • The right to rectification
    • The right to erasure
    • The right to restrict processing
    • The right to data portability
    • The right to object
  7. Cookies and Similar Technologies Policy

    We use cookies and similar technologies to:

    • Determine your IP address and location
    • Improve user interaction and experience on our website

    You can manage your cookie preferences through your browser settings. For more information on how to control cookies and similar technologies, please refer to our [Cookie Policy]

  8. Third-Party Services

    Our services may contain links to third-party websites or services, including Google. We do not control these third-party sites and are not responsible for their privacy practices. We recommend you review the privacy policies of these third-party services.

  9. Children\\'s Privacy

    Our services are not intended for individuals under the age of 13. We do not knowingly collect personal information from children under 13. If we become aware that we have collected personal information from a child under 13, we will take steps to delete such information.

  10. Changes to This Privacy Policy

    We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the \"Effective Date\" at the top.

  11. Contact Us

    If you have any questions about this Privacy Policy, please name us at skypestudy.org@gmail.com and/or WhatsApp +996 (554) 877-853

Leontyev and Partners LLC
[Yug-2, h14]
Bishkek, Kyrgyzstan
Telegram: @leontevruslan, @linguacommunity
Tel: +996 (554) 877-853

By using our website, you acknowledge that you have read, understood, and agree to be bound by this Cookie Policy.

',\n },\n },\n messages: {\n lessonDeleted: \"Lesson successfully deleted\",\n audioDeleted: \"Audio successfully deleted\",\n attachmentDeleted: \"Attachment successfully deleted\",\n exerciseDeleted: \"Exercise successfully deleted\",\n exerciseSaved: \"Exercise successfully saved\",\n lessonCreated: \"Lesson successfully created\",\n quizDeleted: \"Quiz successfully deleted\",\n quizUnlinked: \"Quiz successfully unlinked\",\n quizCreated: \"Quiz successfully created\",\n },\n buttons: {\n cancel: \"Cancel\",\n ignore: \"Ignore\",\n ok: \"OK\",\n delete: \"Delete\",\n unlink: \"Unlink\",\n create: \"Create\",\n save: \"Save\",\n update: \"Update\",\n check: \"Check\",\n link: \"Link\",\n submit: \"Submit\",\n confirm: \"Confirm\",\n quit: \"Quit\",\n back: \"Back\",\n previous: \"Previous\",\n next: \"Next\",\n preview: \"Preview\",\n edit: \"Edit\",\n view: \"View\",\n join: \"Join\",\n close: \"Close\",\n },\n editor: {\n enterUrl: \"Enter a URL\",\n enterImageUrl: \"Enter an image URL\",\n enterVideoUrl: \"Enter a video URL\",\n unlink: \"Unlink\",\n link: \"Link\",\n add: \"Add\",\n title: \"Title\",\n submit: \"Submit\",\n cancel: \"Cancel\",\n },\n common: {\n all: \"All\",\n confirmDialog: \"Are you sure to make this operation?\",\n },\n date: {\n months: {\n short: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n full: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n },\n fileBrowser: {\n delete: {\n title: \"Delete\",\n description:\n \"Are you sure you want to delete this {type}?
{baseName}\",\n suffix: {\n folder: \"folder\",\n file: \"File\",\n },\n },\n cancel: \"Cancel\",\n select: \"Select\",\n yes: \"Yes\",\n selectFolderOrFile: \"Select a folder or a file\",\n file: \"File\",\n size: \"Size\",\n noFilesOrFoldersFound: \"No files or folders found\",\n folderIsEmpty: \"The folder is empty\",\n upTo: \"Up to: {value}\",\n createFolder: \"Create folder\",\n uploadFiles: \"Upload files\",\n collapseAll: \"Collapse All\",\n uploadTo: \"Upload to:\",\n maxFilesCount: \"Max files count: {value}\",\n maxFileSize: \"Max file size: {value}\",\n addFiles: \"Add files\",\n clear: \"Clear\",\n upload: \"Upload\",\n },\n camera: {\n errors: {\n CAMERA_IS_OFF: {\n title: \"Camera is off\",\n },\n CAMERA_PERMISSION_ERROR: {\n title: \"Camera permission was not granted\",\n description:\n \"To fix this problem please grant it in your browser and after reload the page\",\n },\n CAMERA_UNAVAILABLE_ERROR: {\n title: \"Camera is unavailable\",\n description:\n \"While requesting camera access browser couldn't provide access to camera\",\n },\n MIC_PERMISSION_ERROR: {\n title: \"Mic permission was not granted\",\n description:\n \"To fix this problem please grant it in your browser and after reload the page\",\n },\n MIC_UNAVAILABLE_ERROR: {\n title: \"Mic is unavailable\",\n description:\n \"While requesting mic access browser couldn't provide access to mic\",\n },\n },\n },\n selectContacts: {\n form: {\n query: {\n placeholder: \"Enter name of your contacts\",\n },\n },\n },\n time: {\n startsIn: \"Starts {time}\",\n endsIn: \"Ends {time}\",\n ended: \"Ended {time}\",\n cancelled: \"Cancelled {time}\",\n },\n targetLanguages: {\n english: \"English\",\n russian: \"Russian\",\n kyrgyz: \"Kyrgyz\",\n kazakh: \"Kazakh\",\n uzbek: \"Uzbek\",\n turkmen: \"Turkmen\",\n armenian: \"Armenian\",\n },\n languageLevels: {\n A1: \"Beginner\",\n A2: \"Elementary\",\n B1: \"Intermediate\",\n B2: \"Upper Intermediate\",\n C1: \"Advanced\",\n C2: \"Proficient\",\n },\n specialityGroups: {\n beginner: {\n title: \"For Beginners\",\n items: {\n general: {\n title: \"General\",\n shortTitle: \"General\",\n },\n preschoolers: {\n title: \"Preschoolers\",\n shortTitle: \"Preschoolers\",\n },\n schoolChildrenPrimary: {\n title: \"Primary Schoolchildren\",\n shortTitle: \"Primary School\",\n },\n },\n },\n intermediate: {\n title: \"Intermediate\",\n items: {\n interview: {\n title: \"Interview Preparation (Visa / Work)\",\n shortTitle: \"Interview Prep\",\n },\n speakingPractice: {\n title: \"Speaking Practice (Fluency & Confidence)\",\n shortTitle: \"Speaking Practice\",\n },\n examPreparation: {\n title: \"Exam Preparation (OGE / UNT / ORT)\",\n shortTitle: \"Exam Prep\",\n },\n schoolChildrenSecondary: {\n title: \"Secondary Schoolchildren\",\n shortTitle: \"Secondary School\",\n },\n },\n },\n advanced: {\n title: \"Advanced\",\n items: {\n business: {\n title: \"Business English\",\n shortTitle: \"Business English\",\n },\n aviation: {\n title: \"Aviation English\",\n shortTitle: \"Aviation English\",\n },\n medicine: {\n title: \"Medical English\",\n shortTitle: \"Medical English\",\n },\n examPreparation: {\n title: \"Exam Preparation (IELTS / TOEFL / SAT)\",\n shortTitle: \"Exam Prep\",\n },\n academicEnglish: {\n title: \"Academic English (University)\",\n shortTitle: \"Academic English\",\n },\n technicalEnglish: {\n title: \"Technical English (IT & Engineering)\",\n shortTitle: \"Technical English\",\n },\n legalEnglish: {\n title: \"Legal English\",\n shortTitle: \"Legal English\",\n },\n },\n },\n },\n};\n","module.exports = {\n title: \"Lingua.community\",\n serviceWorker: {\n NEW_VERSION_AVAILABLE: {\n content: \"Доступна новая версия!\",\n },\n INSTALL_RECOMMENDATION: {\n title: \"Установка приложения\",\n content:\n \"Установите приложение Lingua Community, чтобы пользоваться нашей платформой удобнее\",\n iosSteps: `Чтобы установить приложение на ваше устройство, выполните следующие действия:
  1. Нажмите \"Поделиться\"
    \"Шаг
  2. Нажмите \"Добавить на экран «Домой»\"
    \"Шаг
  3. Нажмите \"Добавить\"
    \"Шаг
  4. Найдите приложение на экране «Домой»
    \"Шаг
`,\n install: \"Установить\",\n },\n },\n autoMessages: {\n CONNECT: `\n Здравствуйте!\n Я бы хотел быть на связи с вами.\n `,\n BOOK_LESSON: `\n Здравствуйте!\n Я хотел бы записаться к вам на урок.\n `,\n },\n validators: {\n required: \"Это поле обязательно для заполнения\",\n minValue: \"Минимальное допустимое значение - {value}\",\n maxValue: \"Максимальное допустимое значение - {value}\",\n passwordMustMatch: \"Пароли должны совпадать\",\n invalidEmail: \"Недопустимый адрес электронной почты\",\n maxLength: \"Поле не должно превышать {length} символов\",\n selectAtLeastOne: \"Выберите хотя бы один вариант\",\n firstName: \"Имя обязательно для заполнения\",\n lastName: \"Фамилия обязательна для заполнения\",\n mustSelect: \"Вы должны выбрать {length} критерий\",\n optionalPrefix: \"(доп.)\",\n },\n errorMessages: {\n LESSON_NOT_FOUND: \"Урок не найден\",\n \"Failed to fetch\":\n \"У вас проблемы с подключением, пожалуйста, проверьте ваш интернет и попробуйте снова\",\n REQUIRED_DRAGGABLE_MARKED_SYMBOL: \"Требуется пометить фразу\",\n REQUIRED_DRAGGABLE_MARKED_SYMBOL_MIN_1:\n \"Требуется пометить как минимум 1 фразу\",\n REQUIRED_FIELD_MARKED_SYMBOL: \"Требуется пометить фразу\",\n REQUIRED_FIELD_MARKED_SYMBOL_MIN_1:\n \"Требуется пометить как минимум 1 фразу\",\n REQUIRED_SYNONYM_MARKED_SYMBOL: \"Требуется пометить фразу-синоним\",\n REQUIRED_REAL_SYNONYM_MARKED_SYMBOL: \"Требуется пометить настоящий синоним\",\n REQUIRED_FAKE_SYNONYM_MARKED_SYMBOL: \"Требуется пометить фальшивый синоним\",\n SYNONYM_MARKED_SYMBOL_MUST_BE_1: \"Требуется пометить ровно 1 фразу-синоним\",\n REAL_SYNONYM_MARKED_SYMBOL_MUST_BE_1:\n \"Требуется пометить ровно 1 настоящий синоним\",\n REQUIRED_FAKE_SYNONYM_MARKED_SYMBOL_MIN_1:\n \"Требуется пометить как минимум 1 фальшивый синоним\",\n REQUIRED_REAL_PLACE_MARKED_SYMBOL: \"Требуется пометить настоящее место\",\n REQUIRED_FAKE_PLACE_MARKED_SYMBOL: \"Требуется пометить фальшивое место\",\n REAL_PLACE_MARKED_SYMBOL_MUST_BE_1:\n \"Требуется пометить ровно 1 настоящее место\",\n REQUIRED_FAKE_PLACE_MARKED_SYMBOL_MIN_1:\n \"Требуется пометить как минимум 1 фальшивое место\",\n REQUIRED_CORRECT_OR_WRONG_MARKED_SYMBOL:\n \"Требуется пометить правильную/неправильную фразу\",\n REQUIRED_CORRECT_OR_WRONG_MARKED_SYMBOL_MIN_1:\n \"Требуется пометить как минимум 1 правильную/неправильную фразу\",\n USER_EMAIL_ALREADY_CREATED:\n \"Пользователь с этим адресом электронной почты уже зарегистрирован\",\n INVALID_PERMISSIONS:\n \"Ресурс, который вы ищете, в настоящее время недоступен.
Похоже, на ресурсе установлены некоторые настройки конфиденциальности.\",\n },\n pages: {\n common: {\n profile: \"Профиль\",\n balance: \"Баланс: ${value}\",\n visitProfile: \"Посетить профиль\",\n profileSettings: \"Настройки профиля\",\n logout: \"Выйти\",\n message: \"Сообщение\",\n connect: \"Связь\",\n joinToConnect: \"Присоединиться к связи\",\n removeConnection: \"Удалить\",\n pending: \"Ожидание\",\n acceptInvitation: \"Принять\",\n declineInvitation: \"Отклонить\",\n filters: \"Фильтры\",\n id: \"ID\",\n cancel: \"Отмена\",\n add: \"Добавить\",\n share: \"Поделиться\",\n repost: \"Репост\",\n repostWithYourThoughts: \"Репост с вашими мыслями\",\n send: \"Отправить\",\n submit: \"Отправить\",\n save: \"Сохранить\",\n unsave: \"Удалить из сохранённого\",\n like: \"Нравится\",\n unlike: \"Не нравится\",\n comment: \"Комментарий\",\n likes: \"Лайк(и)\",\n comments: \"Комментарий(и)\",\n login: \"Войти\",\n signUp: \"Зарегистрироваться\",\n create: \"Создать\",\n update: \"Обновить\",\n edit: \"Редактировать\",\n reset: \"Сбросить\",\n close: \"Закрыть\",\n delete: \"Удалить\",\n loading: \"Загрузка\",\n loadMore: \"Загрузить еще\",\n oops: \"Упс\",\n reload: \"Перезагрузить\",\n copied: \"Скопировано\",\n searchAnyPerson: \"Искать любого человека\",\n typeAnyPersonsName: \"Введите имя любого человека\",\n noMatchingUsers: \"Нет подходящих пользователей\",\n searchForUsers: \"Поиск пользователей\",\n seeAllResults: \"Посмотреть все результаты\",\n search: \"Поиск\",\n show: \"Показать\",\n showMore: \"показать больше\",\n showLess: \"показать меньше\",\n untitled: \"Без названия\",\n unnamed: \"Без имени\",\n copyLink: \"Копировать ссылку\",\n preview: \"Пред. просмотр\",\n moveUp: \"Переместить вверх\",\n moveDown: \"Переместить вниз\",\n fork: \"Сохранить\",\n unfork: \"Удалить\",\n actions: \"Действия\",\n tabs: {\n main: \"Главное\",\n home: \"Домой\",\n myNetwork: \"Моё сообщество\",\n schedule: \"Расписание\",\n messages: \"Сообщения\",\n materials: \"Материалы\",\n },\n download: \"Скачать\",\n uploading: \"Выгрузка...\",\n next: \"След.\",\n done: \"Готово\",\n new: \"Новый\",\n rename: \"Редактировать\",\n back: \"Назад\",\n category: {\n saved: \"Сохранено\",\n categories: \"Категории\",\n title: \"Категория\",\n newTitle: \"Новая категория\",\n editTitle: \"Редактировать категорию\",\n addCategory: \"Добавить категорию\",\n form: {\n title: \"Название\",\n },\n },\n linkToShare: \"Ссылка для копирования\",\n select: \"Выбрать\",\n selected: \"Выбрано\",\n nItemsSelected: \"{value} элемент(ов) выбрано\",\n },\n feed: {\n form: {\n content: {\n placeholder: \"Напишите, что у вас на уме...\",\n },\n },\n noFeedsFound: \"Ленты не найдены\",\n post: \"Опубликовать\",\n photoOrVideo: \"Фото / Видео\",\n addMaterial: \"Добавить материал\",\n repostDescription: {\n repost: \"Мгновенно разместить пост в ленте других пользователей\",\n repostWithYourThoughts: \"Создать новый пост на основе текущего\",\n },\n copyLinkToPost: \"Скопировать ссылку на пост\",\n selectUsersToSend: \"Выберите пользователя(ей) для отправки поста\",\n },\n comment: {\n form: {\n content: {\n commentPlaceholder: \"Добавить комментарий...\",\n replyPlaceholder: \"Добавить ответ...\",\n },\n },\n comment: \"Комментарий\",\n noCommentsAddedYet: \"Комментарии не добавлены\",\n commentNow: \"Оставить комментарий\",\n loadMoreComments: \"Загрузить больше комментариев\",\n reply: \"Ответить\",\n replyingTo: \"Ответ на:\",\n viewMoreReplies: \"Посмотреть больше ответов ({value})\",\n viewReplies: \"Посмотреть ответы ({value})\",\n },\n mediaEditor: {\n title: \"Редактор\",\n upload: {\n selectAFileToBegin: \"Выберите файл, чтобы начать\",\n sharePhotoOrVideoInYourPost: \"Добавьте фото или видео в свой пост\",\n uploadFromYourDevice: \"Загрузить с устройства\",\n dragYourFilesHere: \"Перетащите файлы сюда\",\n dropYourFileHere: \"Переместите файл сюда\",\n dropYourFilesHere: \"Переместите файлы сюда\",\n },\n },\n home: {\n leftContainerDescription:\n \"Место, где студенты и учителя со всего мира достигают высоких результатов, работая без посредников\",\n aboutUs: \"О нас\",\n iAmAStudent: \"Я студент\",\n iAmATeacher: \"Я учитель\",\n },\n promo: {\n student: {\n title: \"Более 100 профессиональных учителей, которым доверяют люди\",\n description:\n \"Студенты выставляют оценки учителям за эффективность обучения. На основе этих оценок мы рекомендуем вам лучших учителей\",\n howEffectiveWasLesson: \"На сколько эффективен был ваш урок?\",\n submitGrade: \"Подтвердить оценку\",\n filterData: {\n title: \"Ответьте на вопросы, и мы подберем идеального учителя\",\n languageYouWantToLearn: \"Язык, который вы хотите изучить\",\n chooseLanguage: \"Выберите язык\",\n priceForLesson: \"Цена за урок\",\n chooseQuality:\n \"Выберите качество, которое вы цените больше всего в своем учителе\",\n },\n showResult: \"Показать результат\",\n showMore: \"Показать больше ({value})\",\n },\n },\n modules: {\n voiceRecorder: {\n title: \"Запись голоса\",\n },\n cameraInitialization: {\n title: \"Инициализация камеры\",\n },\n cameraSettings: {\n title: \"Настройки камеры\",\n audio: \"Аудио\",\n video: \"Видео\",\n microphone: \"Микрофон\",\n camera: \"Камера\",\n preview: \"Предварительный просмотр\",\n },\n },\n camera: {\n cameraNotVisibleDescription:\n \"Если вы не видите себя, измените устройство ввода камеры в настройках\",\n cameraSettings: \"Настройки камеры\",\n },\n skills: {\n languages: {\n english: {\n title: \"Онлайн-репетиторы по английскому для частных уроков\",\n description:\n \"Найдите идеального репетитора по английскому, чтобы повысить свой деловой английский, подготовиться к экзаменам или стать лучше в повседневном общении! LiveXP насчитывает множество замечательных репетиторов. Откройте для себя онлайн-репетитора по английскому, который сможет сделать изучение интересным и продуктивным. LiveXP - это место, где полно частных репетиторов по английскому, которые знают, как помочь вам достичь заметных результатов. Думаете, с чего начать? Просматривайте репетиторов Realteacher онлайн по английскому, проходите пробное занятие, оцените, как вам это понравится, и начните учиться регулярно!\",\n },\n },\n userCard: {\n aboutMe: \"Обо мне\",\n rated: \"Оценено\",\n notEnoughDataToShow: \"Недостаточно данных для показа\",\n lessons: \"Уроки\",\n price: \"Цена\",\n quickLook: \"Просмотр\",\n visitProfile: \"Посетить профиль\",\n bookLesson: \"Забронировать урок\",\n viewSchedule: \"Расписание\",\n reviews: \"Отзывы\",\n yourPhone: \"Ваш номер телефона\",\n phoneHint:\n 'Отправляя свои личные данные, вы соглашаетесь с условиями использования. ',\n exchangeContacts: \"Обменяться контактами\",\n exchangeContactsModal: {\n informationSentSuccessfully:\n \"Ваша контактная информация была отправлена учителю\",\n callYourself: \"Не хотите ждать? Позвоните сами.\",\n },\n review: {\n numberOfLessons: `{value} урок(ов)`,\n noReviewsFound: \"Отзывов не найдено\",\n },\n },\n filters: {\n price: \"Цена\",\n interests: \"Интересы\",\n updateResults: \"Обновить результаты\",\n speaks: \"Говорит на\",\n specialities: \"Специализации\",\n textbooks: \"Учебники\",\n criteria: \"Критерии\",\n },\n noInstructorsFound:\n \"По вашим критериям фильтрации инструкторы не найдены\",\n },\n search: {\n title: \"Поиск\",\n tabs: {\n all: \"Все\",\n instructors: \"Инструкторы\",\n students: \"Студенты\",\n },\n filters: {\n interests: {\n label: \"Интересы\",\n placeholder: \"Введите название интереса\",\n },\n teaches: {\n label: \"Преподаёт\",\n placeholder: \"Введите название языка\",\n },\n speaks: {\n label: \"Говорит на\",\n placeholder: \"Введите название языка\",\n },\n specialities: {\n label: \"Специализации\",\n placeholder: \"Введите название специализации\",\n },\n textbooks: {\n label: \"Учебники\",\n placeholder: \"Введите название учебника\",\n },\n },\n },\n login: {\n title: \"Войти\",\n yourEmail: \"Ваш email\",\n password: \"Пароль\",\n forgotYourPassword: \"Забыли пароль?\",\n register: \"Регистрация\",\n submit: \"Войти\",\n },\n registration: {\n registerAs: \"Зарегистрироваться как\",\n student: \"Студент\",\n teacher: \"Учитель\",\n signUp: \"Зарегистрироваться\",\n login: \"Войти\",\n speak: \"Говорит на:\",\n teach: \"Преподает:\",\n learn: \"Изучает:\",\n criteria: \"Критерии:\",\n specialities: \"Специализации:\",\n textbooks: \"Учебники:\",\n teachLabel: \"На каком языке вы будете преподавать?\",\n speakLabel: \"На каких языках вы говорите?\",\n learnLabel: \"На каком языке вы будете учиться?\",\n criteriaLabel: \"Выберите критерии для учителя\",\n user: {\n youRegisteredSuccessfully:\n \"Вы успешно зарегистрированы, пожалуйста, следуйте инструкциям, отправленным по электронной почте.\",\n specialities: {\n learnBasics: \"Основы\",\n talkWithPeople: \"Общение с людьми\",\n forKids: \"Для детей\",\n improveProficiency: \"Улучшение владения языком\",\n doBusiness: \"Деловое общение\",\n prepareForExam: \"Подготовка к экзаменам\",\n },\n studentReviewQuestions: {\n structure: {\n title: \"Структура\",\n shortTitle: \"Структура\",\n description:\n \"Связаны ли занятия? Например, на первом уроке вы освоили грамматику модального глагола «can» (I cannot help you). На следующем уроке - present continuous (I am watching TV). Наконец, вы комбинируете обе темы, составляя предложения вроде “I cannot help you because I am watching TV”. Таким образом, структура - это нечто большее, чем простое повторение. Структура - это когда предыдущая грамматика/лексика переплетается с новой темой, в результате чего у студента не возникает пробелов в знаниях.\",\n optionsDescription:\n \"1 – изучили тему и забыли ее навсегда.
5 – каждая новая тема объединяет новую грамматику/лексику с ранее изученной\",\n },\n punctuality: {\n title: \"Пунктуальность\",\n shortTitle: \"Пунктуальность\",\n description:\n \"В начале курса вы и ваш учитель заключили договор о расписании. Вы могли договориться встречаться регулярно или иметь гибкое расписание. Вы также могли договориться о политике отмены занятий. Независимо от того, какое у вас расписание, важно, чтобы обе стороны четко понимали и следовали ему.\",\n optionsDescription:\n \"Поставьте 1, если у вас нет четкого соглашения или понимания политики вашего учителя относительно расписания или/и вы крайне недовольны пунктуальностью вашего учителя.
Поставьте 5, если, в целом, учитель следит за расписанием и не нарушает политику отмены занятий.\",\n },\n capability: {\n title: \"Доказанная компетентность\",\n shortTitle: \"Компетентность\",\n description:\n \"Насколько хорошо учитель знает предмет? Мы считаем, что, в общем, хороший учитель должен знать немного больше, чем книги/материалы, которые он или она использует во время урока. В противном случае, вы могли бы найти те же материалы в интернете и изучить их независимо с тем же успехом.\",\n optionsDescription:\n \"1 - Я лучше учусь самостоятельно
2 - учитель в некоторой степени помогает
3 - если учитель хорошо владеет материалом и может ответить на почти все вопросы
4 - за предоставление дополнительной информации, не упомянутой в книге (исключения из правил/различные значения одного и того же слова)
5 - мой учитель делится конкретными культурными аспектами поведения и использования языка или/и может обрабатывать некоторые языковые странности.\",\n },\n skills: {\n title: \"Развитие навыков\",\n shortTitle: \"Навыки\",\n description:\n \"К концу урока вы ушли с пустыми руками или приобрели какие-то знания/навыки? Иными словами, провели ли вы время зря или был ли урок полезен? Результат может быть небольшим, но измеримым, приближая вас к достижению большей цели.\",\n optionsDescription:\n \"Поставьте 1, если вы провели время зря и сомневаетесь, что когда-либо получите пользу от этого учителя.
Поставьте 5, если вы определенно приобрели различные навыки на каждом уроке, и все эти навыки взаимосвязаны друг с другом, постепенно приближая вас к большему результату\",\n },\n practice: {\n title: \"Практика\",\n shortTitle: \"Практика\",\n description:\n \"На каком языке больше всего говорится во время урока: иностранный или родной?\",\n optionsDescription:\n \"1 – большую часть времени мы говорим на родном языке
5 – всё время мы говорим только на иностранном языке\",\n },\n responsibility: {\n title: \"Ответственность\",\n shortTitle: \"Ответственность\",\n description:\n \"Принимает ли учитель на свой счет ваше неудачное или успешное выполнение задания?\",\n optionsDescription:\n \"1 – учитель предпочитает не замечать мои трудности (если они есть): методика прекрасна, если результаты плохие, учитель намекает на мою единоличную ответственность
5 – если результаты плохие, мой учитель беспокоится и приспосабливает методику\",\n },\n independence: {\n title: \"Самостоятельность и мышление\",\n shortTitle: \"Самостоятельность\",\n description:\n \"Как учитель реагирует на ваши ошибки? Дает ли он/она вам сразу правильный ответ или дает вам шанс решить проблему самостоятельно?\",\n optionsDescription:\n \"1 – сразу исправляет меня (слишком много материала, слишком мало времени)
5 – даёт подсказки, но никогда не торопит с правильным ответом, хочет, чтобы я сам/сама разобрался/разобралась\",\n },\n allSkills: {\n title: \"Развивает ли учитель все 5 навыков?\",\n shortTitle: \"Все навыки\",\n description:\n \"Идеально, на каждом уроке хороший учитель одинаково обращает внимание на развитие 5 языковых навыков: слушание, чтение, разговор, письмо, грамматика.\",\n optionsDescription:\n \"1 - учитель сосредоточен только на одном из этих навыков, например, ваш учитель обучал только грамматике
5. - учитель развивает все 5 навыков\",\n },\n timeManagement: {\n title: \"Управление временем\",\n shortTitle: \"Время\",\n description:\n \"Эффективно ли используется время на уроке или оно тратится впустую?\",\n optionsDescription:\n \"1 – значительное количество времени тратится на то, что могло бы быть сделано до начала урока (загрузка/выгрузка файлов, проверка посещаемости, домашнее задание, поиск информации и т. д.)
5 – я получаю пользу от каждой минуты урока\",\n },\n listeningToStudent: {\n title: \"Внимание к студенту\",\n shortTitle: \"Студентоориентированность\",\n description:\n \"Кто более активен во время урока: вы или ваш учитель? Является ли ваш учитель хорошим слушателем?\",\n optionsDescription:\n \"1 – Учитель никогда не дает мне шанса высказаться
5 – Большую часть времени учитель внимательно слушает, что я имею сказать\",\n },\n approach: {\n title: \"Подход\",\n shortTitle: \"Подход\",\n description:\n \"Некоторым нравятся авторитарные учителя. Другим нравятся учителя с демократическим темпераментом. Нашли ли ваш учитель правильный подход в общении с вами, который помогает вам извлечь максимальную пользу из уроков?\",\n optionsDescription:\n \"1 – Я бы хотел(а), чтобы учитель был мягче/строже по отношению ко мне
2 – Учитель нашел лучший подход ко мне\",\n },\n },\n userInterestGroup: {\n healthSport: {\n title: \"Здоровье и спорт\",\n },\n goingOutEntertainment: {\n title: \"Выход и развлечения\",\n },\n hobbiesEducation: {\n title: \"Хобби и образование\",\n },\n },\n userInterest: {\n running: {\n title: \"Бег\",\n },\n workout: {\n title: \"Тренировка\",\n },\n volleyball: {\n title: \"Волейбол\",\n },\n cycling: {\n title: \"Велоспорт\",\n },\n chess: {\n title: \"Шахматы\",\n },\n martialArts: {\n title: \"Боевые искусства\",\n },\n basketball: {\n title: \"Баскетбол\",\n },\n football: {\n title: \"Футбол\",\n },\n hockey: {\n title: \"Хоккей\",\n },\n swimming: {\n title: \"Плавание\",\n },\n diving: {\n title: \"Дайвинг\",\n },\n extremeSports: {\n title: \"Экстремальные виды спорта\",\n },\n formula1: {\n title: \"Формула 1\",\n },\n meditation: {\n title: \"Медитация\",\n },\n yoga: {\n title: \"Йога\",\n },\n filmTv: {\n title: \"Кино и ТВ\",\n },\n theatre: {\n title: \"Театр\",\n },\n eatingOut: {\n title: \"Посещение ресторанов\",\n },\n museums: {\n title: \"Музеи\",\n },\n concerts: {\n title: \"Концерты\",\n },\n shopping: {\n title: \"Шоппинг\",\n },\n gaming: {\n title: \"Игры\",\n },\n boardGames: {\n title: \"Настольные игры\",\n },\n traveling: {\n title: \"Путешествия\",\n },\n hiking: {\n title: \"Пешие прогулки\",\n },\n humor: {\n title: \"Юмор\",\n },\n business: {\n title: \"Бизнес\",\n },\n finance: {\n title: \"Финансы\",\n },\n management: {\n title: \"Управление\",\n },\n music: {\n title: \"Музыка\",\n },\n space: {\n title: \"Космос\",\n },\n history: {\n title: \"История\",\n },\n pets: {\n title: \"Домашние животные\",\n },\n dancing: {\n title: \"Танцы\",\n },\n photography: {\n title: \"Фотография\",\n },\n singing: {\n title: \"Пение\",\n },\n arts: {\n title: \"Искусство\",\n },\n cars: {\n title: \"Автомобили\",\n },\n motorcycles: {\n title: \"Мотоциклы\",\n },\n cooking: {\n title: \"Кулинария\",\n },\n architecture: {\n title: \"Архитектура\",\n },\n reading: {\n title: \"Чтение\",\n },\n science: {\n title: \"Наука\",\n },\n psychology: {\n title: \"Психология\",\n },\n ecology: {\n title: \"Экология\",\n },\n technologies: {\n title: \"Технологии\",\n },\n fashion: {\n title: \"Мода\",\n },\n politics: {\n title: \"Политика\",\n },\n writing: {\n title: \"Писательство\",\n },\n design: {\n title: \"Дизайн\",\n },\n philosophy: {\n title: \"Философия\",\n },\n medicine: {\n title: \"Медицина\",\n },\n celebrities: {\n title: \"Знаменитости\",\n },\n volunteering: {\n title: \"Волонтерство\",\n },\n news: {\n title: \"Новости\",\n },\n personalGrowth: {\n title: \"Личностный рост\",\n },\n },\n language: {\n english: {\n title: \"Английский\",\n },\n russian: {\n title: \"Русский\",\n },\n kyrgyz: {\n title: \"Киргизский\",\n },\n kazakh: {\n title: \"Казахский\",\n },\n uzbek: {\n title: \"Узбекский\",\n },\n turkmen: {\n title: \"Туркменский\",\n },\n armenian: {\n title: \"Армянский\",\n },\n },\n },\n },\n passwordRecovery: {\n title: \"Восстановление пароля\",\n enterYourEmail: \"Введите свой адрес электронной почты\",\n rememberYourPassword: \"Помните свой пароль?\",\n submit: \"Отправить\",\n instructionDescription:\n \"Инструкция по восстановлению пароля была отправлена на ваш адрес электронной почты, проверьте свою почту\",\n goToLoginScreen: \"Перейти на экран входа\",\n },\n passwordRecoveryConfirmation: {\n title: \"Подтверждение восстановления пароля\",\n invalidResetTokenDescription:\n \"Недействительный токен сброса. Пожалуйста, попробуйте восстановить свой пароль снова\",\n goToPasswordRecoveryScreen: \"Перейти на экран восстановления пароля\",\n enterNewPassword: \"Введите новый пароль\",\n confirmYourNewPassword: \"Подтвердите ваш новый пароль\",\n submit: \"Изменить пароль\",\n yourPasswordSuccessfullyChanged: \"Ваш пароль успешно изменен\",\n goToLoginScreen: \"Перейти на экран входа\",\n },\n profile: {\n main: \"Главная\",\n feed: \"Лента\",\n messages: \"Сообщения\",\n notifications: \"Уведомления\",\n connections: \"Связи\",\n myConnections: \"Мои связи\",\n activityHistory: \"История активности\",\n schedule: \"Расписание\",\n myMaterials: \"Мои материалы\",\n savedMaterials: \"Сохраненные материалы\",\n lessonsHistory: \"История уроков\",\n quizzesHistory: \"История викторин\",\n detalization: \"Детализация баланса\",\n profileSettings: \"Настройки профиля\",\n },\n main: {\n endOfActivities: \"Конец активностей\",\n noActivities: \"No activities\",\n previewAlert: {\n title: \"Ищете предварительный просмотр вашего профиля?\",\n description:\n \"Вы можете найти предварительный просмотр вашего профиля, нажав на кнопку ниже\",\n button: \"Мой профиль\",\n },\n },\n myConnections: {\n networkManagement: \"Управление связями\",\n invitations: \"Приглашения\",\n myInvitations: \"Мои приглашения\",\n myConnections: \"Мои связи\",\n userConnections: \"Связи пользователя\",\n noConnectionsYet: \"У вас пока нет связей\",\n noConnectionFoundForYourRequest: \"По вашему запросу связей не найдено\",\n pendingSharedContacts: \"Ожидающие общие контакты\",\n noPendingSharedContacts: \"Нет ожидающих общих контактов\",\n markAsRead: \"Отметить как прочитанное\",\n manageSharedContacts: \"Управление общими контактами\",\n\n pendingInvitations: \"Ожидающие приглашения\",\n manageInvitations: \"Управлять приглашениями\",\n manageMyConnections: \"Управлять моими связями\",\n noPendingInvitations: \"Нет ожидающих приглашений\",\n },\n userConnections: {\n title: \"Связи пользователя\",\n },\n logout: {\n loggingOut: \"Выход из системы...\",\n },\n detalization: {\n title: \"Детализация баланса\",\n dateRange: \"Диапазон дат\",\n type: \"Тип\",\n createdAt: \"Создано\",\n in: \"В\",\n out: \"Из\",\n balanceBefore: \"Баланс до\",\n balanceAfter: \"Баланс после\",\n sum: \"Сумма\",\n noHistoryFound: \"Транзакций не найдено\",\n },\n activityHistory: {\n title: \"История активности\",\n groupedItemTitle: {\n today: \"Сегодня\",\n yesterday: \"Вчера\",\n thisWeek: \"На этой неделе\",\n thisMonth: \"В этом месяце\",\n thisYear: \"В этом году\",\n earlier: \"Ранее\",\n },\n createdLesson: \"Создан урок\",\n scheduledLesson: \"Запланирован урок\",\n startedLesson: \"Начат урок\",\n with: \"с\",\n createdQuiz: \"Создана викторина\",\n finishedQuiz: \"Завершена викторина\",\n and: \"и\",\n },\n notifications: {\n title: \"Уведомления\",\n tabs: {\n All: \"Все\",\n Lesson: \"Урок\",\n Other: \"Другие\",\n },\n endOfNotifications: \"Конец уведомлений\",\n noNotifications: \"Вы еще не получили уведомлений\",\n },\n materials: {\n materials: \"Материалы\",\n tabs: {\n lessons: \"Уроки\",\n quizzes: \"Викторины\",\n fileManager: \"Файловый менеджер\",\n },\n savedMaterials: \"Сохраненные материалы\",\n author: \"Автор\",\n whiteboard: \"Доска\",\n myMaterials: \"Мои материалы\",\n title: \"Название\",\n createdAt: \"Создано\",\n actions: \"Действия\",\n details: \"Подробности\",\n creating: \"Создание\",\n updating: \"Обновление\",\n choose: \"Выбрать\",\n attachmentDeletionConfirmation:\n \"Вы уверены, что хотите удалить это вложение?\",\n audioDeletionConfirmation: \"Вы уверены, что хотите удалить это аудио?\",\n description: \"Описание\",\n notes: \"Заметки\",\n mainInfo: \"Основная информация\",\n audio: \"Аудио\",\n attachments: \"Вложения\",\n vocabulary: \"Словарь\",\n asVocabulary: \"Использовать как словарь\",\n itemsPerPage: \"Упражнений на странице\",\n points: \"Баллы\",\n user: \"Пользователь\",\n nonRegisteredUser: \"Незарегистрированный пользователь\",\n nonRegisteredUserTelNumber: \"Телефон незарегистрированного пользователя\",\n backToMain: \"Вернуться на главную\",\n backToLessons: \"Вернуться к урокам\",\n lesson: {\n title: \"Урок\",\n tabs: {\n main: {\n title: \"Основной\",\n },\n attachments: {\n title: \"Вложения\",\n tabs: {\n audio: \"Аудио\",\n documents: \"Документы\",\n \"board-documents\": \"Документы для доски\",\n },\n },\n exercises: {\n title: \"Упражнения\",\n tabs: {\n vocabulary: \"Словарь\",\n exercises: \"Упражнения\",\n },\n },\n whiteboard: {\n title: \"Доска\",\n },\n },\n form: {\n title: {\n label: \"Заголовок\",\n },\n category: {\n label: \"Категория\",\n },\n },\n sharingSettings: {\n title: \"Настройки общего доступа\",\n },\n },\n lessons: {\n all: \"Все\",\n owned: \"Собственные\",\n forked: \"Сохраненные\",\n lessonsList: \"Список уроков\",\n lessons: \"Уроки\",\n duration: \"Продолжительность\",\n myLessons: \"Мои уроки\",\n newLesson: \"Новый урок\",\n deletionConfirmation: \"Вы уверены, что хотите удалить этот урок?\",\n filters: \"Фильтры\",\n authorizeToAccessBoard:\n \"Доска недоступна для незарегистрированных пользователей. Чтобы получить доступ к доске, пожалуйста, войдите в систему.\",\n noLessonsFound: \"Уроков не найдено\",\n noDescriptionAddedYet: \"Описание к упражнению не добавлено\",\n addDescription: \"Добавить описание\",\n editDescription: \"Редактировать описание\",\n },\n quiz: {\n title: \"Викторина\",\n exercisesPerPageHint:\n \"0 означает, что все упражнения будут на одной странице\",\n tabs: {\n edit: {\n title: \"Редактировать\",\n },\n main: {\n title: \"Главное\",\n },\n history: {\n title: \"История\",\n },\n },\n types: {\n exercise: {\n title: \"Упражнение\",\n },\n vocabulary: {\n title: \"Словарь\",\n },\n },\n form: {\n title: {\n label: \"Заголовок\",\n },\n category: {\n label: \"Категория\",\n },\n },\n sharingSettings: {\n title: \"Настройки общего доступа\",\n },\n additionalSettings: {\n title: \"Дополнительные настройки\",\n },\n },\n quizzes: {\n all: \"Все\",\n owned: \"Собственные\",\n forked: \"Сохраненные\",\n quizzesList: \"Список викторин\",\n details: \"Подробно\",\n backToQuiz: \"Вернуться к викторине\",\n backToHistory: \"Вернуться к истории\",\n numberOfExercises: \"Количество упражнений\",\n maxPoints: \"Максимальные баллы\",\n quizzes: \"Викторины\",\n myQuizzes: \"Мои викторины\",\n history: \"История\",\n linkedQuizzes: \"Связанные викторины\",\n linkedVocabulary: \"Связанный словарь\",\n newQuiz: \"Новая викторина\",\n linking: \"Связывание\",\n quiz: \"викторина\",\n quizUF: \"Викторина\",\n vocabulary: \"словарь\",\n deletionConfirmation: \"Вы уверены, что хотите удалить эту викторину?\",\n unlinkConfirmation:\n \"Вы уверены, что хотите разорвать связь с этой викториной?\",\n navigation: \"НАВИГАЦИЯ\",\n filters: \"Фильтры\",\n student: \"Студент\",\n setFlag: \"Установить флаг\",\n unsetFlag: \"Снять флаг\",\n submitConfirmation: \"Вы уверены, что хотите отправить эту викторину?\",\n noAnswerExercises: \"У вас есть незавершенные упражнения\",\n weAreSorryQuizNotFound: \"Извините, викторина не найдена :(\",\n nonRegistered: {\n title: \"Пожалуйста, предоставьте вашу информацию\",\n fullName: \"Полное имя\",\n telNumber: \"Номер телефона\",\n },\n allUsers: \"Все пользователи\",\n registeredUsers: \"Зарегистрированные пользователи\",\n nonRegisteredUsers: \"Незарегистрированные пользователи\",\n self: \"Свои\",\n noDescriptionAddedYet: \"Описание теста еще не добавлено\",\n addDescription: \"Добавить описание\",\n editDescription: \"Редактировать описание\",\n editAdditionalSettings: \"Редактировать дополнительные настройки\",\n authorizeToAccessHistory:\n \"История недоступна, чтобы сохранить результаты, пожалуйста, войдите в систему.\",\n noQuizzesFound: \"Тестов не найдено\",\n noQuizHistoriesFound: \"Историй выполнения не найдено\",\n },\n exercises: {\n exercises: \"Упражнения\",\n exercise: \"Упражнение\",\n noAnyExercises: \"Нет упражнений\",\n noAnyVocabulary: \"Нет словаря\",\n noAnswer: \"Нет ответа\",\n detailsAreNotAvailable:\n \"Подробности недоступны, так как автор этого упражнения изменил его после вашей отправки текущей викторины.\",\n types: {\n dragTheWords: {\n title: \"Перетащить слова\",\n adminDescription: \"Описание администратора для перетаскивания слов\",\n studentDescription: \"Описание студента для перетаскивания слов\",\n draggable: \"Перетаскиваемое\",\n markSelected: \"Отметить выбранное как перетаскиваемое\",\n unmarkSelected: \"Снять отметку\",\n },\n dragTheWordsImage: {\n title: \"Перетащите Слова К Изображению\",\n adminDescription: \"Описание для администратора: перетащите слова\",\n studentDescription: \"Описание для ученика: перетащите слова\",\n draggable: \"Перетаскиваемый\",\n markSelected: \"Отметить выбранное как перетаскиваемое\",\n unmarkSelected: \"Снять отметку с выбранного\",\n },\n fillInTheBlanks: {\n title: \"Заполнить пропуски\",\n adminDescription:\n \"Описание администратора для заполнения пропусков\",\n studentDescription: \"Описание студента для заполнения пропусков\",\n or: \"Или\",\n anyChar: \"Любой символ\",\n anyText: \"Любой текст\",\n addAnotherOption: \"Добавить другой вариант\",\n markSelected: \"Отметить выбранное как поле\",\n unmarkSelected: \"Снять отметку\",\n field: \"Поле\",\n },\n fillInTheBlanksImage: {\n title: \"Заполните Пропуски в Изображении\",\n adminDescription: \"Описание для администратора: заполните пропуски\",\n studentDescription: \"Описание для ученика: заполните пропуски\",\n or: \"Или\",\n anyChar: \"Любой символ\",\n anyText: \"Любой текст\",\n addAnotherOption: \"Добавить еще один вариант\",\n markSelected: \"Отметить выбранное как поле\",\n unmarkSelected: \"Снять отметку с выбранного\",\n field: \"Поле\",\n },\n\n findSynonym: {\n title: \"Найти синоним\",\n adminDescription: \"Описание администратора для поиска синонима\",\n studentDescription: \"Описание студента для поиска синонима\",\n markMainSynonymSelected: \"Отметить выбранное как основной синоним\",\n markRealSynonymSelected:\n \"Отметить выбранное как реальный синоним для основного\",\n markFakeSynonymSelected:\n \"Отметить выбранное как фиктивный синоним для основного\",\n unmarkSelected: \"Снять отметку\",\n synonym: \"Синоним\",\n real: \"Реальный\",\n fake: \"Фиктивный\",\n },\n findThePlace: {\n title: \"Найти место\",\n adminDescription: \"Описание администратора для поиска места\",\n studentDescription: \"Описание студента для поиска места\",\n real: \"Реальное\",\n fake: \"Фиктивное\",\n insertFakePlace: \"Вставить фиктивное место\",\n markRealPlaceSelected: \"Отметить выбранное как реальное место\",\n unmarkSelected: \"Снять отметку\",\n },\n markTheWords: {\n title: \"Пометить слова\",\n adminDescription: \"Описание администратора для пометки слов\",\n studentDescription: \"Описание студента для пометки слов\",\n correct: \"Правильный\",\n wrong: \"Неправильный\",\n markCorrectSelected: \"Отметить выбранное как правильный ответ\",\n markWrongSelected: \"Отметить выбранное как неправильный ответ\",\n unmarkSelected: \"Снять отметку\",\n },\n multipleChoice: {\n title: \"Множественный выбор\",\n adminDescription:\n \"Описание администратора для множественного выбора\",\n studentDescription: \"Описание студента для множественного выбора\",\n },\n singleChoice: {\n title: \"Одиночный выбор\",\n adminDescription: \"Описание администратора для одиночного выбора\",\n studentDescription: \"Описание студента для одиночного выбора\",\n },\n trueFalse: {\n title: \"Верно или Неверно\",\n adminDescription: \"Описание администратора для правда или ложь\",\n studentDescription: \"Описание студента для правда или ложь\",\n },\n },\n true: \"Верно\",\n false: \"Неверно\",\n answer: \"Ответ\",\n title: \"Название\",\n type: \"Тип\",\n description: \"Описание\",\n text: \"Текст\",\n chooseImage: \"Выберите изображение\",\n descriptionAudio: \"Аудио описание\",\n answerAudio: \"Аудио ответ\",\n attachedAudio: \"Прикрепленное аудио\",\n audioHint:\n \"Ниже отмеченные опции будут работать, если количество упражнений на странице в викторине равно 1\",\n hideAudio: \"Скрыть аудио\",\n audioAutoplay: \"Автовоспроизведение\",\n answerOptions: \"Варианты ответов\",\n selectCorrectAnswers: \"Выберите правильные ответы\",\n selectCorrectAnswer: \"Выберите правильный ответ\",\n errorHint: \"Подсказка об ошибке\",\n addOption: \"Добавить вариант\",\n deletionConfirmation: \"Вы уверены, что хотите удалить это упражнение?\",\n total: \"Всего\",\n nExercises: \"{count} упражнение | {count} упражнений\",\n nVocabularies: \"{count} словарь | {count} словарей\",\n nPoints: \"{count} балл | {count} баллов\",\n addExercise: \"Добавить упражнение\",\n selectExerciseType: \"Выберите тип упражнения\",\n newVocabulary: \"Новый словарь\",\n linkExercisesFromQuiz: \"Связать упражнения из викторины\",\n linkVocabulary: \"Связать словарь\",\n searchLabel: \"Поиск: название, тип\",\n points: \"Баллы\",\n createdAt: \"создано {createdAt}\",\n goBack: \"Вернуться назад\",\n creating: \"Создание\",\n editing: \"Редактирование\",\n showCorrectnessOnError: \"Показывать правильность после проверки\",\n countPartialPts: \"Учитывать частичные баллы\",\n nOfxPts: \"{count} из {points} баллов\",\n upload: \"Загрузить\",\n record: \"Запись\",\n audioNotSelectedOrRecorded: \"Аудио не выбрано или записано\",\n preview: \"Предпросмотр\",\n },\n privacy: {\n privacy: \"Конфиденциальность\",\n public: \"Публичный\",\n publicDescription: \"Все могут видеть этот материал\",\n hidden: \"Скрытый\",\n hiddenDescription: \"Только автор может видеть этот материал\",\n scheduled: \"Запланированный\",\n scheduledDescription:\n \"Этот материал может быть доступен с запланированной даты до 3 дней\",\n forConnections: \"Для связей\",\n forConnectionsDescription:\n \"Только связи автора могут видеть этот материал\",\n },\n publication: {\n form: {\n title: {\n placeholder: \"Заголовок\",\n },\n level: {\n label: \"Уровень\",\n },\n description: {\n placeholder: \"Описание\",\n },\n },\n publicationIsEmpty: \"Публикация пуста\",\n selectFromMyOwnMaterials: \"Выбрать из моих материалов\",\n selectUsersToSend: \"Выберите пользователя(ей) для отправки публикации\",\n repostDescription: {\n repost:\n \"Мгновенно разместить публикацию в ленте других пользователей\",\n repostWithYourThoughts:\n \"Создать новый пост на основе текущей публикации\",\n },\n copyLinkToPublication: \"Скопировать ссылку на публикацию\",\n section: {\n generatedTitle: \"Раздел #{value}\",\n deletionConfirmation: \"Вы уверены, что хотите удалить этот раздел?\",\n addSection: \"Добавить раздел\",\n sectionIsEmpty: \"Пока раздел пуст\",\n addResource: \"Добавить ресурс\",\n selectResourceType: \"Выберите тип ресурса\",\n resource: {\n form: {\n content: {\n placeholder: \"Напишите содержание ресурса...\",\n },\n },\n deletionConfirmation: \"Вы уверены, что хотите удалить этот ресурс?\",\n copyLinkToResource: \"Скопировать ссылку на ресурс\",\n selectUsersToSend: \"Выберите пользователя(ей) для отправки ресурса\",\n groups: {\n interactivity: {\n title: \"Интерактивность\",\n },\n mediaAssets: {\n title: \"Медиа ресурсы\",\n items: {\n media: \"Изображение / Видео\",\n audio: \"Аудио\",\n text: \"Текст\",\n },\n },\n },\n repostDescription: {\n repost:\n \"Мгновенно разместить ресурс в ленте других пользователей\",\n repostWithYourThoughts:\n \"Создать новый пост на основе текущего ресурса\",\n },\n },\n },\n searchForAnyMaterial: \"Ищите любые материалы\",\n own: \"Собственные\",\n common: \"Общие\",\n noPublicationsFound: \"Публикаций не найдено\",\n noSavedPublicationsFound: \"Сохраненных убликаций не найдено\",\n createPublication: \"Создать публикацию\",\n commonPublications: \"Общие публикации\",\n myPublications: \"Мои публикации\",\n savedPublications: \"Сохраненные публикации\",\n allMyPublications: \"Все мои публикации\",\n allSavedPublications: \"Все сохраненные публикации\",\n },\n },\n messages: {\n title: \"Сообщения\",\n chat: {\n title: \"Чат\",\n search: \"Поиск...\",\n writeMessage: \"Написать сообщение...\",\n\n typeToMessage: \"Введите сообщение\",\n endMessage: \"Это конец сообщений\",\n youDontHaveAnyChat: \"Вы еще не общались\",\n startChattingDescription:\n \"Начните общение, выбрав одно из ваших соединений\",\n startChatting: \"Начать общение\",\n send: \"Отправить\",\n connections: {\n title: \"Соединения\",\n },\n },\n },\n profileSettings: {\n title: \"Настройки профиля\",\n editingProfile: \"Редактирование профиля\",\n basicInfo: \"Основная информация\",\n aboutProfile: \"О профиле\",\n balanceDetalization: \"Детализация баланса\",\n backToProfileSettings: \"Назад к настройкам профиля\",\n interests: \"Интересы и хобби\",\n textbooks: \"Учебники\",\n prices: \"Цены\",\n additionalInfo: \"Дополнительная информация\",\n mainInfo: \"Основная информация\",\n firstName: \"Имя\",\n lastName: \"Фамилия\",\n email: \"Эл. почта\",\n phoneNumber: \"Номер телефона\",\n profilePhoto: \"Изменить фото\",\n buttonContinue: \"Продолжить\",\n shortAbout: \"Кратко о себе\",\n longAbout: \"О себе\",\n showOnRecommendationPage: \"Показать на странице рекомендаций\",\n shortAboutHint: \"Кратко опишите себя\",\n longAboutHint: \"Опишите себя\",\n buttonSave: \"Сохранить\",\n buttonPrevious: \"Назад\",\n pricesTab: {\n title: \"Название\",\n addMore: \"Добавить еще\",\n },\n },\n userProfile: {\n about: \"О\",\n wasOnline: \"Был(а) в сети:\",\n teaches: \"Преподаёт:\",\n speaks: \"Говорит:\",\n specialities: \"Специализация:\",\n textbooks: \"Учебники:\",\n interests: \"Интересы:\",\n learns: \"Изучает:\",\n prices: \"Цены\",\n priceTable: {\n title: \"Название\",\n price: \"Цена (в час)\",\n },\n mustRate: \"Вы должны оценить по каждому критерию\",\n leaveThoughts: \"Оставьте свои мысли о преподавателе\",\n reviewComponentTitle:\n \"Пожалуйста, оцените работу преподавателя согласно вашим критериям\",\n reviews: \"Отзывы\",\n },\n schedule: {\n title: \"Расписание\",\n plannedLesson: \"Запланированный урок\",\n start: \"Начало\",\n lessonWith: \"Урок с {instructorFirstName} {instructorLastName}\",\n deleteConfirmation:\n \"Вы уверены, что хотите удалить план расписания урока?\",\n today: \"Сегодня\",\n day: \"День\",\n week: \"Неделя\",\n month: \"Месяц\",\n \"4days\": \"4 дня\",\n createLessonSchedule: \"Планирование нового урока\",\n updateLessonSchedule: \"Обновление существующего расписания\",\n startNow: \"Начать сейчас\",\n schedule: \"Расписание\",\n calendarCard: {\n title: \"Название\",\n plannedDate: \"Запланированная дата\",\n lessons: \"Уроки\",\n students: \"Студенты\",\n notes: \"Заметки\",\n },\n history: \"История\",\n form: {\n headerTitle: \"Планирование нового урока\",\n title: {\n addTitle: \"Добавить название\",\n label: \"Название\",\n },\n startsFrom: {\n label: \"Урок начинается с\",\n },\n duration: {\n label: \"Продолжительность\",\n items: {\n \"30min\": \"30 мин.\",\n \"45min\": \"45 мин.\",\n \"1hour\": \"1 час\",\n \"1halfHours\": \"1.5 часа\",\n \"2hours\": \"2 часа\",\n },\n },\n lessons: {\n label: \"Уроки\",\n placeholder: \"Начните вводить для поиска уроков\",\n rules: {\n required: \"Вы должны выбрать хотя бы один урок\",\n },\n },\n quizzes: {\n label: \"Викторина\",\n placeholder: \"Начните вводить для поиска викторин\",\n rules: {\n required: \"Вы должны выбрать хотя бы одну викторину\",\n },\n },\n students: {\n label: \"Студенты\",\n placeholder: \"Начните вводить для поиска из ваших контактов\",\n rules: {\n required: \"Вы должны выбрать хотя бы одного студента\",\n },\n },\n price: {\n label: \"Цена\",\n rules: {\n required: \"Вы должны указать положительное число\",\n },\n },\n commonPrice: {\n label: \"Общая цена\",\n },\n notes: {\n addNotes: \"Добавить заметки\",\n label: \"Заметки\",\n },\n },\n },\n liveLesson: {\n tabs: {\n main: {\n title: \"Главная\",\n },\n attachments: {\n title: \"Вложения\",\n tabs: {\n audio: \"Аудио\",\n documents: \"Документы\",\n \"board-documents\": \"Документы Совета\",\n },\n },\n exercises: {\n title: \"Упражнения\",\n tabs: {\n vocabulary: \"Словарь\",\n exercises: \"Упражнения\",\n },\n },\n whiteboard: {\n title: \"Доска\",\n },\n chat: {\n title: \"Чат\",\n },\n live: {\n title: \"Эфир\",\n },\n },\n lesson: \"Урок\",\n currentLiveScheduledLessons: \"Текущие прямые уроки\",\n upcomingScheduledLessons: \"Предстоящие запланированные уроки\",\n noUpcomingSchedules: {\n title: \"Нет предстоящих событий\",\n description: \"У вас нет запланированных предстоящих уроков\",\n },\n attachments: {\n editAttachments: \"Редактировать вложения\",\n lessonAttachments: \"Вложения урока\",\n boardAttachments: \"Вложения доски\",\n noLessonAttachmentsAddedYet: \"Пока нет добавленных вложений для урока\",\n noLessonAudiosAddedYet: \"Пока нет добавленных аудио для урока\",\n noBoardAttachmentsAddedYet: \"Пока нет добавленных вложений для доски\",\n },\n live: {\n title: \"Прямой эфир\",\n join: \"Присоединиться\",\n videoIsNotAvailable: \"Видео недоступно\",\n you: \"Вы\",\n youHaveNotJoinedYet:\n \"Вы еще не присоединились к прямому эфиру. Хотите присоединиться?\",\n lessonScheduledInfo:\n \"Прямой урок запланирован на {lessonStartsAt} - {lessonEndsAt}\",\n tooEarlyToJoin:\n \"Слишком рано. Ваш урок начнется в {lessonStartsTime} {lessonStartsDate}. Ваше местное время {localTime} {localDate}.
Однако, комната для встречи доступна вам за 20 минут до и после запланированного часа.\",\n tooLateToJoin:\n \"Урок уже закончился.
Ваш урок начался в {lessonStartsTime} и закончился в {lessonEndsTime} {lessonEndsDate}. Ваше местное время {localTime} {localDate}.
Однако, комната для встречи доступна вам за 20 минут до и после запланированного часа.\",\n },\n board: {\n noBoardsCreatedYetInstructor:\n \"Пока нет созданных досок, хотите создать?\",\n noBoardsCreatedYetStudent:\n \"Пока нет созданных досок, попросите вашего инструктора создать одну\",\n add: {\n title: \"Добавление новой доски\",\n boardName: {\n label: \"Название доски\",\n placeholder: \"Введите название доски\",\n },\n cloneFrom: {\n title: \"Клонировать из\",\n lessonBoards: \"Доски урока:\",\n latestBoards: \"Последние доски:\",\n boardsWithCurrentStudents: \"Доски с текущими студентами:\",\n },\n },\n lock: \"Блокировка\",\n sync: \"Синхронизация между пользователями\",\n additionalOptions: \"Дополнительные опции\",\n borderStyleOpacityAndColor: \"Стиль границы, прозрачность и цвет\",\n colorAndOpacity: \"Цвет и прозрачность\",\n color: \"Цвет\",\n bringToFront: \"Переместить на передний план\",\n bringForward: \"Переместить вперед\",\n sendToBack: \"Переместить на задний план\",\n sendBackward: \"Переместить назад\",\n image: \"Изображение\",\n video: \"Видео\",\n audio: \"Аудио\",\n document: \"Документ\",\n fromYourDevice: \"С вашего устройства\",\n pasteDirectUrl: \"Вставьте прямую ссылку\",\n yourVideoUrl: \"Ваша ссылка на видео\",\n pasteViaYouTubeUrl: \"Вставьте через ссылку YouTube\",\n youTubeVideoUrl: \"Ссылка на видео YouTube\",\n },\n audio: {\n addAudio: \"Добавить аудио\",\n editAudio: \"Редактировать аудио\",\n },\n attachment: {\n add: \"Добавить вложениe\",\n edit: \"Редактировать вложение\",\n },\n exercise: {\n addExercises: \"Добавить упражнения\",\n editExercises: \"Редактировать упражнения\",\n noLessonExercisesAttachedYet:\n \"Пока нет добавленных упражнений для урока\",\n },\n vocabulary: {\n addVocabulary: \"Добавить словарь\",\n editVocabulary: \"Редактировать словарь\",\n noLessonVocabularyAttachedYet:\n \"Пока нет добавленного словаря для урока\",\n },\n chat: {\n typeSomething: \"Напишите что-нибудь...\",\n },\n noAnyLessonAddedYet: \"Пока нет добавленных уроков\",\n addLesson: \"Добавить урок\",\n },\n accessDenied: {\n title: \"Доступ запрещен, недостаточно привилегий\",\n },\n pageNotFound: {\n title: \"Страница не найдена\",\n },\n landing: {\n // Header\n greeting: \"Привет\",\n howItWorks: \"Как это работает\",\n findTeacher: \"Преподаватели\",\n advantages: \"Преимущества\",\n prices: \"Тарифы\",\n\n // Hero\n socialPlatform:\n \"Онлайн-платформа для изучения и преподавания английского языка\",\n hereSuccess:\n \"Здесь ученики говорят «Спасибо» по-настоящему профессиональным учителям и рекомендуют их другим людям.\",\n register: \"Регистрация и вход\",\n findATeacher: \"Найти преподавателя\",\n magicStarts:\n \"«Я уважаю таких людей с высокой внутренней культурой и доверяю их мнению. Доверяю больше, чем самой красивой рекламе».\",\n heroAddress: \"Акылай, мисс Кыргызстан 2023\",\n\n // GALLERY\n dontRisk: \"Не верьте рекламе. Доверяйте отзывам и «сарафанному радио».\",\n weOffer:\n \"Мы предлагаем простые и доступные инструменты для оценки профессионализма учителей английского языка.\",\n supportedByLocal: \"Нас поддерживают известные блогеры\",\n criteria: \"6 критериев\",\n assessTeachers: \"Оценки качества обучения преподавателей\",\n freeForStudents: \"Бесплатно для учеников\",\n realTestimonials: \"Реальные отзывы учеников\",\n\n // whyChoose\n weHelp: \"Мы помогаем\",\n students: \"Ученикам\",\n toFindIdealTeacher:\n \"Найти идеального учителя на основе отзывов и независимой оценки профессиональных качеств. Получить образование, которое полностью удовлетворяет вашим целям.\",\n teachers: \"Преподавателям\",\n toDevelop:\n \"Создать бренд преподавателя-профессионала и продвигать себя на основе отзывов, независимой оценки профессиональных качеств, репутации и честной конкуренции.\",\n // howItIsWork\n seeHowItWork: \"Смотрите, как это работает\",\n choosingATeacher: \"Как выбрать преподавателя\",\n lessonRoutine: \"Как проходит оценка учителей\",\n independentAssessment: \"Независимая оценка на работе\",\n // Testimonials\n communityIndependent: \"Подробнее о системе отзывов и оценок\",\n howToChoose: \"Выбор преподавателя\",\n findYourIdealTeacher:\n \"Ученик выбирает преподавателя на основе четких критериев оценки профессионализма (пунктуальность, знание предмета, подача материала урока, требовательность, мягкость, результативность и т.д).\",\n findYourIdealTeacher2:\n \"Можно также выбрать преподавателя по специальности (английский для бизнеса, IT и т.д.) или по цене. Также можно написать преподавателю напрямую.\",\n\n ourQualityControl: \"Честный подход\",\n theLessonsAreConducted:\n \"Уроки проводятся внутри нашей платформы, чтобы мы могли получить реальные отзывы от настоящих студентов.\",\n inAddition:\n \"В дополнение, платформа очень удобна. Все необходимое для учеников и преподавателей уже есть на платформе: учебники, планы обучения, интерактивные упражнения, аудирование, онлайн-созвон, доска для совместной работы и многое другое.\",\n testimonialsAfterLesson: \"Отзыв после урока\",\n byTheEndOf:\n \"В конце занятия появляется форма для заполнения отзыва. Ученик по желанию может поставить оценку учителю и написать отзыв. Чем больше уроков было у ученика, тем, больше влияет его оценка и отзыв на рейтинг преподавателя.\",\n\n // ProfileSection\n exampleProfile: \"Пример профиля преподавателя\",\n aboutMe: \"Обо мне\",\n myStudentsReach:\n \"Мои ученики добиваются своих целей. Я заработал репутацию хорошего предметника, результативного и требовательного репетитора и об этом говорят оценки моего профессионализма и отзывы учеников.\",\n education: \"Образование\",\n americanUniversity: \"American University in Central Asia\",\n certificates: \"Сертификаты\",\n testimonials: \"Отзывы\",\n readMore: \"Смотреть\",\n provenCapability: \"подача материала\",\n strictness: \"требовательность\",\n punctuality: \"пунктуальность\",\n skillsDeveloped: \"результативность\",\n overallLessons: \"количество уроков\",\n lessonPrice: \"цена за урок\",\n yourPhone: \"Ваш телефон\",\n yourContact: \" Ваши контакты переданы учителю. \",\n yourContact2: \"Не хотите ждать? Позвоните сами.\",\n\n bySending:\n \"Отправляя ваши данные, вы соглашаетесь с положением Политики конфиденциальности\",\n exchangeContacts: \"Обменяться контактами\",\n call: \"Позвонить\",\n completedLesson: \"пройдено 10 уроков\",\n studentRating: ` Айгуль была моим репетитором в течение полутора лет. У нас проводились как очные, так и онлайн занятия, и оба варианта меня полностью удовлетворили. Атмосфера во время занятой была дружелюбной, чувствовался индивидуальный подход. `,\n\n // chooseTeacher\n howToFind: \"Как выбрать учителя на нашем сайте?\",\n clearAssessment:\n \"Чёткие критерии оценки профессионализма учителей на базе реальных отзывов реальных людей.\",\n whatIsPunctuality: \"Как найти самых пунктуальных преподавателей?\",\n howToFindACompetentTeacher: \"Как найти компетентного преподавателя\",\n howToFindAResultOrientedTeacher:\n \"Как найти преподавателя, который дает результат\",\n howToFindThePerfectTeacher: \"Как найти идеального преподавателя\",\n demanding: \"Требовательный учитель. Преимущества? \",\n howLesson: \"Как проходит урок?\",\n aboutUs: \"О проекте\",\n\n // teachers In Platform\n ourTeachers: \"Преподаватели на платформе\",\n aigul: \"Айгуль\",\n experience:\n \"Дипломированный специалист по английской филологии. Опыт преподавания - 5 лет.\",\n readMoreBtn: \"Подробнее\",\n chooseATeacher: \"Выбрать преподавателя\",\n becomeATeacher: \"Стать преподавателем\",\n\n // level\n whatIsYourLevel: \"Узнайте свой уровень английского\",\n doTheTest:\n \"Заполните тест. Мы отправим вам видеоразбор ваших ошибок, индивидуальный план обучения и подберем идеального преподавателя.\",\n tryItNow: \"Пройти тест\",\n // help learners\n weHelpLearners: `Мы помогаем преподавателям и ученикам найти друг друга и сделать обучение максимально эффективным`,\n\n // Guaranteed\n guaranteedBenefits: \"Гарантированная выгода ученикам и преподавателям\",\n toTheStudents: \"Ученикам\",\n realRating:\n \"Реальные отзывы реальных людей вместо очередной рекламы и пустых обещаний\",\n riskFree:\n \"Правильно выбрать учителя ориентируясь на четкие критерии оценки профессионализма\",\n studyMotivated: \"Заниматься с мотивированным учителем\",\n workWithout:\n \"Оплачивать учителю согласно компетенциям, без обычных затрат на зарплату администрации курсов\",\n noWaitList:\n \"Звонить учителю напрямую, быстро и эффективно решать организационные моменты без ожидания ответа администрации\",\n easyLearn:\n \"Выучить английский легко по методике, с помощью которой набирают максимальные баллы по международным экзаменам (TOЕFL, IELTS, SAT)\",\n\n // teacher\n toTheTeacher: \"Преподавателям\",\n anOpportunity:\n \"Возможность создать бренд преподавателя-профессионала, подкрепленный независимой оценкой и отзывами учеников\",\n avoidEmotional:\n \"Избежать выгорания. Вы будете получать регулярные отзывы от своих учеников, включая слова благодарности и предложения по дальнейшему развитию\",\n theOpportunityToTeach:\n \"Возможность преподавать, самостоятельно определяя цену, забирая весь чек себе\",\n increaseCost:\n \"Увеличить стоимость часа занятий, на деле доказав свои компетенции\",\n increaseYourIncome:\n \"Увеличить доход, перейдя с индивидуальных на групповые занятия\",\n workWithoutInter:\n \"Работать без посредников, организовать работу так, как удобно ученику и Вам\",\n\n // convenient-platform\n convenientTitle:\n \"Одна удобная платформа вместо десяти непонятных приложений\",\n allYouNeed: \"Всё нужное в одном месте\",\n doUVideoCall:\n \"Общаетесь в Зуме, читаете книги в другом окне, отправляете файлы через Вотсап? В нашей платформе всё это есть в одном окне.\",\n trackProgress: \"Отслеживайте прогресс\",\n inStudents:\n \"В личном кабинете можно проверять домашние задания и проводить работу над ошибками.\",\n stableVideoCall: \"Стабильная связь\",\n hdQuality:\n \"Качественная связь с минимальной задержкой во времени даже при плохом интернете и защитой от выбивания\",\n affordablePrice: \"Доступные цены\",\n weTake:\n \"Мы не берем комиссию за каждый проведенный урок. Поэтому учителя могут назначать удобную для них цену.\",\n\n // view possibilities\n seeWhatInside: \"Посмотрите на все возможности платформы\",\n tryItYourself: \"Войти на платформу\",\n audio: \" Аудирование\",\n test: \"Тесты\",\n dictionary: \"Словарь\",\n board: \" Доска для работы\",\n\n // Plans\n planPrices: \"Тарифы\",\n forThePlatform: \"₽ за пользование платформой\",\n tryIt: \"Попробовать\",\n useItForFree: \"Пользуйтесь бесплатно\",\n monthly: \"₽ в месяц\",\n currency: \"1000\",\n firstMonth: \"Первый месяц бесплатно\",\n\n // creator\n aboutFounder: \"О создателе\",\n goToProfile: \"Перейти в профиль\",\n ceoName: \"Руслан Леонтьев\",\n ceoExperience: \"Преподаватель английского языка со стажем 7 лет.\",\n ceoUniversity: \"Выпускник American University in Central Asia\",\n\n ceo1Text: `Привет! Меня зовут Руслан Леонтьев. Я родом из маленького городка, и в этом мне в чем-то повезло. В отличии от больших городов, где правят неоновые огни рекламных плакатов, в моём городке всего этого нет. У нас даже нет курсов английского, да и с интернетом не очень. Поэтому не о какой рекламе образовательных услуг мы не слышали. Хочешь заниматься английским? Иди к Галине Джораевне – так говорят у нас. Здесь люди живут тесной общиной, обмениваются новостями, рекомендуют друг другу специалистов, а сарафанное радио и собственная репутация – единственные маркетинговые технологии.`,\n ceo2Text: `В 2007 году, вернувшись с армии в родной городок, я решил заняться образованием. По рекомендации соседей я оказался у Галины Джораевны, где неожиданно для себя открыл целый мир, в котором молодые люди, занимавшиеся у моего учителя, начинали свободно говорить на английском. Однако на этом мы не останавливались...`,\n ceo3Text: `Все мечтали о сверх результате – набрать максимальные балы по международным экзаменам (TOЕFL, IELTS, SAT), чтобы поступить в престижный зарубежный университет на стипендию, и практически всем это удалось. Алишер поступил в University of Washington, Спартак в American University in Bulgaria. Через четыре года, среди выпускников American University in Central Asia, кроме меня, было ещё пять учеников Галины Джораевны.`,\n ceo4Text: `В 2007 году, когда я первый раз постучался в дверь своего учителя, «образование за рубежом» ещё не было популярным рекламным лозунгом, и мои друзья из столицы крутили указательным пальцем у виска, говоря, «Да кто тебя вообще там ждёт?», мы, ученики Галины Джораевны получали большие стипендии и приглашения из разных университетов мира.`,\n ceo5Text: `Люди в больших городах живут по иным законам. Все спешат и всё реже находят время общаться, обменяться ценной информацией, порекомендовать друг другу специалистов. Поэтому сарафанное радио в городе не работает, а реклама заполняет пробел в общение. Оглядываясь назад я понимаю, что я человек, которому ужасно повезло родится в маленьком городке, иначе, Галина Джораевна и я не нашли друг друга. Ведь у моего учителя нет времени выкладывать рилсы в Инстаграм, а каждую свободную минуту она посвящает любимому делу – преподаванию. Она не любит заниматься саморекламой, бросать пыль в глаза. И вот такие вот преподаватели от Бога, (их кстати очень много) к сожалению, не могут ужиться в городе. Их просто не будет видно и слышно среди толпы кричащих о себе и своих услугах курсов английского языка.`,\n ceo6Text: `Я призываю людей к простоте выбора. Не верьте рекламе. Доверяйте отзывам и сарафанному радио. Community – это сообщество отзывов. Мы предлагаем независимую оценку Ваших учителей английского языка на основе их рейтингов и честных отзывов.`,\n\n hidden: \"Скрыть\",\n seeMore: \"Показать ещё\",\n\n // form component\n startTeaching: \"Начните изучать или преподавать английский уже сегодня\",\n byRegister: `Регистрируясь на сайте Lingua.community, вы становитесь частью новой культуры. Мы — сообщество успешных и самодостаточных людей, которые говорят спасибо по-настоящему профессиональным учителям и рекомендуют их другим людям. Если вам нужна помощь или консультация, мы будем рады помочь вам.`,\n connectAndJoin: \"Подключиться\",\n talkToUs: \"Задать вопрос в Telegram\",\n\n // footer\n companyName: \"OcOO Леонтьев и Партнёры\",\n terms: \"Условия использования\",\n personalInfo: \"Политика конфиденциальности\",\n europe: \"Финансируется фондом Accelerate Prosperity\",\n socialNetworks: \"Мы в соцсетях\",\n techSupport: \"Техническая поддержка\",\n\n // rating\n firstRatingName: \"Акылай Калбердиева\",\n firstRatingDescription:\n \"За три месяца занятий с Вами я повысила свой уровень от pre-intermediate до advanced.\",\n firstRatingLessons: \"Пройдено 42 урока. \",\n\n secondRatingName: \"Дунганова Джамиля\",\n secondRatingDescription: `Мне очень понравилась методика обучения Руслана, она включала аудирование, свободное письмо, разбор грамматических тем, различные упражнения на закрепление материала. После 1 года занятий, я перешла на более высокий уровень владения английским языком, я стала лучше понимать английскую речь, составлять небольшие тексты, улучшила разговорный язык и перестала переживать по поводу правильности своего произношения.`,\n secondRatingLessons: \"Пройдено 158 уроков \",\n\n thirdRatingName: \"Салижан Жумалиев\",\n thirdRatingDescription: `Мне 17 лет. Недавно я сдал IELTS на 7.5. За это я благодарен Леонтьеву Руслану. Всем рекомендую своего учителя. `,\n thirdRatingLessons: \"Пройдено 216 уроков\",\n\n fourRatingName: \"Адель Асаналиева\",\n fourRatingDescription: `Я поступила в университет. Англия Раскин в Кэбридже. По направлению биомедицина. Хотела выразить благодарность своему учителю Леонтьеву Руслану, который помогал подготовиться к международным экзаменам и получить высокие баллы, поступить в престижный университет, а также за помощь в академическом и личностном росте. `,\n fourRatingLessons: \"Пройдено 314 уроков\",\n },\n termsOfService: {\n content:\n '
Условия использования
Дата вступления в силу: 15 июля 2024 года

Добро пожаловать в lingua.community (далее \"Приложение\"), оператором которого является ОсОО \"Леонтьев и Партнеры\" (\"Компания\", \"мы\", \"нас\" или \"наш\"), компания, зарегистрированная в Бишкеке, Кыргызстан. \"мы\" или \"наш\"), компанией, зарегистрированной в Бишкеке, Кыргызстан. Заходя на доступ к Приложению или его использование, вы соглашаетесь соблюдать и быть связанными следующие положения и условия (\"Условия\"). Пожалуйста, внимательно ознакомьтесь с настоящими Условиями перед использованием Приложения. Если вы не согласны с настоящими Условиями, вы не должны использовать Приложение. Переведено с помощью DeepL.com (бесплатная версия)

  1. Учетные записи пользователей
    1. Регистрация

      Пользователи могут создавать учетные записи в Приложении в качестве учителя или ученика (каждая из них - \"Учетная запись\"). Создавая учетную запись, вы заявляете и гарантируете, что предоставленная вами информация является точной, актуальной и полной. Вы несете ответственность за сохранение конфиденциальности и безопасности учетных данных вашей Учетной записи.

    2. Типы аккаунтов
      • Учителя: Пользователи, зарегистрированные как преподаватели, могут планировать видеовстречи, загружать образовательный контент, создавать викторины и тесты с мгновенной обратной связью и делиться ими с учениками.
      • Студенты: Пользователи, зарегистрированные как студенты, могут участвовать в онлайн-встречах, запланированных преподавателями, и получать доступ к образовательному контенту, созданному преподавателями.
    3. Возрастные ограничения и юридическая ответственность
      • Услуги доступны и могут использоваться только лицами, достигшими 18 лет и способными заключать юридически обязывающие договоры в соответствии с действующим законодательством.
      • Лица в возрасте до 18 лет, но не моложе 13 лет, могут пользоваться нашими Услугами только вместе с родителем или законным опекуном и под его присмотром. Родитель или законный опекун всегда несет ответственность за все действия, связанные с использованием Услуг вышеупомянутыми лицами.
  2. Услуги онлайн-образования
    1. Особенности
      • Приложение предоставляет инструменты для индивидуальных и групповых занятий в режиме реального времени, такие как видеовстречи, интерактивная онлайн-доска, викторины и тесты с мгновенной обратной связью.
    2. Оценка преподавателя
      • Приложение предлагает инструменты для оценки профессиональных качеств преподавателей по трем критериям: пунктуальность, доказанные способности и развитие навыков.
      • Публичная оценка: Преподаватель соглашается публично выставлять оценки, полученные им через оценки студентов, и отзывы, которые студенты оставляют о его преподавательской деятельности, независимо от того, являются ли эти оценки и отзывы положительными или отрицательными. Компания не исправляет отзывы и оценки, за исключением случаев, когда Ученик намеренно оскорбляет, обзывается.
    3. Услуги платформы
      • Компания не предоставляет образовательных услуг самостоятельно. Наоборот, **lingua.community** предоставляет инструменты для взаимодействия преподавателей и студентов.
  3. Финансовая и методологическая независимость
    1. Политика оплаты
      • Компания не является посредником в финансовых, методических и дисциплинарных вопросах между Преподавателями и Учениками. Стоимость и порядок оплаты онлайн-урока, а также порядок отмены урока определяются исключительно Преподавателем и Учеником.
    2. Разногласия
      • В случае возникновения разногласий между студентом и преподавателем по поводу недоплаты, несвоевременной оплаты, политики отмены уроков или любых других финансовых вопросов, Компания не несет ответственности.
    3. Обязанности по уплате налогов и лицензированию
      • Преподаватели несут ответственность за уплату всех необходимых налогов и получение необходимых лицензий в соответствии с налоговым законодательством страны, в которой они работают. Например, преподаватели из Кыргызстана должны приобрести патент репетитора и оплатить сертификат социального фонда.
  4. Отзывы студентов
    1. Свидетельские права
      • Студенты имеют право писать отзывы об услугах своего преподавателя и оценивать его профессиональные качества. Компания не исправляет и не изменяет отзывы, за исключением случаев, когда ученики обзывают, унижают, позорят учителя или дискриминируют группу людей по этническому, национальному, религиозному, гендерному признаку. Любой пользователь может сообщить о таком нарушении через мессенджеры Telegram по адресу @linguacommunity или @leontevruslan или позвонив по прямому номеру +996 (554) 877-853
    2. Формат свидетельства
      • Компания укажет количество уроков, проведенных учеником до написания отзыва, и добавит эту информацию в текст отзыва.
        Например, если ученик по имени Руслан взял 10 онлайн-уроков у конкретного преподавателя по имени Гэрри Гудсон, и Руслан написал: \"Мистер Гэрри Гудсон - очень компетентный преподаватель. Он отвечает на все мои вопросы и приводит дополнительные примеры, исключения из правил, которые не упоминаются в учебнике\", то отзыв появится на сайте в следующем виде: \"Руслан взял 10 уроков у Гарри Гудсона\". Руслан написал: \"Мистер Гарри Гудсон - очень компетентный преподаватель. Он отвечает на все мои вопросы и приводит дополнительные примеры, а также исключения из правил, которые не упоминаются в учебнике\".
  5. Поведение пользователя
    1. Загрузка содержимого
      • Пользователи несут ответственность за любой контент, который они загружают, передают или создают с помощью Приложения. Компания оставляет за собой право удалять любой контент, нарушающий настоящие Условия или действующее законодательство, особенно если контент нарушает авторские права, содержит любые виды дискриминации, включая, но не ограничиваясь этнической, гендерной или национальной.
    2. Запрещенная деятельность
      • Нарушение авторских прав: Учителям запрещено использовать материалы и контент, на которые распространяется запрет на авторское право. Если учитель использует материалы и контент, нарушающие авторские права, его аккаунт будет закрыт, а контент, нарушающий авторские права, будет удален без возможности восстановления.
      • Пользователи могут загружать контент из приложения, но только для личного использования. Распространять загруженный из приложения контент третьим лицам запрещено.
      • Пользователи не должны использовать Приложение для каких-либо незаконных целей или заниматься любой деятельностью, которая нарушает или мешает работе Приложения.
    3. Взаимодействие с пользователем и личная безопасность

      Компания не поддерживает и не делает никаких заявлений или гарантий относительно точности, полноты и надежности любой информации, предоставленной учителем или учеником. lingua.community не может подтвердить, что каждый Пользователь является тем, за кого себя выдает. При общении с другими Пользователями следует проявлять осторожность и здравый смысл для защиты своей личной безопасности и имущества, как и при общении с незнакомыми людьми. Ни Компания, ни lingua.community не несут ответственности за поведение, как онлайн, так и офлайн, любого Пользователя Услуг.

    4. Предотвращение мошенничества и кражи личных данных

      Пользователи должны отвечать только на сообщения, отправленные через наши официальные каналы связи: Telegram @linguacommunity или @leontevruslan, и WhatsApp +996 (554) 877-853.
      Любые попытки связаться с нашими пользователями по другим каналам, утверждая, что они представляют компанию, считаются злонамеренной попыткой кражи личных данных.

      Пользователи никогда не должны сообщать номера своих кредитных карт, идентификационные номера паспортов или любую другую конфиденциальную информацию на сайтах, не имеющих в качестве корневого домена lingua.community. Компания не продает подписки с использованием других сайтов.

  6. Сборы и платежи
    1. Абонентская плата для учителей
      • За пользование приложением с учителей ежемесячно взимается плата в размере 1000 сомов (кыргызских сомов). Если в платежной операции используется валюта, отличная от кыргызских сомов (KGS), сумма платежа будет рассчитана по курсу национального банка Кыргызстана на момент совершения операции.
  7. Интеллектуальная собственность
    1. Владение
      • Приложение и все его содержимое, функции и функциональные возможности принадлежат Компании или ее лицензиарам и защищены международными законами об авторском праве, товарных знаках, патентах, коммерческой тайне и другими законами об интеллектуальной собственности или правах собственности.
    2. Лицензия
      • Пользователям предоставляется ограниченная, неисключительная, не подлежащая передаче и отзывная лицензия на использование Приложения в личных или образовательных целях в соответствии с настоящими Условиями.
  8. Отказ от гарантий

    Приложение предоставляется на условиях «как есть» и «как доступно». Компания не дает никаких гарантий, явных или подразумеваемых, в отношении работы Приложения или информации, контента или материалов, включенных в него.

  9. Ограничение ответственности

    Ни при каких обстоятельствах Компания не несет ответственности за любые косвенные, случайные, особые, косвенные или штрафные убытки, возникшие в результате или связанные с использованием вами Приложения.

  10. Изменения в Условиях

    Компания оставляет за собой право изменять настоящие Условия в любое время. Любые изменения вступят в силу немедленно после публикации пересмотренных Условий в Приложении. Ваше дальнейшее использование Приложения после публикации пересмотренных Условий означает ваше согласие с изменениями.

  11. Применимое право

    Настоящие Условия регулируются и толкуются в соответствии с законодательством Кыргызской Республики без учета принципов коллизионного права.

  12. Контактная информация

    По любым вопросам или сомнениям относительно настоящих Условий свяжитесь с нами по адресу:

    ООО «Леонтьев и партнеры»
    [Юг-2, д.14]
    Бишкек, Кыргызстан
    Telegram: @linguacommunity
    Tel: +996 (554) 877-853

  13. Политика использования файлов cookie для зарегистрированных и незарегистрированных пользователей

    В настоящей Политике использования файлов cookie объясняется, как сайт lingua.community («мы», «нас» или «наш»), которым управляет ООО «Леонтьев и партнеры», использует файлы cookie и аналогичные технологии, чтобы узнавать вас, когда вы посещаете наш веб-сайт по адресу https://lingua.community. В нем объясняется, что это за технологии, почему мы их используем, а также ваши права контролировать их использование.

    1. Что такое файлы cookie?

      Файлы cookie — это небольшие файлы данных, которые сохраняются на вашем компьютере или мобильном устройстве при посещении веб-сайта. Файлы cookie широко используются владельцами веб-сайтов для обеспечения работы или повышения эффективности их веб-сайтов, а также для предоставления отчетной информации.

    2. Почему мы используем файлы cookie?

      Мы используем файлы cookie по нескольким причинам. Некоторые файлы cookie необходимы по техническим причинам для работы нашего веб-сайта, и мы называем их «необходимыми» или «строго необходимыми» файлами cookie. Другие файлы cookie позволяют нам отслеживать и ориентироваться на интересы наших пользователей, чтобы улучшить качество обслуживания на нашем веб-сайте. Например, мы используем файлы cookie, чтобы узнавать вас, когда вы возвращаетесь на наш веб-сайт, чтобы предоставлять соответствующий контент и обнаруживать потенциальные угрозы безопасности.

    3. Типы файлов cookie, которые мы используем:
      1. Основные файлы cookie. Эти файлы cookie строго необходимы для предоставления вам услуг, доступных через наш веб-сайт, и для использования некоторых его функций, таких как доступ к защищенным областям.
      2. Файлы cookie производительности и функциональности. Эти файлы cookie используются для повышения производительности и функциональности нашего веб-сайта, но не являются обязательными для его использования. Однако без этих файлов cookie некоторые функции (например, видео) могут стать недоступными.
      3. Файлы cookie аналитики и настройки. Эти файлы cookie собирают информацию, которая используется либо в совокупной форме, чтобы помочь нам понять, как используется наш веб-сайт или насколько эффективны наши маркетинговые кампании, либо чтобы помочь нам настроить наш веб-сайт для вас.
      4. Файлы cookie безопасности. Эти файлы cookie помогают выявлять и предотвращать угрозы безопасности. Мы используем эти файлы cookie для аутентификации пользователей и защиты пользовательских данных от посторонних лиц.
    4. Ваш выбор в отношении файлов cookie

      Вы имеете право решать, принимать или отклонять файлы cookie. Вы можете воспользоваться своими предпочтениями в отношении файлов cookie, настроив или изменив элементы управления веб-браузером, чтобы принимать или отклонять файлы cookie. Если вы решите отказаться от файлов cookie, вы все равно сможете использовать наш веб-сайт, хотя ваш доступ к некоторым функциям и областям нашего веб-сайта может быть ограничен.

    5. Как удалить файлы cookie

      Если вы хотите удалить файлы cookie или указать своему веб-браузеру удалить или отказаться от файлов cookie, посетите страницы помощи вашего веб-браузера:

      1. Для Chrome: [Google Chrome] ( https://support.google.com/chrome/answer/95647 )
      2. Для Internet Explorer: [Microsoft Internet Explorer] ( https://support.microsoft.com/kb/278835 )
      3. Для Firefox: [Mozilla Firefox] ( https://support.mozilla.org/en-US/kb/delete-cookies-remove-info-websites-stored )
      4. Для Safari: [Apple Safari] ( https://support.apple.com/guide/safari/sfri11471/mac )

      Обратите внимание: если вы удалите файлы cookie или откажетесь принять их, вы не сможете использовать все предлагаемые нами функции, вы не сможете сохранить свои предпочтения, а некоторые наши страницы могут отображаться некорректно.

    6. Изменения в настоящей Политике использования файлов cookie

      Мы можем время от времени обновлять настоящую Политику в отношении файлов cookie, чтобы отражать, например, изменения в используемых нами файлах cookie или по другим эксплуатационным, юридическим или нормативным причинам. Пожалуйста, регулярно просматривайте настоящую Политику в отношении файлов cookie, чтобы быть в курсе использования нами файлов cookie и связанных с ними технологий.

ООО «Леонтьев и партнеры»
[Юг-2, д.14]
Бишкек, Кыргызстан
Telegram: @leontevruslan, @linguacommunity
Тел.: +996 (554) 877-853

Используя наш веб-сайт, вы подтверждаете, что прочитали, поняли и соглашаетесь соблюдать настоящую Политику использования файлов cookie.',\n },\n privacyPolicy: {\n content:\n '

Политика конфиденциальности
Дата вступления в силу: 15 июля 2024 года

Добро пожаловать в сообщество Lingua (\"мы\", \"наш\", \"нас\"). Настоящая политика конфиденциальности объясняет, как Leontev and Partners LLC, расположенная в Кыргызстане, г. Бишкек, Юг-2, д. 14 (\"Компания\"), собирает, использует, раскрывает и защищает ваши данные при посещении нашего веб-сайта lingua.community и использовании наших услуг. Используя наш веб-сайт, вы соглашаетесь с условиями настоящей политики конфиденциальности. Текущая Политика конфиденциальности приложения включена в Соглашение об использовании приложения.

  1. Собираемая информация
    • Персональные данные

      При регистрации учителем или учеником через вашу учетную запись Google мы собираем ваше полное имя, фотографию профиля и адрес электронной почты. Эти данные становятся доступными для публичного доступа на нашей платформе.

    • Данные, специфичные для учителей

      Учителя предоставляют образовательные услуги и оцениваются студентами по критериям, таким как пунктуальность, компетентность, развитие навыков и другим параметрам. Эти оценки являются общедоступными.

    • Отзывы

      Мы собираем и отображаем отзывы об образовательных услугах, предоставляемых на платформе. Учитель соглашается принять отзывы от студентов без изменения их содержания. Отзывы содержат полные имена учителя и студента, а также количество проведенных уроков до публикации отзыва. Количество проведенных уроков на веб-сайте автоматически отслеживается и хранится в вашем личном профиле. Количество проведенных уроков с конкретным студентом становится общедоступным только после получения отзыва от студента.

    • Данные использования

      Мы собираем информацию о ваших взаимодействиях с нашим веб-сайтом, таких как посещенные страницы, время и дата визитов, количество проведенных уроков, ваш IP-адрес и местоположение, а также другие диагностические данные.

    • Файлы cookie и аналогичные технологии

      Мы используем файлы cookie для определения вашего IP-адреса и местоположения, а также для улучшения общего пользовательского опыта. Эти технологии помогают нам понять, как вы взаимодействуете с нашими услугами и предоставить лучший опыт.

  2. Как мы используем ваши данные

    Мы используем собранную информацию для:

    • Предоставления и поддержки наших услуг
    • Отображения профилей учителей и их оценок для незарегистрированных пользователей
    • Отображения отзывов с именами и количеством уроков
    • Уведомления вас об изменениях в наших услугах
    • Предоставления поддержки клиентам
    • Анализа использования нашего веб-сайта для улучшения наших услуг
    • Выявления, предотвращения и устранения технических проблем
    • Соблюдения юридических обязательств и обеспечения соблюдения наших условий
  3. Передача ваших данных

    Мы не продаем и не передаем вашу личную информацию третьим лицам, за исключением случаев:

    • С вашего согласия
    • Отображения профилей учителей и их оценок для незарегистрированных пользователей
    • Для выполнения юридических обязательств
    • Для защиты и защиты наших прав и собственности
    • С поставщиками услуг для выполнения работ от нашего имени
    • В связи с любым объединением, продажей активов компании, финансированием или приобретением всего или части нашего бизнеса другой компанией
  4. Публично доступная информация
    • Профили учителей, включая полные имена, фотографии профилей, оценки и отзывы, доступны для общего доступа любому пользователю.
    • Отзывы включают полные имена как учителя, получающего отзыв, так и студента, написавшего отзыв, а также количество проведенных уроков.
  5. Безопасность вашей информации

    Мы используем административные, технические и физические меры безопасности для защиты вашей личной информации. Однако ни один метод передачи данных через интернет или электронное хранение не является 100% безопасным.

  6. Ваши права на защиту данных

    В зависимости от вашего местоположения у вас могут быть следующие права в отношении ваших персональных данных:

    • Право на доступ
    • Право на исправление
    • Право на удаление
    • Право на ограничение обработки
    • Право на портабельность данных
    • Право на возражение
  7. Политика файлов cookie и аналогичных технологий

    Мы используем файлы cookie и аналогичные технологии для:

    • Определения вашего IP-адреса и местоположения
    • Улучшения взаимодействия и опыта пользователей на нашем веб-сайте

    Вы можете управлять предпочтениями файлов cookie через настройки вашего браузера. Для получения дополнительной информации о том, как управлять файлами cookie и аналогичными технологиями, пожалуйста, ознакомьтесь с нашей [Политикой использования файлов cookie]

  8. Услуги третьих сторон

    Наши услуги могут содержать ссылки на веб-сайты или услуги третьих сторон, включая Google. Мы не контролируем эти сайты третьих сторон и не несем ответственности за их политику конфиденциальности. Мы рекомендуем вам ознакомиться с политикой конфиденциальности этих третьих сторон.

  9. Конфиденциальность детей

    Наши услуги не предназначены для лиц младше 13 лет. Мы не собираем намеренно личную информацию от детей младше 13 лет. Если мы узнаем, что мы собрали личную информацию от ребенка младше 13 лет, мы примем меры по удалению такой информации.

  10. Изменения в настоящей Политике конфиденциальности

    Мы можем время от времени обновлять нашу Политику конфиденциальности. Мы уведомим вас о любых изменениях, разместив новую Политику конфиденциальности на этой странице и обновив \"Дата вступления в силу\" вверху.

  11. Свяжитесь с нами

    Если у вас есть вопросы по поводу настоящей Политики конфиденциальности, пожалуйста, свяжитесь с нами по адресу skypestudy.org@gmail.com и/или WhatsApp +996 (554) 877-853

Leontev and Partners LLC
[Юг-2, д. 14]
Бишкек, Кыргызстан
Telegram: @leontevruslan, @linguacommunity
Tel: +996 (554) 877-853

Используя наш веб-сайт, вы подтверждаете, что ознакомились, поняли и согласны с настоящей Политикой конфиденциальности.

',\n },\n },\n messages: {\n lessonDeleted: \"Урок успешно удален\",\n audioDeleted: \"Аудио успешно удалено\",\n attachmentDeleted: \"Вложение успешно удалено\",\n exerciseDeleted: \"Упражнение успешно удалено\",\n exerciseSaved: \"Упражнение успешно сохранено\",\n lessonCreated: \"Урок успешно создан\",\n quizDeleted: \"Тест успешно удален\",\n quizUnlinked: \"Тест успешно отвязан\",\n quizCreated: \"Тест успешно создан\",\n },\n buttons: {\n cancel: \"Отмена\",\n ignore: \"Игнорировать\",\n ok: \"OK\",\n delete: \"Удалить\",\n unlink: \"Отвязать\",\n create: \"Создать\",\n save: \"Сохранить\",\n update: \"Обновить\",\n check: \"Проверить\",\n link: \"Ссылка\",\n submit: \"Отправить\",\n confirm: \"Подтвердить\",\n quit: \"Выйти\",\n back: \"Назад\",\n previous: \"Предыдущий\",\n next: \"Далее\",\n preview: \"Предпросмотр\",\n edit: \"Редактировать\",\n view: \"Просмотр\",\n join: \"Присоединиться\",\n close: \"Закрыть\",\n },\n editor: {\n enterUrl: \"Введите URL\",\n enterImageUrl: \"Введите URL изображения\",\n enterVideoUrl: \"Введите URL видео\",\n unlink: \"Отвязать\",\n link: \"Ссылка\",\n add: \"Добавить\",\n title: \"Заголовок\",\n submit: \"Отправить\",\n cancel: \"Отмена\",\n },\n common: {\n all: \"Все\",\n confirmDialog: \"Вы уверены, что хотите выполнить эту операцию?\",\n },\n date: {\n months: {\n short: [\n \"Янв\",\n \"Фев\",\n \"Мар\",\n \"Апр\",\n \"Май\",\n \"Июн\",\n \"Июл\",\n \"Авг\",\n \"Сен\",\n \"Окт\",\n \"Ноя\",\n \"Дек\",\n ],\n full: [\n \"Январь\",\n \"Февраль\",\n \"Март\",\n \"Апрель\",\n \"Май\",\n \"Июнь\",\n \"Июль\",\n \"Август\",\n \"Сентябрь\",\n \"Октябрь\",\n \"Ноябрь\",\n \"Декабрь\",\n ],\n },\n },\n fileBrowser: {\n delete: {\n title: \"Удалить\",\n description:\n \"Вы уверены, что хотите удалить этот {type}?
{baseName}\",\n suffix: {\n folder: \"папка\",\n file: \"Файл\",\n },\n },\n cancel: \"Отмена\",\n select: \"Выбрать\",\n yes: \"Да\",\n selectFolderOrFile: \"Выберите папку или файл\",\n file: \"Файл\",\n size: \"Размер\",\n noFilesOrFoldersFound: \"Файлы или папки не найдены\",\n folderIsEmpty: \"Папка пуста\",\n upTo: \"До: {value}\",\n createFolder: \"Создать папку\",\n uploadFiles: \"Загрузить файлы\",\n collapseAll: \"Свернуть все\",\n uploadTo: \"Загрузить в:\",\n maxFilesCount: \"Максимальное количество файлов: {value}\",\n maxFileSize: \"Максимальный размер файла: {value}\",\n addFiles: \"Добавить файлы\",\n clear: \"Очистить\",\n upload: \"Загрузить\",\n },\n camera: {\n errors: {\n CAMERA_IS_OFF: {\n title: \"Камера выключена\",\n },\n CAMERA_PERMISSION_ERROR: {\n title: \"Не предоставлены разрешения на камеру\",\n description:\n \"Чтобы исправить эту проблему, пожалуйста, предоставьте доступ в вашем браузере и перезагрузите страницу\",\n },\n CAMERA_UNAVAILABLE_ERROR: {\n title: \"Камера недоступна\",\n description:\n \"Во время запроса доступа к камере браузер не смог предоставить доступ к камере\",\n },\n MIC_PERMISSION_ERROR: {\n title: \"Не предоставлены разрешения на микрофон\",\n description:\n \"Чтобы исправить эту проблему, пожалуйста, предоставьте доступ в вашем браузере и перезагрузите страницу\",\n },\n MIC_UNAVAILABLE_ERROR: {\n title: \"Микрофон недоступен\",\n description:\n \"Во время запроса доступа к микрофону браузер не смог предоставить доступ к микрофону\",\n },\n },\n },\n time: {\n startsIn: \"Начинается через {time}\",\n endsIn: \"Заканчивается через {time}\",\n ended: \"Закончился в {time}\",\n cancelled: \"Отменен в {time}\",\n },\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',{attrs:{\"id\":\"application\"}},[_c('v-main',[_c('router-view')],1),_c('v-snackbar',{scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"color\":\"pink\",\"text\":\"\"},on:{\"click\":_vm.reloadPage}},'v-btn',attrs,false),[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.reload\"))+\" \")])]}}]),model:{value:(_vm.newVersionAvailableVisible),callback:function ($$v) {_vm.newVersionAvailableVisible=$$v},expression:\"newVersionAvailableVisible\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"serviceWorker.NEW_VERSION_AVAILABLE\"))+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=67dcfe1e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Vuetify from \"vuetify/lib/framework\";\nimport en from \"vuetify/lib/locale/en\";\n// import \"material-design-icons-iconfont/dist/material-design-icons.css\";\nimport \"@mdi/font/css/materialdesignicons.css\";\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n theme: {\n themes: {\n light: {\n primary: \"#005ca2\", // Sunshine Orange\n secondary: \"#0086ed\", // Sunshine Orange\n accent: \"#E91E63\", // Magenta\n error: \"#C62828\", // Brick Red\n success: \"#8BC34A\", // Lime Green\n warning: \"#FFC107\", // Amber\n info: \"#29B6F6\", // Light Blue\n },\n dark: {\n primary: \"#005ca2\", // Sky Blue\n secondary: \"#FFB74D\", // Sunshine Orange\n accent: \"#E91E63\", // Magenta\n error: \"#C62828\", // Brick Red\n success: \"#8BC34A\", // Lime Green\n warning: \"#FFC107\", // Amber\n info: \"#29B6F6\", // Light Blue\n },\n },\n },\n icons: {\n iconfont: \"mdiSvg\", // 'mdi' || 'mdiSvg' || 'md' || 'fa' || 'fa4' || 'faSvg'\n },\n lang: {\n locales: { en },\n current: \"en\",\n },\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.pageNotFound.title\"))+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PageNotFound.vue?vue&type=template&id=029f659e&scoped=true\"\nimport script from \"./PageNotFound.vue?vue&type=script&lang=js\"\nexport * from \"./PageNotFound.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"029f659e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('main-layout',[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-main',[_c('TopBarComponent',{attrs:{\"body-container-max-width\":1200,\"header-container-max-width\":1200}},[_vm._t(\"default\")],2),_c('install-pwa-app-component')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[_c('v-toolbar',{staticClass:\"toolbar\",attrs:{\"id\":\"top-toolbar\",\"elevation\":\"2\",\"height\":\"52\"}},[(_vm.searchBoxFocused && _vm.$vuetify.breakpoint.smAndDown)?_c('div',{staticClass:\"mobile-search-box-wrapper\"}):_vm._e(),_c('div',{staticClass:\"row-container\",style:(_vm.headerContainerMaxWidth\n\t\t\t\t\t\t? `max-width: ${_vm.headerContainerMaxWidth}px;`\n\t\t\t\t\t\t: '')},[_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":\"/\"}},[_c('logo-component',{staticClass:\"d-block\",attrs:{\"height\":40,\"width\":110,\"color\":\"#E98700\"}})],1),(_vm.currentUser && !_vm.$route.path.startsWith('/search'))?_c('v-toolbar-items',{staticClass:\"pl-4 fill-width\"},[_c('v-autocomplete',{ref:\"searchBox\",staticClass:\"search-box mr-auto\",style:(_vm.computedSearchBoxStyles),attrs:{\"height\":40,\"item-text\":_vm.itemText,\"items\":_vm.paginationContext.items,\"label\":_vm.$t('pages.common.searchAnyPerson'),\"loading\":_vm.getLoadingByKey(_vm.SEARCH_USERS_KEY),\"multiple\":false,\"placeholder\":_vm.$t('pages.common.typeAnyPersonsName'),\"search-input\":_vm.query,\"append-icon\":\"\",\"attach\":\".search-box\",\"dense\":\"\",\"hide-details\":\"\",\"item-value\":\"id\",\"outlined\":\"\",\"prepend-inner-icon\":\"mdi-magnify\",\"return-object\":\"\",\"rounded\":\"\"},on:{\"update:searchInput\":function($event){_vm.query=$event},\"update:search-input\":function($event){_vm.query=$event},\"blur\":() => {\n\t\t\t\t\t\t\t\t_vm.searchBoxFocused = false;\n\t\t\t\t\t\t\t\t_vm.$refs.searchBox.blur();\n\t\t\t\t\t\t\t},\"focus\":function($event){_vm.searchBoxFocused = true}},scopedSlots:_vm._u([{key:\"progress\",fn:function(){return [_c('v-progress-linear',{attrs:{\"absolute\":\"\",\"height\":\"3\",\"indeterminate\":\"\",\"rounded\":\"\"}})]},proxy:true},{key:\"no-data\",fn:function(){return [_c('div',{staticClass:\"px-2\"},[(!_vm.query || _vm.query.length < 3)?[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.searchForUsers\"))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.noMatchingUsers\"))+\" \")]],2)]},proxy:true},(_vm.query && _vm.query.length >= 3)?{key:\"append-item\",fn:function(){return [_c('div',{staticClass:\"px-2 text-center\"},[_c('router-link',{staticClass:\"d-block\",attrs:{\"to\":{ name: 'search', query: { query: _vm.query } }}},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.seeAllResults\"))+\" \")])],1)]},proxy:true}:null,{key:\"item\",fn:function(data){return [_c('StudentsSelectInputAvatar',{attrs:{\"first-name\":data.item.firstName,\"grouped\":false,\"last-name\":data.item.lastName,\"profile-image\":data.item.profilePhotoX64,\"size\":32}}),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(data.item.firstName)+\" \"+_vm._s(data.item.lastName)+\" \")])],1)]}}],null,true),model:{value:(_vm.selectedUser),callback:function ($$v) {_vm.selectedUser=$$v},expression:\"selectedUser\"}})],1):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp || !_vm.currentUser)?_c('v-spacer'):_vm._e(),_c('v-toolbar-items',{staticClass:\"ml-4 align-center\"},[(_vm.currentUser)?[_c('v-badge',{attrs:{\"content\":_vm.notificationsCount,\"value\":_vm.notificationsCount > 0,\"bordered\":\"\",\"color\":\"#e98700\",\"overlap\":\"\"}},[_c('v-btn',{attrs:{\"color\":\"#e98700\",\"fab\":\"\",\"outlined\":\"\",\"to\":\"/profile/notifications\",\"x-small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-bell-outline\")])],1)],1),(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-badge',{attrs:{\"content\":_vm.messagesCount,\"value\":_vm.messagesCount > 0,\"bordered\":\"\",\"color\":\"secondary\",\"overlap\":\"\"}},[_c('v-btn',{staticClass:\"ml-3\",attrs:{\"color\":\"secondary\",\"fab\":\"\",\"outlined\":\"\",\"to\":\"/profile/messages\",\"x-small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-email-outline\")])],1)],1):_vm._e(),_c('router-link',{staticClass:\"d-flex black--text text-decoration-none align-center ml-2\",attrs:{\"to\":{ name: 'preferences' }}},[_c('AvatarComponent',{staticClass:\"ml-2\",attrs:{\"first-name\":_vm.currentUser.firstName,\"last-name\":_vm.currentUser.lastName,\"profile-image\":_vm.currentUser.profilePhotoX64,\"size\":32}}),(_vm.$vuetify.breakpoint.smAndUp)?_c('div',{staticClass:\"ml-2 no-wrap-text\"},[_vm._v(\" \"+_vm._s(_vm.currentUser.firstName)+\" \")]):_vm._e()],1)]:[_c('v-row',{staticClass:\"fill-height\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"center\"}},[_c('v-btn',{attrs:{\"to\":{ name: 'signIn' },\"color\":\"indigo\",\"outlined\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.login\"))+\" \")])],1)],1)]],2)],1)]),_c('div',{staticClass:\"fill-width fill-height mx-auto\",style:({\n\t\t\t\t...(_vm.bodyContainerMaxWidth\n\t\t\t\t\t? { 'max-width': `${_vm.bodyContainerMaxWidth}px` }\n\t\t\t\t\t: {}),\n\t\t\t})},[_c('div',{staticClass:\"fill-width\",class:{\n\t\t\t\t\t'fill-height':\n\t\t\t\t\t\t_vm.$route.name === 'messages' ||\n\t\t\t\t\t\t_vm.$route.name === 'messageChat' ||\n\t\t\t\t\t\t_vm.$route.name === 'fileManager',\n\t\t\t\t},staticStyle:{\"min-height\":\"100%\",\"box-sizing\":\"border-box\",\"padding-top\":\"52px\"},style:({\n\t\t\t\t\t...(_vm.$vuetify.breakpoint.smAndDown\n\t\t\t\t\t\t? { 'padding-bottom': `62px` }\n\t\t\t\t\t\t: {}),\n\t\t\t\t})},[_vm._t(\"default\")],2)]),(_vm.$vuetify.breakpoint.smAndDown && _vm.currentUser)?_c('div',{staticClass:\"tabs-container\",attrs:{\"id\":\"bottom-toolbar\"}},[_c('div',{staticClass:\"tabs-wrapper\"},[_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'selfUserProfile' },\"active-class\":\"active\",\"exact\":\"\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-home\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.main\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'selfConnections' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-badge',{attrs:{\"content\":_vm.connectionsCount,\"value\":_vm.connectionsCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',[_vm._v(\"mdi-account-multiple\")])],1)],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.myNetwork\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'selfSchedule' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-calendar-clock\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.schedule\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'materials' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-book-education\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.materials\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'messages' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-badge',{attrs:{\"content\":_vm.messagesCount,\"value\":_vm.messagesCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',[_vm._v(\"mdi-email-outline\")])],1)],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.messages\"))+\" \")])])],1)]):_vm._e(),_c('urgent-notification-wrapper'),(_vm.searchBoxFocused)?_c('div',{staticClass:\"custom-overlay\"}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('urgent-notification',{ref:\"urgentNotification\"})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationWrapper.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UrgentNotificationWrapper.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UrgentNotificationWrapper.vue?vue&type=template&id=5c12a296\"\nimport script from \"./UrgentNotificationWrapper.vue?vue&type=script&lang=js\"\nexport * from \"./UrgentNotificationWrapper.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\tmdi-home\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ $t(\"pages.common.tabs.main\") }}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t 0\"\n\t\t\t\t\t\t\t\tbordered\n\t\t\t\t\t\t\t\toffset-x=\"10\"\n\t\t\t\t\t\t\t\toffset-y=\"10\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tmdi-account-multiple\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ $t(\"pages.common.tabs.myNetwork\") }}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\tmdi-calendar-clock\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ $t(\"pages.common.tabs.schedule\") }}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\tmdi-book-education\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ $t(\"pages.common.tabs.materials\") }}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t 0\"\n\t\t\t\t\t\t\t\tbordered\n\t\t\t\t\t\t\t\toffset-x=\"10\"\n\t\t\t\t\t\t\t\toffset-y=\"10\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tmdi-email-outline\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ $t(\"pages.common.tabs.messages\") }}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\n\n\t\t\n\t\t\n\t\n\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBarComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBarComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TopBarComponent.vue?vue&type=template&id=3de9cff5&scoped=true\"\nimport script from \"./TopBarComponent.vue?vue&type=script&lang=js\"\nexport * from \"./TopBarComponent.vue?vue&type=script&lang=js\"\nimport style0 from \"./TopBarComponent.vue?vue&type=style&index=0&id=3de9cff5&prod&lang=scss&scoped=true\"\nimport style1 from \"./TopBarComponent.vue?vue&type=style&index=1&id=3de9cff5&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3de9cff5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.recommendPWAInstallationDialog),callback:function ($$v) {_vm.recommendPWAInstallationDialog=$$v},expression:\"recommendPWAInstallationDialog\"}},[_c('v-card',{attrs:{\"rounded\":\"xl\"}},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"serviceWorker.INSTALL_RECOMMENDATION.title\"))+\" \")]),_c('v-card-text',[(_vm.installationStep === 1)?_c('p',{staticClass:\"body-1\",domProps:{\"innerHTML\":_vm._s(_vm.$t('serviceWorker.INSTALL_RECOMMENDATION.content'))}}):(_vm.installationStep === 2)?_c('p',{staticClass:\"body-1\",domProps:{\"innerHTML\":_vm._s(_vm.$t('serviceWorker.INSTALL_RECOMMENDATION.iosSteps'))}}):_vm._e()]),_c('v-card-actions',[_c('v-spacer'),(_vm.installationStep !== 2)?_c('v-btn',{staticClass:\"no-uppercase px-3\",attrs:{\"rounded\":\"\",\"text\":\"\"},on:{\"click\":_vm.disposeInstallPWADialog}},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.cancel\"))+\" \")]):_vm._e(),(_vm.isIOS)?[(_vm.installationStep === 1)?_c('v-btn',{staticClass:\"no-uppercase px-3\",attrs:{\"color\":\"primary\",\"rounded\":\"\"},on:{\"click\":() => (_vm.installationStep = 2)}},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.next\"))+\" \")]):(_vm.installationStep === 2)?_c('v-btn',{staticClass:\"no-uppercase px-3\",attrs:{\"color\":\"primary\",\"rounded\":\"\"},on:{\"click\":_vm.disposeInstallPWADialog}},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.done\"))+\" \")]):_vm._e()]:_c('v-btn',{staticClass:\"no-uppercase px-3\",attrs:{\"color\":\"primary\",\"depressed\":\"\",\"rounded\":\"\"},on:{\"click\":_vm.installApp}},[_vm._v(\" \"+_vm._s(_vm.$t(\"serviceWorker.INSTALL_RECOMMENDATION.install\"))+\" \")])],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstallPWAAppComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InstallPWAAppComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InstallPWAAppComponent.vue?vue&type=template&id=34f597e2\"\nimport script from \"./InstallPWAAppComponent.vue?vue&type=script&lang=js\"\nexport * from \"./InstallPWAAppComponent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainLayout.vue?vue&type=template&id=1177d504\"\nimport script from \"./MainLayout.vue?vue&type=script&lang=js\"\nexport * from \"./MainLayout.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainComponent.vue?vue&type=template&id=34cf9b0d\"\nimport script from \"./MainComponent.vue?vue&type=script&lang=js\"\nexport * from \"./MainComponent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.accessDenied.title\"))+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AccessDenied.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AccessDenied.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccessDenied.vue?vue&type=template&id=677a0982&scoped=true\"\nimport script from \"./AccessDenied.vue?vue&type=script&lang=js\"\nexport * from \"./AccessDenied.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"677a0982\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.logout.loggingOut\"))+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogoutView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogoutView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LogoutView.vue?vue&type=template&id=07e062ca\"\nimport script from \"./LogoutView.vue?vue&type=script&lang=js\"\nexport * from \"./LogoutView.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('main-layout-without-container-restrictions',[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-main',{staticClass:\"landing-view\",attrs:{\"id\":\"landing-view\"}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayoutWithoutContainerRestrictions.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayoutWithoutContainerRestrictions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainLayoutWithoutContainerRestrictions.vue?vue&type=template&id=03565ad4\"\nimport script from \"./MainLayoutWithoutContainerRestrictions.vue?vue&type=script&lang=js\"\nexport * from \"./MainLayoutWithoutContainerRestrictions.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainWithoutContainerRestrictionsComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainWithoutContainerRestrictionsComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainWithoutContainerRestrictionsComponent.vue?vue&type=template&id=e8748b0a\"\nimport script from \"./MainWithoutContainerRestrictionsComponent.vue?vue&type=script&lang=js\"\nexport * from \"./MainWithoutContainerRestrictionsComponent.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('main-layout-with-full-container',[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-main',[_c('TopBarComponent',{attrs:{\"header-container-max-width\":1200}},[_vm._t(\"default\")],2),_c('install-pwa-app-component')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayoutWithFullContainer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainLayoutWithFullContainer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainLayoutWithFullContainer.vue?vue&type=template&id=8b963dac\"\nimport script from \"./MainLayoutWithFullContainer.vue?vue&type=script&lang=js\"\nexport * from \"./MainLayoutWithFullContainer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainComponentWithFullContainer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainComponentWithFullContainer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainComponentWithFullContainer.vue?vue&type=template&id=2e9e1d8d\"\nimport script from \"./MainComponentWithFullContainer.vue?vue&type=script&lang=js\"\nexport * from \"./MainComponentWithFullContainer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm.meta.mainContainerClass,staticStyle:{\"background\":\"#f7f7f7\",\"min-height\":\"100%\"}},[_c('div',{staticClass:\"top-toolbar fill-width white\"},[_c('v-container',{staticClass:\"py-1 d-flex flex-row align-center\"},[_c('logo-component',{attrs:{\"height\":41,\"short\":_vm.$vuetify.breakpoint.smAndDown}}),_c('v-spacer'),(_vm.currentUser)?[(_vm.$vuetify.breakpoint.mdAndUp)?[_c('div',{staticClass:\"tabs-wrapper dense mr-4\"},[_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'feed' },\"active-class\":\"active\",\"exact\":\"\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-home\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.home\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'connections' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-badge',{attrs:{\"content\":_vm.connectionsCount,\"value\":_vm.connectionsCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',[_vm._v(\"mdi-account-multiple\")])],1)],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.myNetwork\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'lessons' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-school\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.lessons\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'materials' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-book-education\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.materials\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'messages' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-badge',{attrs:{\"content\":_vm.messagesCount,\"value\":_vm.messagesCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',[_vm._v(\"mdi-email\")])],1)],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.messages\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'notifications' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-badge',{attrs:{\"content\":_vm.notificationsCount,\"value\":_vm.notificationsCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',[_vm._v(\"mdi-bell\")])],1)],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.notifications\"))+\" \")])])],1),_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('UserAvatarComponent',{staticClass:\"cursor-pointer\",attrs:{\"size\":38,\"user\":_vm.currentUser,\"profile-image-key\":\"profilePhotoX64\"}})],1)]}}],null,false,2665964297)},[_c('v-card',{staticClass:\"pt-4\",staticStyle:{\"width\":\"280px\"},attrs:{\"rounded\":_vm.$vuetify.breakpoint.smAndDown ? '0' : 'lg'}},[_c('div',{staticClass:\"px-4\"},[_c('div',{staticClass:\"d-flex flex-row\"},[_c('div',{staticClass:\"flex-grow-0\"},[_c('UserAvatarComponent',{attrs:{\"size\":58,\"user\":_vm.currentUser,\"profile-image-key\":\"profilePhotoX64\"}})],1),_c('div',{staticClass:\"flex-grow-1 d-flex justify-center align-center\"},[_c('div',{staticClass:\"text-h6 text-center\",staticStyle:{\"line-height\":\"1.6rem\"}},[_vm._v(\" \"+_vm._s(_vm.currentUser.firstName)+\" \"+_vm._s(_vm.currentUser.lastName)+\" \")])])]),_c('div',{staticClass:\"text-center mt-3\"},[_c('v-btn',{staticClass:\"no-uppercase font-weight-medium fill-width\",attrs:{\"to\":{\n\t\t\t\t\t\t\t\t\t\t\t\tname: 'userProfile',\n\t\t\t\t\t\t\t\t\t\t\t\tparams: { userId: _vm.currentUser.id },\n\t\t\t\t\t\t\t\t\t\t\t},\"color\":\"secondary\",\"outlined\":\"\",\"rounded\":\"\",\"small\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\" mdi-eye \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.visitProfile\"))+\" \")],1)],1)]),_c('v-divider',{staticClass:\"mt-4\"}),_c('div',[_c('v-list',{attrs:{\"dense\":\"\",\"expand\":\"\"}},[_c('v-list-item',{attrs:{\"to\":{ name: 'preferences' }}},[_c('v-list-item-icon',{staticClass:\"mr-2\"},[_c('v-icon',[_vm._v(\"mdi-cog-outline\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.profileSettings\"))+\" \")])],1)],1),_c('v-divider',{staticClass:\"my-2\"}),_c('v-list-item',{attrs:{\"to\":{ name: 'logout' }}},[_c('v-list-item-icon',{staticClass:\"mr-2\"},[_c('v-icon',[_vm._v(\"mdi-logout-variant\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.logout\"))+\" \")])],1)],1)],1)],1)],1)],1)]:[_c('div',{staticClass:\"d-flex gap-4\"},[_c('v-btn',{attrs:{\"to\":{ name: 'notifications' },\"icon\":\"\"}},[_c('v-badge',{attrs:{\"content\":_vm.notificationsCount,\"value\":_vm.notificationsCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',{attrs:{\"size\":30}},[_vm._v(\" mdi-bell-outline \")])],1)],1),_c('v-btn',{attrs:{\"to\":{ name: 'messages' },\"icon\":\"\"}},[_c('v-badge',{attrs:{\"content\":_vm.messagesCount,\"value\":_vm.messagesCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',{attrs:{\"size\":30}},[_vm._v(\" mdi-email-outline \")])],1)],1),(\n\t\t\t\t\t\t\t\t\t_vm.$route.name === 'userProfile' &&\n\t\t\t\t\t\t\t\t\t\tparseInt(_vm.$route.params.userId) === _vm.currentUser.id\n\t\t\t\t\t\t\t\t)?_c('v-btn',{attrs:{\"to\":{ name: 'preferences' },\"icon\":\"\"}},[_c('v-icon',{attrs:{\"size\":30}},[_vm._v(\" mdi-cog-outline \")])],1):_vm._e()],1)]]:[_c('v-btn',{staticClass:\"no-uppercase font-weight-medium\",attrs:{\"to\":{ name: 'signUp' },\"color\":\"primary\",\"outlined\":\"\",\"rounded\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-account \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.signUp\"))+\" \")],1)]],2)],1),(_vm.$vuetify.breakpoint.smAndDown && _vm.currentUser)?_c('div',{staticClass:\"bottom-toolbar d-flex flex-row align-center elevation-1 fill-width white pb-3 pt-1\"},[_c('div',{staticClass:\"tabs-wrapper\"},[_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'feed' },\"active-class\":\"active\",\"exact\":\"\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-home\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.home\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'connections' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-badge',{attrs:{\"content\":_vm.connectionsCount,\"value\":_vm.connectionsCount > 0,\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-icon',[_vm._v(\"mdi-account-multiple\")])],1)],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.myNetwork\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'lessons' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-school\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.lessons\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'materials' },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('v-icon',[_vm._v(\"mdi-book-education\")])],1),_c('div',{staticClass:\"tab-item__text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.common.tabs.materials\"))+\" \")])]),_c('router-link',{staticClass:\"tab-item\",attrs:{\"to\":{ name: 'userProfile', params: { userId: _vm.currentUser.id } },\"active-class\":\"active\"}},[_c('div',{staticClass:\"tab-item__icon\"},[_c('UserAvatarComponent',{staticClass:\"cursor-pointer mt-1\",attrs:{\"size\":34,\"user\":_vm.currentUser,\"profile-image-key\":\"profilePhotoX64\"}})],1)])],1)]):_vm._e(),_c('router-view',{staticClass:\"toolbar-content-wrapper\"}),_c('urgent-notification-wrapper'),_c('install-pwa-app-component')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const routerMetaDataMixin = (properties) => ({\n data() {\n return {\n meta: {},\n };\n },\n beforeCreate() {\n // Register a navigation guard\n this.unregisterGuard = this.$router.beforeEach((to, from, next) => {\n this.handleRouteChange(to); // Run your logic for route transitions\n next();\n });\n },\n created() {\n // Handle direct access on initial load\n this.handleRouteChange(this.$route);\n },\n beforeDestroy() {\n // Unregister the navigation guard\n if (this.unregisterGuard) {\n this.unregisterGuard();\n }\n },\n methods: {\n handleRouteChange(route) {\n for (const property of properties) {\n this.meta[property] = this.getDataFromMeta(route, property);\n }\n },\n getDataFromMeta(route, property) {\n // Traverse the `matched` array from child to parent\n for (let i = route.matched.length - 1; i >= 0; i--) {\n const record = route.matched[i];\n if (record.meta && record.meta[property]) {\n return record.meta[property];\n }\n }\n // Default value if no staticData is found\n return null;\n },\n },\n});\n","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainAuthLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainAuthLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainAuthLayout.vue?vue&type=template&id=b2db3a00&scoped=true\"\nimport script from \"./MainAuthLayout.vue?vue&type=script&lang=js\"\nexport * from \"./MainAuthLayout.vue?vue&type=script&lang=js\"\nimport style0 from \"./MainAuthLayout.vue?vue&type=style&index=0&id=b2db3a00&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b2db3a00\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-row',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-col',{attrs:{\"lg\":\"4\",\"md\":\"4\",\"xl\":\"4\"}},[_c('v-card',{staticClass:\"mt-4\",attrs:{\"rounded\":_vm.$vuetify.breakpoint.smAndDown ? '0' : 'lg'}},[_c('v-card-title',{staticClass:\"pb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.myConnections.networkManagement\"))+\" \")]),_c('v-list',{attrs:{\"expand\":\"\"}},[_c('v-list-item',{attrs:{\"to\":{ name: 'connectionsList' }}},[_c('v-list-item-icon',{staticClass:\"mr-2\"},[_c('v-icon',[_vm._v(\"mdi-account-multiple-outline\")])],1),_c('v-list-item-content',[_c('v-badge',{attrs:{\"content\":_vm.counts.connections,\"offset-x\":34,\"offset-y\":18,\"value\":_vm.counts.connections > 0,\"bordered\":\"\",\"overlap\":\"\"}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.myConnections.myConnections\"))+\" \")])],1)],1)],1),_c('v-list-item',{attrs:{\"to\":{ name: 'connectionInvitations' }}},[_c('v-list-item-icon',{staticClass:\"mr-2\"},[_c('v-icon',[_vm._v(\"mdi-account-clock-outline\")])],1),_c('v-list-item-content',[_c('v-badge',{attrs:{\"content\":_vm.counts.pendingConnections,\"offset-x\":34,\"offset-y\":18,\"value\":_vm.counts.pendingConnections > 0,\"bordered\":\"\",\"overlap\":\"\"}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.myConnections.pendingInvitations\"))+\" \")])],1)],1)],1),_c('v-list-item',{attrs:{\"to\":{ name: 'connectionSharedContacts' }}},[_c('v-list-item-icon',{staticClass:\"mr-2\"},[_c('v-icon',[_vm._v(\"mdi-account-question-outline\")])],1),_c('v-list-item-content',[_c('v-badge',{attrs:{\"content\":_vm.counts.pendingSharedContacts,\"offset-x\":34,\"offset-y\":18,\"value\":_vm.counts.pendingSharedContacts > 0,\"bordered\":\"\",\"overlap\":\"\"}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.myConnections.pendingSharedContacts\"))+\" \")])],1)],1)],1)],1)],1)],1):_vm._e(),_c('v-col',{staticClass:\"px-sm-only-0 px-xs-0\",attrs:{\"lg\":\"8\",\"md\":\"8\",\"xl\":\"8\"}},[_c('router-view',{staticClass:\"mt-4\"})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConnectionsLayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConnectionsLayer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConnectionsLayer.vue?vue&type=template&id=f28830e8\"\nimport script from \"./ConnectionsLayer.vue?vue&type=script&lang=js\"\nexport * from \"./ConnectionsLayer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-row',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-col',{attrs:{\"lg\":\"4\",\"md\":\"4\",\"xl\":\"4\"}},[_c('div',{staticClass:\"py-4\"},[_c('current-user-short-block')],1)]):_vm._e(),_c('v-col',{staticClass:\"px-sm-only-0 px-xs-0\",attrs:{\"lg\":\"8\",\"md\":\"8\",\"xl\":\"8\"}},[_c('router-view',{staticClass:\"mt-4\"})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MaterialsLayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MaterialsLayer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MaterialsLayer.vue?vue&type=template&id=53787926\"\nimport script from \"./MaterialsLayer.vue?vue&type=script&lang=js\"\nexport * from \"./MaterialsLayer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._v(_vm._s(_vm.$t(\"pages.externalLink.description\")))])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExternalLinkView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ExternalLinkView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ExternalLinkView.vue?vue&type=template&id=98f63b60&scoped=true\"\nimport script from \"./ExternalLinkView.vue?vue&type=script&lang=js\"\nexport * from \"./ExternalLinkView.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"98f63b60\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-row',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-col',{attrs:{\"lg\":\"4\",\"md\":\"4\",\"xl\":\"4\"}},[_c('v-card',{staticClass:\"mt-4\",attrs:{\"rounded\":_vm.$vuetify.breakpoint.smAndDown ? '0' : 'lg'}},[_c('v-card-title',{staticClass:\"text-h5 font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.preferences.title\"))+\" \")]),_c('v-list',{staticClass:\"pt-0\"},_vm._l((_vm.items),function(item,i){return _c('v-list-item',{key:`item-${i}`,attrs:{\"to\":item.to}},[_c('v-list-item-icon',{staticClass:\"mr-4\"},[_c('v-icon',{domProps:{\"innerHTML\":_vm._s(item.icon)}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(`pages.preferences.${item.title}.title`))+\" \")])],1)],1)}),1)],1)],1):_vm._e(),_c('v-col',{staticClass:\"px-sm-only-0 px-xs-0\",attrs:{\"lg\":\"8\",\"md\":\"8\",\"xl\":\"8\"}},[_c('router-view',{staticClass:\"mt-4\"})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PreferencesLayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PreferencesLayer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PreferencesLayer.vue?vue&type=template&id=3186dcd3\"\nimport script from \"./PreferencesLayer.vue?vue&type=script&lang=js\"\nexport * from \"./PreferencesLayer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-row',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-col',{attrs:{\"lg\":\"4\",\"md\":\"4\",\"xl\":\"4\"}},[_c('v-card',{staticClass:\"mt-4\",attrs:{\"rounded\":_vm.$vuetify.breakpoint.smAndDown ? '0' : 'lg'}},[_c('v-card-title',{staticClass:\"pb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.lessons.lessonsManagement\"))+\" \")]),_c('v-list',{attrs:{\"expand\":\"\"}},[_c('v-list-item',{attrs:{\"to\":{ name: 'upcomingLessons' }}},[_c('v-list-item-icon',{staticClass:\"mr-2\"},[_c('v-icon',[_vm._v(\"mdi-message-video\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.lessons.upcomingLessons\"))+\" \")])],1)],1),_c('v-list-item',{attrs:{\"to\":{ name: 'pastLessons' }}},[_c('v-list-item-icon',{staticClass:\"mr-2\"},[_c('v-icon',[_vm._v(\"mdi-video-check-outline\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.lessons.pastLessons\"))+\" \")])],1)],1)],1)],1)],1):_vm._e(),_c('v-col',{staticClass:\"px-sm-only-0 px-xs-0\",attrs:{\"lg\":\"8\",\"md\":\"8\",\"xl\":\"8\"}},[(_vm.$vuetify.breakpoint.smAndDown)?_c('v-tabs',{attrs:{\"grow\":\"\"}},[_c('v-tab',{staticClass:\"no-uppercase\",attrs:{\"to\":{ name: 'upcomingLessons' }}},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.lessons.upcomingLessons\"))+\" \")]),_c('v-tab',{staticClass:\"no-uppercase\",attrs:{\"to\":{ name: 'pastLessons' }}},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.lessons.pastLessons\"))+\" \")])],1):_vm._e(),_c('router-view',{staticClass:\"mt-4\"})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LessonsLayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LessonsLayer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LessonsLayer.vue?vue&type=template&id=2a4910ce\"\nimport script from \"./LessonsLayer.vue?vue&type=script&lang=js\"\nexport * from \"./LessonsLayer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-row',[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-col',{attrs:{\"lg\":\"4\",\"md\":\"4\",\"xl\":\"4\"}},[_c('v-card',{staticClass:\"mt-4\",attrs:{\"rounded\":_vm.$vuetify.breakpoint.smAndDown ? '0' : 'lg'}},[_c('v-card-title',{staticClass:\"pb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"pages.notifications.notificationsManagement\"))+\" \")]),_c('loading-component',{attrs:{\"is-loading\":_vm.getLoadingByKey(_vm.NOTIFICATION_TYPES_KEY)}},[_c('error-component',{attrs:{\"errors\":_vm.getErrorsByKey(_vm.NOTIFICATION_TYPES_KEY),\"has-error\":_vm.hasErrorsByKey(_vm.NOTIFICATION_TYPES_KEY),\"reload\":_vm.loadNotificationTypes}},[_c('v-list',{attrs:{\"expand\":\"\"}},_vm._l((_vm.types),function(type,i){return _c('v-list-item',{key:`notification-type-${type.type}-${i}`,attrs:{\"to\":{\n\t\t\t\t\t\t\t\t\t\tname: 'categorizedNotifications',\n\t\t\t\t\t\t\t\t\t\tparams: { type: type.type ?? 'All' },\n\t\t\t\t\t\t\t\t\t}}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(`pages.notifications.tabs.${type.title}.long`))+\" \")])],1)],1)}),1)],1)],1)],1)],1):_vm._e(),_c('v-col',{staticClass:\"px-sm-only-0 px-xs-0\",attrs:{\"lg\":\"8\",\"md\":\"8\",\"xl\":\"8\"}},[(_vm.$vuetify.breakpoint.smAndDown)?_c('loading-component',{attrs:{\"is-loading\":_vm.getLoadingByKey(_vm.NOTIFICATION_TYPES_KEY)}},[_c('error-component',{attrs:{\"errors\":_vm.getErrorsByKey(_vm.NOTIFICATION_TYPES_KEY),\"has-error\":_vm.hasErrorsByKey(_vm.NOTIFICATION_TYPES_KEY),\"reload\":_vm.loadNotificationTypes}},[_c('v-tabs',{staticClass:\"mobile-tabs\",attrs:{\"grow\":\"\"}},_vm._l((_vm.types),function(type,i){return _c('v-tab',{key:`notification-type-${type.type}-${i}`,staticClass:\"no-uppercase\",attrs:{\"to\":{\n\t\t\t\t\t\t\t\t\tname: 'categorizedNotifications',\n\t\t\t\t\t\t\t\t\tparams: { type: type.type ?? 'All' },\n\t\t\t\t\t\t\t\t}}},[_vm._v(\" \"+_vm._s(_vm.$t(`pages.notifications.tabs.${type.title}.short`))+\" \")])}),1)],1)],1):_vm._e(),_c('router-view',{key:_vm.$route.fullPath,staticClass:\"mt-4\",attrs:{\"types-map\":_vm.typesMap}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import gql from \"graphql-tag\";\n\nexport const GET_USER_NOTIFICATION_TYPES_QUERY = gql`\n query {\n getUserNotificationTypes {\n types {\n title\n type\n }\n }\n }\n`;\n","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationsLayer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationsLayer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NotificationsLayer.vue?vue&type=template&id=7ce4ab6a\"\nimport script from \"./NotificationsLayer.vue?vue&type=script&lang=js\"\nexport * from \"./NotificationsLayer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport PageNotFound from \"@/views/PageNotFound\";\nimport MainComponent from \"@/components/MainComponent\";\nimport { getFromLocalStorage } from \"@/utils/local-storage.util\";\nimport { USER_ROLE } from \"@/enums/user-role.enum\";\nimport AccessDenied from \"@/views/AccessDenied\";\nimport LogoutView from \"@/views/LogoutView\";\nimport MainWithoutContainerRestrictionsComponent from \"@/components/MainWithoutContainerRestrictionsComponent.vue\";\nimport MainComponentWithFullContainer from \"@/components/MainComponentWithFullContainer.vue\";\nimport MainAuthLayout from \"@/layouts/MainAuthLayout.vue\";\nimport ConnectionsLayer from \"@/views/connections/ConnectionsLayer.vue\";\nimport MaterialsLayer from \"@/views/materials/MaterialsLayer.vue\";\nimport ExternalLinkView from \"@/views/ExternalLinkView.vue\";\nimport PreferencesLayer from \"@/views/preferences/PreferencesLayer.vue\";\nimport LessonsLayer from \"@/views/lessons/LessonsLayer.vue\";\nimport NotificationsLayer from \"@/views/notifications/NotificationsLayer.vue\";\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: \"/\",\n component: MainWithoutContainerRestrictionsComponent,\n children: [\n {\n path: \"\",\n name: \"main\",\n component: () => import(\"../views/main/MainView.vue\"),\n },\n {\n path: \"\",\n component: MainComponent,\n children: [\n {\n path: \"about\",\n name: \"aboutCommunities\",\n component: () => import(\"../views/main/pages/AboutView.vue\"),\n },\n {\n path: \"terms-of-service\",\n name: \"termsOfService\",\n component: () =>\n import(\"../views/main/pages/TermsOfServiceView.vue\"),\n },\n {\n path: \"privacy-policy\",\n name: \"privacyPolicy\",\n component: () =>\n import(\"../views/main/pages/PrivacyPolicyView.vue\"),\n },\n ],\n },\n {\n path: \"\",\n component: MainComponentWithFullContainer,\n children: [\n {\n path: \"whiteboard-demo\",\n name: \"whiteboard-demo\",\n component: () => import(\"../views/main/BoardDemoView.vue\"),\n },\n ],\n },\n ],\n },\n {\n path: \"/\",\n component: MainComponent,\n children: [\n {\n path: \"\",\n component: () => import(\"../views/main/HomeView.vue\"),\n children: [\n // {\n // path: '',\n // redirect: 'profile'\n // },\n {\n path: \"search\",\n name: \"search\",\n component: () => import(\"../views/main/SearchView.vue\"),\n meta: {\n auth: true,\n },\n },\n // {\n // path: \"profile/:userId(\\\\d+)\",\n // component: () => import(\"../layouts/ProfileLayer.vue\"),\n // children: [\n // {\n // path: \"\",\n // name: \"userProfile\",\n // component: () => import(\"../views/main/profile/MainView.vue\"),\n // },\n // {\n // path: \"connections\",\n //\n // component: () =>\n // import(\"../views/main/profile/NotificationsView.vue\"),\n // meta: {\n // auth: true,\n // },\n // },\n // {\n // path: \"schedule\",\n // name: \"schedule\",\n // component: () =>\n // import(\"../views/main/profile/ScheduleView.vue\"),\n // },\n // {\n // path: \"materials\",\n // component: () => import(\"../layouts/UserMaterialsLayout.vue\"),\n // children: [\n // {\n // path: \"\",\n // redirect: () => {\n // return { name: \"lessons\" };\n // },\n // },\n // {\n // path: \"lessons/categories/:categoryId(\\\\d+)?\",\n // name: \"lessons\",\n // component: () =>\n // import(\n // \"../views/main/profile/materials/lesson/NotificationsView.vue\"\n // ),\n // },\n // {\n // path: \"quizzes/categories/:categoryId(\\\\d+)?\",\n // name: \"quizzes\",\n // component: () =>\n // import(\n // \"../views/main/profile/materials/quiz/QuizzesView.vue\"\n // ),\n // },\n // ],\n // },\n // ],\n // },\n // Self\n // {\n // path: \"profile\",\n // // component: () => import(\"../layouts/EmptyLayout\"),\n // component: () => import(\"../layouts/ProfileLayer.vue\"),\n // meta: {\n // auth: true,\n // },\n // children: [\n // {\n // path: \"\",\n // name: \"selfUserProfile\",\n // component: () =>\n // import(\"../views/main/my-profile/MainView.vue\"),\n // },\n // {\n // path: \"feed\",\n // name: \"selfUserFeed\",\n // component: () =>\n // import(\"../views/main/my-profile/FeedView.vue\"),\n // },\n // {\n // path: \"preview\",\n // name: \"selfUserProfilePreview\",\n // component: () =>\n // import(\"../views/main/my-profile/MainPreviewView.vue\"),\n // },\n // {\n // path: \"schedule\",\n // name: \"selfSchedule\",\n // component: () =>\n // import(\"../views/main/profile/ScheduleView.vue\"),\n // },\n // // {\n // // path: \"notifications\",\n // // name: \"notifications\",\n // // component: () =>\n // // import(\"../views/main/my-profile/NotificationsView.vue\"),\n // // },\n // {\n // path: \"connections\",\n // component: () => import(\"../layouts/EmptyLayout\"),\n // children: [\n // {\n // path: \"shared-contacts\",\n // name: \"selfSharedContacts\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/connection/SharedContactsView.vue\"\n // ),\n // },\n // {\n // path: \"\",\n // name: \"selfConnections\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/connection/ConnectionsView.vue\"\n // ),\n // },\n //\n // {\n // path: \"invitations\",\n // name: \"selfConnectionInvitations\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/connection/ConnectionInvitationsView.vue\"\n // ),\n // },\n // ],\n // },\n // {\n // path: \"materials\",\n // component: () => import(\"../layouts/UserMaterialsLayout.vue\"),\n // children: [\n // {\n // path: \"\",\n // name: \"selfMaterials\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/materials/SelfMaterials.vue\"\n // ),\n // },\n // // {\n // // path: \"lessons\",\n // // component: () =>\n // // import(\n // // \"../views/main/my-profile/materials/lesson/NotificationsView.vue\"\n // // ),\n // // children: [\n // // {\n // // path: \"categories/:categoryId(\\\\d+)?\",\n // // name: \"selfLessons\",\n // // component: () =>\n // // import(\n // // \"../views/main/my-profile/materials/lesson/OwnedLessonsView.vue\"\n // // ),\n // // },\n // // {\n // // path: \"saved-categories\",\n // // component: () => import(\"../layouts/EmptyLayout.vue\"),\n // // children: [\n // // {\n // // path: \":categoryId(\\\\d+)?\",\n // // name: \"selfSavedLessons\",\n // // component: () =>\n // // import(\n // // \"../views/main/my-profile/materials/lesson/ForkedLessonsView.vue\"\n // // ),\n // // },\n // // {\n // // path: \":authorId(\\\\d+)/:startCategoryId(\\\\d+)-:categoryId(\\\\d+)\",\n // // name: \"selfSavedPreviewLessons\",\n // // component: () =>\n // // import(\n // // \"../views/main/my-profile/materials/lesson/ForkedLessonsView.vue\"\n // // ),\n // // },\n // // ],\n // // },\n // // ],\n // // },\n //\n // {\n // path: \"quizzes\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/materials/quiz/QuizzesView.vue\"\n // ),\n // children: [\n // {\n // path: \"categories/:categoryId(\\\\d+)?\",\n // name: \"selfQuizzes\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/materials/quiz/OwnedQuizzesView.vue\"\n // ),\n // },\n // {\n // path: \"saved-categories\",\n // component: () => import(\"../layouts/EmptyLayout.vue\"),\n // children: [\n // {\n // path: \":categoryId(\\\\d+)?\",\n // name: \"selfSavedQuizzes\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/materials/quiz/ForkedQuizzesView.vue\"\n // ),\n // },\n // {\n // path: \":authorId(\\\\d+)/:startCategoryId(\\\\d+)-:categoryId(\\\\d+)\",\n // name: \"selfSavedPreviewQuizzes\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/materials/quiz/ForkedQuizzesView.vue\"\n // ),\n // },\n // ],\n // },\n // ],\n // },\n // {\n // path: \"file-manager\",\n // name: \"fileManager\",\n // component: () =>\n // import(\n // \"../views/main/my-profile/materials/FileManager.vue\"\n // ),\n // },\n // ],\n // },\n // ],\n // },\n ],\n },\n ],\n },\n {\n path: \"/\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"profile\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n meta: {\n auth: true,\n },\n children: [\n {\n path: \"live-lesson\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"\",\n name: \"liveLessons\",\n component: () =>\n import(\"../views/main/my-profile/live-lesson/LiveLesson.vue\"),\n },\n {\n path: \":lessonScheduleId(\\\\d+)\",\n name: \"liveLesson\",\n component: () =>\n import(\n \"../views/main/my-profile/live-lesson/LessonSchedule.vue\"\n ),\n },\n ],\n },\n ],\n },\n {\n path: \"profile\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"materials\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"lessons/:lessonId(\\\\d+|new)\",\n name: \"lessonDetails\",\n component: () =>\n import(\n \"../views/main/profile/materials/lesson/CreateEditPreviewView.vue\"\n ),\n },\n {\n path: \"quizzes/:quizId(\\\\d+|new)\",\n name: \"quizDetails\",\n component: () =>\n import(\n \"../views/main/profile/materials/quiz/CreateEditPreviewView.vue\"\n ),\n },\n ],\n },\n ],\n },\n ],\n },\n {\n path: \"/auth\",\n component: () => import(\"../layouts/AuthLayout.vue\"),\n children: [\n {\n path: \"sign-in\",\n name: \"signIn\",\n component: () => import(\"../views/auth/SignInView.vue\"),\n },\n {\n path: \"sign-up\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"\",\n name: \"signUp\",\n component: () => import(\"../views/auth/SignUpView.vue\"),\n },\n {\n path: \"instructor\",\n name: \"signUpInstructor\",\n component: () => import(\"../views/auth/SignUpInstructorView.vue\"),\n },\n {\n path: \"student\",\n name: \"signUpStudent\",\n component: () => import(\"../views/auth/SignUpStudentView.vue\"),\n },\n ],\n },\n {\n path: \"restore-password\",\n name: \"restorePassword\",\n component: () => import(\"../views/auth/RestorePasswordView.vue\"),\n },\n ],\n },\n {\n path: \"/\",\n component: MainAuthLayout,\n meta: {\n auth: true,\n },\n children: [\n {\n path: \"feed\",\n name: \"feed\",\n component: () => import(\"../views/FeedView.vue\"),\n },\n {\n path: \"connections\",\n component: ConnectionsLayer,\n children: [\n {\n path: \"\",\n name: \"connections\",\n component: () => import(\"../views/connections/ConnectionsView.vue\"),\n },\n {\n path: \"list\",\n name: \"connectionsList\",\n component: () =>\n import(\"../views/connections/ConnectionsListView.vue\"),\n },\n {\n path: \"pending-invitations\",\n name: \"connectionInvitations\",\n component: () =>\n import(\"../views/connections/ConnectionInvitationsView.vue\"),\n },\n {\n path: \"shared-contacts\",\n name: \"connectionSharedContacts\",\n component: () =>\n import(\"../views/connections/SharedContactsView.vue\"),\n },\n ],\n },\n {\n path: \"lessons\",\n component: LessonsLayer,\n children: [\n {\n path: \"\",\n name: \"lessons\",\n component: () => import(\"../views/lessons/LessonsView.vue\"),\n },\n {\n path: \"upcoming\",\n name: \"upcomingLessons\",\n component: () => import(\"../views/lessons/UpcomingLessonsView.vue\"),\n },\n {\n path: \"past\",\n name: \"pastLessons\",\n component: () => import(\"../views/lessons/PastLessonsView.vue\"),\n },\n // {\n // path: \"upcoming\",\n // name: \"connectionsList\",\n // component: () =>\n // import(\"../views/connections/ConnectionsListView.vue\"),\n // },\n // {\n // path: \"pending-invitations\",\n // name: \"connectionInvitations\",\n // component: () =>\n // import(\"../views/connections/ConnectionInvitationsView.vue\"),\n // },\n // {\n // path: \"shared-contacts\",\n // name: \"connectionSharedContacts\",\n // component: () =>\n // import(\"../views/connections/SharedContactsView.vue\"),\n // },\n ],\n },\n {\n path: \"notifications\",\n component: NotificationsLayer,\n children: [\n {\n path: \"\",\n name: \"notifications\",\n component: () =>\n import(\"../views/notifications/NotificationsView.vue\"),\n },\n {\n path: \":type\",\n name: \"categorizedNotifications\",\n component: () =>\n import(\"../views/notifications/CategorizedNotificationsView.vue\"),\n },\n ],\n },\n {\n path: \"preferences\",\n component: PreferencesLayer,\n children: [\n {\n path: \"\",\n name: \"preferences\",\n component: () => import(\"../views/preferences/PreferencesView.vue\"),\n },\n {\n path: \"account\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"\",\n name: \"account-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesView.vue\"\n ),\n },\n {\n path: \"name\",\n name: \"account-name-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesNameView.vue\"\n ),\n },\n {\n path: \"contact\",\n name: \"account-contact-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesContactView.vue\"\n ),\n },\n {\n path: \"headline\",\n name: \"account-headline-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesHeadlineView.vue\"\n ),\n },\n {\n path: \"about\",\n name: \"account-about-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesAboutView.vue\"\n ),\n },\n {\n path: \"specialities\",\n name: \"account-specialities-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesSpecialitiesView.vue\"\n ),\n },\n {\n path: \"target-language\",\n name: \"account-target-language-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesTargetLanguageView.vue\"\n ),\n },\n {\n path: \"speak-language\",\n name: \"account-speak-language-preferences\",\n component: () =>\n import(\n \"../views/preferences/account/AccountPreferencesSpeakLanguagesView.vue\"\n ),\n },\n ],\n },\n {\n path: \"security\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"\",\n name: \"sign-in-and-security-preferences\",\n component: () =>\n import(\n \"../views/preferences/sign-in-and-security/SignInSecurityPreferencesView.vue\"\n ),\n },\n {\n path: \"change-email\",\n name: \"account-change-email-preferences\",\n component: () =>\n import(\n \"../views/preferences/sign-in-and-security/SignInAndSecurityPreferencesChangeEmailView.vue\"\n ),\n },\n {\n path: \"change-password\",\n name: \"account-change-password-preferences\",\n component: () =>\n import(\n \"../views/preferences/sign-in-and-security/SignInAndSecurityPreferencesPasswordView.vue\"\n ),\n },\n ],\n },\n ],\n },\n {\n path: \"messages\",\n component: () => import(\"../views/messages/MessagesView\"),\n meta: {\n mainContainerClass: \"fill-height\",\n },\n children: [\n {\n path: \"\",\n name: \"messages\",\n component: () =>\n import(\"../views/messages/MessagesEmptyChatView.vue\"),\n },\n {\n path: \":id\",\n name: \"messageChat\",\n component: () => import(\"../views/messages/MessagesChatView.vue\"),\n },\n ],\n },\n {\n path: \"materials\",\n component: MaterialsLayer,\n children: [\n {\n path: \"\",\n name: \"materials\",\n component: () => import(\"../views/materials/MaterialsView.vue\"),\n },\n {\n path: \"common\",\n name: \"common-publications-list\",\n component: () =>\n import(\n \"../views/materials/publications/CommonPublicationsListView.vue\"\n ),\n },\n {\n path: \"owned\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"\",\n name: \"owned-publications-list\",\n component: () =>\n import(\n \"../views/materials/publications/OwnedPublicationsListView.vue\"\n ),\n },\n {\n path: \"my\",\n name: \"owned-my-publications-list\",\n component: () =>\n import(\n \"../views/materials/publications/OwnedMyPublicationsListView.vue\"\n ),\n },\n {\n path: \"saved\",\n name: \"owned-saved-publications-list\",\n component: () =>\n import(\n \"../views/materials/publications/OwnedSavedPublicationsListView.vue\"\n ),\n },\n ],\n },\n ],\n },\n {\n path: \"materials\",\n component: () => import(\"../layouts/EmptyLayout.vue\"),\n children: [\n {\n path: \"new\",\n name: \"new-publication\",\n component: () =>\n import(\n \"../views/materials/publications/CreatePublicationView.vue\"\n ),\n },\n {\n path: \"edit/:id(\\\\d+)\",\n name: \"edit-publication\",\n component: () =>\n import(\"../views/materials/publications/EditPublicationView.vue\"),\n },\n {\n path: \":id(\\\\d+)\",\n name: \"view-publication\",\n component: () =>\n import(\"../views/materials/publications/ViewPublicationView.vue\"),\n },\n ],\n },\n ],\n },\n {\n path: \"/\",\n component: MainAuthLayout,\n children: [\n {\n name: \"skill\",\n path: \"skills/:skill\",\n component: () => import(\"../views/SkillView.vue\"),\n },\n {\n path: \"feed/update/post/:id\",\n name: \"view-post\",\n component: () => import(\"../views/feed/FeedItemView.vue\"),\n },\n {\n path: \"profile/:userId(\\\\d+)\",\n component: () => import(\"../views/profile/ProfileLayer.vue\"),\n children: [\n {\n path: \"\",\n name: \"userProfile\",\n component: () => import(\"../views/profile/ProfileView.vue\"),\n },\n {\n path: \"details\",\n component: () => import(\"../layouts/DeepProfileLayout.vue\"),\n children: [\n {\n path: \"certificates\",\n name: \"userProfileDetailsCertificates\",\n component: () =>\n import(\n \"../views/profile/details/ProfileDetailsCertificatesView.vue\"\n ),\n },\n {\n path: \"connections\",\n name: \"userProfileDetailsConnections\",\n component: () =>\n import(\n \"../views/profile/details/ProfileDetailsConnectionsView.vue\"\n ),\n },\n {\n path: \"instructors\",\n name: \"userProfileDetailsInstructors\",\n component: () =>\n import(\n \"../views/profile/details/ProfileDetailsInstructorsView.vue\"\n ),\n },\n {\n path: \"students\",\n name: \"userProfileDetailsStudents\",\n component: () =>\n import(\n \"../views/profile/details/ProfileDetailsStudentsView.vue\"\n ),\n },\n {\n path: \"reviews\",\n name: \"userProfileDetailsReviews\",\n component: () =>\n import(\n \"../views/profile/details/ProfileDetailsReviewsView.vue\"\n ),\n },\n ],\n },\n ],\n },\n ],\n },\n\n {\n path: \"/external-link\",\n name: \"externalLink\",\n component: ExternalLinkView,\n },\n\n {\n path: \"/logout\",\n name: \"logout\",\n component: LogoutView,\n },\n {\n path: \"/access-denied\",\n component: AccessDenied,\n },\n {\n path: \"*\",\n component: PageNotFound,\n },\n {\n path: \"/lesson-board/:lessonBoardId/preview\",\n name: \"lesson-board-preview\",\n component: () => import(\"../views/BoardPreviewView.vue\"),\n },\n];\n\nconst router = new VueRouter({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes,\n});\n\nlet previousRoute = null;\n// check redirect role,permission\nrouter.beforeEach(async (to, from, next) => {\n previousRoute = from;\n const isLoggedIn = getFromLocalStorage(\"accessToken\");\n if (to.matched.some((m) => m.meta.auth) && !isLoggedIn) {\n return next({\n name: \"login\",\n query: {\n redirectAfter: to.path,\n },\n });\n }\n\n const tmpUser = getFromLocalStorage(\"user\");\n if (isLoggedIn && tmpUser) {\n const user = JSON.parse(tmpUser);\n if (\n user.role !== USER_ROLE.ADMIN &&\n !to.matched\n .filter((m) => m.meta.permissions && m.meta.permissions.length)\n .every((m) => m.meta.permissions.includes(user.role))\n ) {\n return next({\n path: \"/access-denied\",\n query: {\n redirectAfter: from.path,\n },\n });\n }\n }\n\n // end check router prior with permission, role\n return next();\n});\n\nVue.prototype.$previousRoute = () => previousRoute;\nexport default router;\n","const loading = {\n state: {\n isLoading: false,\n },\n getters: {\n isLoading(state) {\n return state.isLoading;\n },\n },\n mutations: {\n setLoading(state, { isLoading }) {\n state.isLoading = isLoading;\n },\n },\n actions: {\n async setLoading({ commit }, isLoading) {\n commit(\"setLoading\", { isLoading });\n },\n },\n};\n\nexport default loading;\n","import gql from \"graphql-tag\";\n\nexport const SEARCH_USERS_PAGINATION_QUERY = gql`\n query (\n $query: String!\n $role: UserRole\n $textbookIds: [Int!]\n $interestIds: [Int!]\n $learnOrTeachId: Int\n $speakIds: [Int!]\n $specialityIds: [Int!]\n $skip: Int!\n $take: Int!\n $orderBy: [OrderByInput!]\n ) {\n searchUsers(\n data: {\n query: $query\n role: $role\n textbookIds: $textbookIds\n interestIds: $interestIds\n speakIds: $speakIds\n learnOrTeachId: $learnOrTeachId\n specialityIds: $specialityIds\n pagination: { skip: $skip, take: $take }\n orderBy: $orderBy\n }\n ) {\n total\n hasMore\n items {\n id\n firstName\n lastName\n profilePhotoX64 {\n fullUri\n }\n shortAbout\n role\n wasOnline\n connectionStatus\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { toSnakeCase } from \"@/utils/string\";\nimport { SEARCH_USERS_PAGINATION_QUERY } from \"@/graphql/queries/user/search-users-pagination.query\";\nimport { GET_USER_MATCH_PAGINATION_QUERY } from \"@/graphql/queries/user/match-instructors-pagination.query\";\nimport { GET_USER_REVIEWS_PAGINATION_QUERY } from \"@/graphql/queries/user/get-user-reviews-pagination.query\";\n\nconst user = {\n state: {},\n getters: {},\n mutations: {},\n actions: {\n async getSearchUsersQuery(\n _,\n {\n skip,\n take,\n orderBy,\n query,\n role,\n specialityIds,\n speakIds,\n interestIds,\n learnOrTeachId,\n textbookIds,\n }\n ) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: SEARCH_USERS_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n query,\n role,\n specialityIds,\n speakIds,\n interestIds,\n learnOrTeachId,\n textbookIds,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getMatchInstructorsQuery(\n _,\n {\n skip,\n take,\n orderBy,\n teachId,\n query,\n criteriaIds,\n interestIds,\n textbookIds,\n speakIds,\n specialityIds,\n priceFrom,\n priceTo,\n }\n ) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_MATCH_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n teachId,\n query,\n criteriaIds,\n interestIds,\n speakIds,\n specialityIds,\n textbookIds,\n priceFrom,\n priceTo,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getUserReviewsQuery(_, { skip, take, userId }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_REVIEWS_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n userId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default user;\n","import gql from \"graphql-tag\";\n\nexport const DECLINE_CONNECTION_INVITATION_MUTATION = gql`\n mutation DeclineUserConnectionInvitation($userId: Int!) {\n declineUserConnection(data: { userId: $userId })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CREATE_CONNECTION_INVITATION_MUTATION = gql`\n mutation CreateUserConnectionInvitation($userId: Int!) {\n createUserConnection(data: { userId: $userId })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const REMOVE_CONNECTION_MUTATION = gql`\n mutation RemoveUserConnectionInvitation($userId: Int!) {\n removeUserConnection(data: { userId: $userId })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const ACCEPT_CONNECTION_MUTATION = gql`\n mutation AcceptUserConnectionInvitation($userId: Int!) {\n acceptUserConnection(data: { userId: $userId })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CANCEL_CONNECTION_INVITATION_MUTATION = gql`\n mutation CancelUserConnectionInvitation($userId: Int!) {\n cancelUserConnection(data: { userId: $userId })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_CONTACT_SHARINGS_PAGINATION_QUERY = gql`\n query (\n $query: String\n $notMarkedAsRead: Boolean\n $skip: Int!\n $take: Int!\n $orderBy: [OrderByInput!]\n ) {\n getUserContactSharings(\n data: {\n query: $query\n notMarkedAsRead: $notMarkedAsRead\n pagination: { skip: $skip, take: $take }\n orderBy: $orderBy\n }\n ) {\n total\n hasMore\n items {\n id\n telNumber\n email\n message\n createdAt\n readAt\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { GET_USER_CONNECTIONS_HISTORY_PAGINATION_QUERY } from \"@/graphql/queries/connection/get-user-connections-history-pagination.query\";\nimport { DECLINE_CONNECTION_INVITATION_MUTATION } from \"@/graphql/mutations/connection/decline-connection-invitation.mutation\";\nimport { GET_USER_CONNECTIONS_PAGINATION_QUERY } from \"@/graphql/queries/connection/get-user-connections-pagination.query\";\nimport { CREATE_CONNECTION_INVITATION_MUTATION } from \"@/graphql/mutations/connection/create-connection-invitation.mutation\";\nimport { REMOVE_CONNECTION_MUTATION } from \"@/graphql/mutations/connection/remove-connection.mutation\";\nimport { ACCEPT_CONNECTION_MUTATION } from \"@/graphql/mutations/connection/accept-connection.mutation\";\nimport { CANCEL_CONNECTION_INVITATION_MUTATION } from \"@/graphql/mutations/connection/cancel-connection-invitation.mutation\";\nimport { toSnakeCase } from \"@/utils/string\";\nimport { GET_USER_CONTACT_SHARINGS_PAGINATION_QUERY } from \"@/graphql/queries/connection/get-user-contact-sharings-pagination.query\";\n\nconst connection = {\n state: {},\n getters: {},\n mutations: {},\n actions: {\n async getConnectionsQuery(_, { skip, take, orderBy, id, search }) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_CONNECTIONS_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n id: id ?? this.getters.getCurrentUser.id,\n search,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getConnectionsHistoryQuery(_, { skip, take, orderBy, type, status }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_CONNECTIONS_HISTORY_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n type,\n status,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getContactSharingsQuery(\n _,\n { query, notMarkedAsRead, skip, take, orderBy }\n ) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_CONTACT_SHARINGS_PAGINATION_QUERY,\n variables: {\n query,\n notMarkedAsRead,\n skip,\n take,\n orderBy,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n // Actions\n async createConnectionInvitation(_, { userId }) {\n await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CREATE_CONNECTION_INVITATION_MUTATION,\n variables: {\n userId: userId,\n },\n });\n });\n },\n async removeConnection(_, { userId }) {\n await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: REMOVE_CONNECTION_MUTATION,\n variables: {\n userId: userId,\n },\n });\n });\n },\n async acceptConnectionInvitation(_, { userId }) {\n await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: ACCEPT_CONNECTION_MUTATION,\n variables: {\n userId: userId,\n },\n });\n });\n },\n async declineConnectionInvitation(_, { userId }) {\n await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: DECLINE_CONNECTION_INVITATION_MUTATION,\n variables: {\n userId,\n },\n });\n });\n },\n async cancelConnectionInvitation(_, { userId }) {\n await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CANCEL_CONNECTION_INVITATION_MUTATION,\n variables: {\n userId,\n },\n });\n });\n },\n },\n};\n\nexport default connection;\n","import gql from \"graphql-tag\";\n\nexport const GET_CHAT_LIST_PAGINATION_QUERY = gql`\n query ($search: String, $skip: Int!, $take: Int!, $orderBy: [OrderByInput!]) {\n getChatsPaginated(\n data: {\n search: $search\n pagination: { skip: $skip, take: $take }\n orderBy: $orderBy\n }\n ) {\n hasMore\n total\n items {\n id\n createdAt\n updatedAt\n lessonScheduleId\n lessonSchedule {\n id\n title\n startsAt\n }\n users {\n id\n firstName\n lastName\n profilePhotoX64 {\n fullUri\n }\n }\n unreadMessagesCount\n latestMessage {\n id\n userId\n message\n createdAt\n }\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_CHAT_MESSAGES_PAGINATION_QUERY = gql`\n query ($chatId: Int!, $skip: Int!, $take: Int!) {\n getChatMessagesPaginated(\n data: { chatId: $chatId, pagination: { skip: $skip, take: $take } }\n ) {\n hasMore\n total\n items {\n id\n createdAt\n message\n userId\n user {\n id\n firstName\n lastName\n profilePhotoX64 {\n fullUri\n }\n }\n publication {\n id\n title\n description\n cover {\n id\n fullUri\n }\n author {\n id\n firstName\n lastName\n profilePhotoX64 {\n id\n fullUri\n }\n shortAbout\n }\n }\n publicationResource {\n id\n createdAt\n updatedAt\n type\n order\n content\n publicationId\n publicationSectionId\n medias {\n id\n title\n fullUri\n size\n mimeType\n aspectRatio\n duration\n }\n publication {\n id\n title\n description\n cover {\n id\n fullUri\n }\n author {\n id\n firstName\n lastName\n profilePhotoX64 {\n id\n fullUri\n }\n shortAbout\n }\n }\n }\n post {\n id\n text\n createdAt\n updatedAt\n privacy\n likesCount\n commentsCount\n like {\n postId\n userId\n }\n author {\n id\n firstName\n lastName\n shortAbout\n profilePhotoX64 {\n fullUri\n }\n }\n mediaItems {\n id\n order\n title\n size\n mimeType\n fullUri\n aspectRatio\n duration\n createdAt\n }\n publication {\n id\n title\n description\n cover {\n id\n fullUri\n }\n author {\n id\n firstName\n lastName\n profilePhotoX64 {\n id\n fullUri\n }\n shortAbout\n }\n }\n publicationResource {\n id\n createdAt\n updatedAt\n type\n order\n content\n publicationId\n publicationSectionId\n medias {\n id\n title\n fullUri\n size\n mimeType\n aspectRatio\n duration\n }\n publication {\n id\n title\n description\n cover {\n id\n fullUri\n }\n author {\n id\n firstName\n lastName\n profilePhotoX64 {\n id\n fullUri\n }\n shortAbout\n }\n }\n }\n }\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { toSnakeCase } from \"@/utils/string\";\nimport { GET_CHAT_LIST_PAGINATION_QUERY } from \"@/graphql/queries/user/chat/get-chat-list-pagination.query\";\nimport { GET_CHAT_MESSAGES_PAGINATION_QUERY } from \"@/graphql/queries/user/chat/get_chat-messages-pagination.query\";\n\nconst chat = {\n actions: {\n async getChatListQuery(_, { skip, take, orderBy, search }) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n\n console.log(\"fetching\");\n\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_CHAT_LIST_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n search,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getChatMessagesQuery(_, { skip, take, chatId }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_CHAT_MESSAGES_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n chatId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default chat;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_ACTIVITY_HISTORY_PAGINATION_QUERY = gql`\n query ($skip: Int!, $take: Int!) {\n getCurrentUserActivityHistories(\n data: {\n pagination: { skip: $skip, take: $take }\n orderBy: [{ direction: Desc, nulls: Last, fieldName: \"created_at\" }]\n }\n ) {\n total\n hasMore\n items {\n id\n type\n lesson {\n id\n title\n description\n authorId\n }\n lessonSchedule {\n id\n startsAt\n endsAt\n lessons {\n id\n title\n authorId\n description\n }\n students {\n id\n firstName\n lastName\n }\n lessonBoards {\n id\n title\n fullUri\n }\n }\n quiz {\n id\n title\n description\n authorId\n }\n quizHistory {\n id\n quiz {\n id\n title\n authorId\n description\n }\n maxPoints\n earnedPoints\n }\n createdAt\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { GET_USER_ACTIVITY_HISTORY_PAGINATION_QUERY } from \"@/graphql/queries/user/activity-history/get-user-activity-history-pagination.query\";\n\nconst activityHistory = {\n state: {},\n getters: {},\n mutations: {},\n actions: {\n async getUserActivityHistoryQuery(_, { skip, take }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_ACTIVITY_HISTORY_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default activityHistory;\n","import gql from \"graphql-tag\";\n\nexport const GET_LESSONS_PAGINATION_QUERY = gql`\n query (\n $type: LessonType!\n $orderBy: [OrderByInput!]\n $skip: Int!\n $take: Int!\n $privacy: LessonQuizPrivacy\n $search: String\n $userId: Int!\n $categoryId: Int\n ) {\n getLessons(\n data: {\n orderBy: $orderBy\n pagination: { skip: $skip, take: $take }\n privacy: $privacy\n search: $search\n type: $type\n userId: $userId\n categoryId: $categoryId\n }\n ) {\n hasMore\n total\n items {\n id\n title\n coverUri\n description\n privacy\n createdAt\n updatedAt\n authorId\n author {\n id\n firstName\n lastName\n shortAbout\n profilePhotoX64 {\n fullUri\n }\n }\n fork {\n id\n categoryId\n lessonId\n userId\n createdAt\n }\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { GET_LESSON_QUERY } from \"@/graphql/queries/lesson/get-lesson.query\";\nimport { GET_LESSONS_PAGINATION_QUERY } from \"@/graphql/queries/lesson/get-lessons-pagination.query\";\nimport { DELETE_LESSON_MUTATION } from \"@/graphql/mutations/lesson/delete.mutation\";\nimport { toSnakeCase } from \"@/utils/string\";\nimport { CREATE_LESSON_MUTATION } from \"@/graphql/mutations/lesson/create.mutation\";\nimport { UPDATE_LESSON_MUTATION } from \"@/graphql/mutations/lesson/update.mutation\";\nimport { CREATE_LESSON_ATTACHMENT_MUTATION } from \"@/graphql/mutations/lesson/create-attachment.mutation\";\nimport { DELETE_LESSON_ATTACHMENT_MUTATION } from \"@/graphql/mutations/lesson/delete-attachment.mutation\";\nimport { CHANGE_ORDER_LESSON_ATTACHMENT_MUTATION } from \"@/graphql/mutations/lesson/change-order-attachment.mutation\";\nimport { UPDATE_LESSON_ATTACHMENT_MUTATION } from \"@/graphql/mutations/lesson/update-attachment.mutation\";\n\nconst lesson = {\n state: {},\n getters: {},\n mutations: {},\n actions: {\n async createLesson(_, { title, description, privacy, notes }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CREATE_LESSON_MUTATION,\n variables: {\n title,\n description,\n privacy,\n notes,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async updateLesson(_, { id, title, description, privacy, notes }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: UPDATE_LESSON_MUTATION,\n variables: {\n id,\n title,\n description,\n privacy,\n notes,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getLessonQuery(_, { id }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_LESSON_QUERY,\n variables: { id },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getLessonsQuery(\n _,\n { skip, take, orderBy, privacy, search, type, userId, categoryId }\n ) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_LESSONS_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n privacy,\n search,\n type,\n userId,\n categoryId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async deleteLesson(_, { id }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: DELETE_LESSON_MUTATION,\n variables: { id },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async createLessonAttachment(_, { title, file, lessonId, order }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CREATE_LESSON_ATTACHMENT_MUTATION,\n variables: {\n title,\n file,\n lessonId,\n order,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async deleteLessonAttachment(_, { id }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: DELETE_LESSON_ATTACHMENT_MUTATION,\n variables: { id },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async changeOrderLessonAttachment(_, { first, second }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CHANGE_ORDER_LESSON_ATTACHMENT_MUTATION,\n variables: { first, second },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async updateLessonAttachment(_, { id, title }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: UPDATE_LESSON_ATTACHMENT_MUTATION,\n variables: { id, title },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default lesson;\n","import gql from \"graphql-tag\";\n\nexport const GET_EXERCISE_VALIDATORS_QUERY = gql`\n query {\n getExerciseValidators {\n dragTheWords {\n tag\n min\n }\n fillInTheBlanks {\n tag\n min\n divider\n }\n findSynonym {\n synonym {\n tag\n exact\n }\n real {\n tag\n exact\n }\n fake {\n tag\n min\n }\n }\n findThePlace {\n real {\n tag\n exact\n }\n fake {\n tag\n min\n }\n }\n markTheWords {\n correct\n wrong\n min\n }\n multipleChoice {\n min\n }\n singleChoice {\n min\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_QUIZ_ALL_POINTS_QUERY = gql`\n query ($id: Float!) {\n getQuizAllPoints(id: $id) {\n exercises {\n points\n count\n }\n order\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_EXERCISES_ADMIN_PAGINATION_QUERY = gql`\n query ($skip: Int!, $take: Int!, $quizId: Int!, $search: String) {\n getExercisesAdminPaginated(\n data: {\n orderBy: [{ direction: Asc, fieldName: \"order\" }]\n pagination: { skip: $skip, take: $take }\n quizId: $quizId\n search: $search\n }\n ) {\n hasMore\n total\n items {\n id\n description\n createdAt\n errorHint\n order\n points\n type\n updatedAt\n version\n }\n extraData {\n before {\n id\n order\n }\n after {\n id\n order\n }\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_EXERCISES_HISTORY_PAGINATED_QUERY = gql`\n query (\n $skip: Int!\n $take: Int!\n $quizHistoryId: Int!\n $showCorrectnessOnError: Boolean!\n ) {\n getExercisesHistoryPaginated(\n data: {\n pagination: { skip: $skip, take: $take }\n quizHistoryId: $quizHistoryId\n showCorrectnessOnError: $showCorrectnessOnError\n }\n ) {\n hasMore\n total\n items {\n id\n createdAt\n earnedPoints\n maxPoints\n version\n noAnswer\n exercise {\n id\n description\n errorHint\n type\n audioHidden\n audioAutoplay\n version\n audio {\n id\n fullUri\n title\n }\n dragTheWords {\n images\n text\n }\n fillInTheBlanks {\n images\n text\n }\n findSynonym {\n text\n }\n findThePlace {\n data\n text\n }\n markTheWords {\n text\n }\n multipleChoice {\n data\n }\n singleChoice {\n data\n }\n }\n dragTheWords {\n incorrect\n input\n showError\n }\n fillInTheBlanks {\n incorrect\n input\n showError\n }\n findSynonym {\n incorrect\n input\n showError\n }\n findThePlace {\n incorrect\n input\n showError\n }\n markTheWords {\n incorrect\n input\n showError\n }\n multipleChoice {\n incorrect\n input\n showError\n }\n singleChoice {\n incorrect\n input\n showError\n }\n trueFalse {\n incorrect\n input\n showError\n }\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_EXERCISES_PAGINATION_QUERY = gql`\n query ($skip: Int!, $take: Int!, $quizId: Int!) {\n getExercisesPaginated(\n data: {\n orderBy: [{ direction: Asc, fieldName: \"order\" }]\n pagination: { skip: $skip, take: $take }\n quizId: $quizId\n }\n ) {\n hasMore\n total\n items {\n id\n description\n createdAt\n errorHint\n order\n points\n type\n updatedAt\n version\n quizId\n audioHidden\n audioAutoplay\n audio {\n id\n fullUri\n title\n }\n dragTheWords {\n data\n images\n text\n audios\n }\n fillInTheBlanks {\n images\n text\n audios\n }\n findSynonym {\n text\n }\n findThePlace {\n data\n text\n }\n markTheWords {\n text\n }\n multipleChoice {\n data\n }\n singleChoice {\n data\n }\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { toSnakeCase } from \"@/utils/string\";\nimport { GET_EXERCISE_QUERY } from \"@/graphql/queries/exercise/get-exercise.query\";\nimport { CREATE_EXERCISE_MUTATION } from \"@/graphql/mutations/exercise/create.mutation\";\nimport { UPDATE_EXERCISE_MUTATION } from \"@/graphql/mutations/exercise/update.mutation\";\nimport { DELETE_EXERCISE_MUTATION } from \"@/graphql/mutations/exercise/delete.mutation\";\nimport { CHANGE_ORDER_EXERCISE_MUTATION } from \"@/graphql/mutations/exercise/change-order-attachment.mutation\";\nimport { PREVIEW_EXERCISE_MUTATION } from \"@/graphql/mutations/exercise/preview.mutation\";\nimport { GET_EXERCISE_VALIDATORS_QUERY } from \"@/graphql/queries/exercise/get-exercise-validators.query\";\nimport { CHECK_EXERCISE_PREVIEW_MUTATION } from \"@/graphql/mutations/exercise/check-preview.mutation\";\nimport { GET_QUIZ_ALL_POINTS_QUERY } from \"@/graphql/queries/exercise/get-quiz-all-points.query\";\nimport { GET_EXERCISES_ADMIN_PAGINATION_QUERY } from \"@/graphql/queries/exercise/get-exercises-admin-pagination.query\";\nimport { GET_EXERCISES_HISTORY_PAGINATED_QUERY } from \"@/graphql/queries/exercise/get-exercises-history.query\";\nimport { GET_EXERCISES_PAGINATION_QUERY } from \"@/graphql/queries/exercise/get-exercises-pagination.query\";\nimport { RENEW_EXERCISE_AUDIO_MUTATION } from \"@/graphql/mutations/audio/renew-exercise-audio.mutation\";\nimport { UPDATE_AUDIO_MUTATION } from \"@/graphql/mutations/audio/update-audio.mutation\";\nimport { REMOVE_EXERCISE_AUDIO_MUTATION } from \"@/graphql/mutations/audio/remove-exercise-audio.mutation\";\nimport { CREATE_EXERCISE_AUDIO_MUTATION } from \"@/graphql/mutations/audio/create-exercise-audio.mutation\";\n\nconst exercise = {\n state: {\n itemsPerPage: 1,\n },\n getters: {\n getItemsPerPage(state) {\n return state.itemsPerPage;\n },\n },\n mutations: {\n setItemsPerPage(state, itemsPerPage) {\n state.itemsPerPage = itemsPerPage;\n },\n },\n actions: {\n async createExercise(\n _,\n {\n title,\n description,\n errorHint,\n quizId,\n order,\n points,\n isVocabulary,\n audioData,\n audioHidden,\n audioAutoplay,\n dragTheWords,\n fillInTheBlanks,\n findSynonym,\n findThePlace,\n markTheWords,\n multipleChoice,\n singleChoice,\n trueFalse,\n }\n ) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CREATE_EXERCISE_MUTATION,\n variables: {\n title,\n description,\n errorHint,\n quizId,\n order,\n points,\n isVocabulary,\n audioData,\n audioHidden,\n audioAutoplay,\n dragTheWords,\n fillInTheBlanks,\n findSynonym,\n findThePlace,\n markTheWords,\n multipleChoice,\n singleChoice,\n trueFalse,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async previewExercise(\n _,\n {\n dragTheWords,\n fillInTheBlanks,\n findSynonym,\n findThePlace,\n markTheWords,\n multipleChoice,\n singleChoice,\n trueFalse,\n }\n ) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: PREVIEW_EXERCISE_MUTATION,\n variables: {\n dragTheWords,\n fillInTheBlanks,\n findSynonym,\n findThePlace,\n markTheWords,\n multipleChoice,\n singleChoice,\n trueFalse,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async updateExercise(\n _,\n {\n id,\n title,\n description,\n errorHint,\n points,\n audioHidden,\n audioAutoplay,\n dragTheWords,\n fillInTheBlanks,\n findSynonym,\n findThePlace,\n markTheWords,\n multipleChoice,\n singleChoice,\n trueFalse,\n }\n ) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: UPDATE_EXERCISE_MUTATION,\n variables: {\n id,\n title,\n description,\n errorHint,\n points,\n audioHidden,\n audioAutoplay,\n dragTheWords,\n fillInTheBlanks,\n findSynonym,\n findThePlace,\n markTheWords,\n multipleChoice,\n singleChoice,\n trueFalse,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async checkExercisePreview(_, { data, answer, points, quizId }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CHECK_EXERCISE_PREVIEW_MUTATION,\n variables: {\n data,\n answer,\n points,\n quizId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getExerciseValidatorsQuery() {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_EXERCISE_VALIDATORS_QUERY,\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getQuizAllPointsQuery(_, { id }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_QUIZ_ALL_POINTS_QUERY,\n variables: { id },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getExerciseQuery(_, { id }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_EXERCISE_QUERY,\n variables: { id },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getExercisesAdminPaginated(\n _,\n { skip, take, orderBy, search, quizId, isVocabulary }\n ) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_EXERCISES_ADMIN_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n search,\n quizId,\n isVocabulary,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getExercisesPaginated(_, { skip, take, quizId }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_EXERCISES_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n quizId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getExercisesHistoryPaginated(\n _,\n { skip, take, quizHistoryId, showCorrectnessOnError }\n ) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_EXERCISES_HISTORY_PAGINATED_QUERY,\n variables: {\n skip,\n take,\n quizHistoryId,\n showCorrectnessOnError,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async deleteExercise(_, { id }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: DELETE_EXERCISE_MUTATION,\n variables: { id },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async changeOrderExercise(_, { first, second }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CHANGE_ORDER_EXERCISE_MUTATION,\n variables: { first, second },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async createExerciseAudio(_, { exerciseId, title, file }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CREATE_EXERCISE_AUDIO_MUTATION,\n variables: { exerciseId, title, file },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async renewExerciseAudio(_, { newAudio, oldAudio }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: RENEW_EXERCISE_AUDIO_MUTATION,\n variables: { oldAudio, newAudio },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async updateAudio(_, { id, title }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: UPDATE_AUDIO_MUTATION,\n variables: { id, title },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async removeExerciseAudio(_, { id }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: REMOVE_EXERCISE_AUDIO_MUTATION,\n variables: { id },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default exercise;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_NOTIFICATION_PAGINATION_QUERY = gql`\n query ($type: UserNotificationType, $skip: Int!, $take: Int!) {\n getCurrentUserNotifications(\n data: {\n type: $type\n pagination: { skip: $skip, take: $take }\n orderBy: [{ nulls: Last, direction: Desc, fieldName: \"created_at\" }]\n }\n ) {\n hasMore\n total\n items {\n id\n type\n action\n title\n description\n createdAt\n seenAt\n priorityAt\n priorityEndsAt\n cancelledAt\n interactedUsers {\n id\n firstName\n lastName\n profilePhotoX64 {\n fullUri\n }\n }\n lessonScheduleId\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const SET_USER_NOTIFICATIONS_SEEN = gql`\n mutation ($ids: [Int!]!) {\n setUserNotificationsSeen(data: { ids: $ids })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_BADGES_QUERY = gql`\n query {\n getUserBadges {\n connectionsCount\n messagesCount\n notificationBadges {\n type\n counts\n }\n urgentNotifications {\n id\n type\n action\n title\n description\n createdAt\n seenAt\n priorityAt\n priorityEndsAt\n cancelledAt\n interactedUsers {\n id\n firstName\n lastName\n profilePhotoX64 {\n fullUri\n }\n }\n lessonScheduleId\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { GET_USER_NOTIFICATION_PAGINATION_QUERY } from \"@/graphql/queries/user/notification/get-user-notification-pagination.query\";\nimport { SET_USER_NOTIFICATIONS_SEEN } from \"@/graphql/mutations/user/notification/set-user-notifications-seen.mutation\";\nimport { GET_USER_BADGES_QUERY } from \"@/graphql/queries/user/notification/get-user-badges.query\";\n\nconst notification = {\n state: {\n newMessageAudio: new Audio(require(\"@/assets/audio/new-message.wav\")),\n readMessageAudio: new Audio(require(\"@/assets/audio/read-message.wav\")),\n newNotificationAudio: new Audio(\n require(\"@/assets/audio/new-notification.mp3\")\n ),\n newConnectionAudio: new Audio(require(\"@/assets/audio/new-connection.wav\")),\n seenNotificationIds: [],\n urgentNotifications: [],\n messagesCount: null,\n connectionsCount: null,\n notificationBadges: null,\n },\n getters: {\n getSeenNotificationIds(state) {\n return state.seenNotificationIds;\n },\n getNotificationComputedBadges(state) {\n if (!state.badges) return { null: 0 };\n\n return state.badges.reduce(\n (accumulator, currentValue) => {\n accumulator.null += currentValue.counts;\n accumulator[currentValue.type] = currentValue.counts;\n\n return accumulator;\n },\n { null: 0 }\n );\n },\n getNotificationsCount(state) {\n return state.notificationsCount;\n },\n getMessagesCount(state) {\n return state.messagesCount;\n },\n getConnectionsCount(state) {\n return state.connectionsCount;\n },\n getUrgentNotifications(state) {\n return state.urgentNotifications;\n },\n },\n mutations: {},\n actions: {\n async playNewNotificationSound({ state }) {\n await state.newNotificationAudio.play().catch(() => {\n window.addEventListener(\n \"click\",\n async () => {\n await state.newNotificationAudio.play();\n },\n { once: true }\n );\n });\n },\n async playNewMessageSound({ state }) {\n await state.newMessageAudio.play().catch(() => {\n window.addEventListener(\n \"click\",\n async () => {\n await state.newConnectionAudio.play();\n },\n { once: true }\n );\n });\n },\n async playReadMessageSound({ state }) {\n await state.readMessageAudio.play().catch(() => {\n window.addEventListener(\n \"click\",\n async () => {\n await state.readMessageAudio.play();\n },\n { once: true }\n );\n });\n },\n async playNewConnectionSound({ state }) {\n await state.newConnectionAudio.play().catch(() => {\n window.addEventListener(\n \"click\",\n async () => {\n await state.newConnectionAudio.play();\n },\n { once: true }\n );\n });\n },\n async sendSeenNotificationIds({ state }) {\n if (!state.seenNotificationIds.length) return;\n\n const idsToSend = state.seenNotificationIds.splice(\n 0,\n state.seenNotificationIds.length\n );\n try {\n await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: SET_USER_NOTIFICATIONS_SEEN,\n fetchPolicy: \"no-cache\",\n variables: {\n ids: idsToSend,\n },\n });\n });\n } catch (e) {\n state.seenNotificationIds.push(...idsToSend);\n }\n },\n async setNotificationSeen({ state }, { id }) {\n ``;\n if (state.seenNotificationIds.includes(id)) return;\n state.seenNotificationIds.push(id);\n },\n async updateNotificationCountQuery({ state }) {\n // console.log(\"updateNotificationCountQuery\");\n const {\n notificationBadges,\n messagesCount,\n connectionsCount,\n urgentNotifications,\n } = await handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_BADGES_QUERY,\n fetchPolicy: \"no-cache\",\n });\n });\n\n // console.log(\"updateNotificationBadgesQuery\", response);\n\n state.messagesCount = messagesCount;\n state.connectionsCount = connectionsCount;\n state.notificationBadges = notificationBadges;\n state.urgentNotifications = urgentNotifications;\n },\n async getUserNotificationsQuery(_, { skip, take, type }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_NOTIFICATION_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n type,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default notification;\n","const lessonSchedule = {\n state: {},\n getters: {},\n mutations: {},\n};\n\nexport default lessonSchedule;\n","import gql from \"graphql-tag\";\n\nexport const GET_QUIZZES_QUERY = gql`\n query (\n $type: QuizType!\n $skip: Int!\n $take: Int!\n $search: String\n $orderBy: [OrderByInput!]\n $privacy: LessonQuizPrivacy\n $exceptLinked: Boolean\n $lessonId: Int\n $userId: Int!\n $categoryId: Int\n ) {\n getQuizzes(\n data: {\n categoryId: $categoryId\n orderBy: $orderBy\n pagination: { skip: $skip, take: $take }\n type: $type\n search: $search\n privacy: $privacy\n exceptLinked: $exceptLinked\n lessonId: $lessonId\n userId: $userId\n }\n ) {\n hasMore\n total\n items {\n id\n title\n coverUri\n createdAt\n privacy\n updatedAt\n author {\n id\n firstName\n lastName\n shortAbout\n profilePhotoX64 {\n fullUri\n }\n }\n authorId\n fork {\n id\n categoryId\n quizId\n userId\n createdAt\n }\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_LESSON_QUIZZES_QUERY = gql`\n query (\n $lessonId: Int!\n $skip: Int!\n $take: Int!\n $search: String\n $isVocabulary: Boolean\n $orderBy: [OrderByInput!]\n ) {\n getLessonQuizzes(\n data: {\n lessonId: $lessonId\n orderBy: $orderBy\n pagination: { skip: $skip, take: $take }\n search: $search\n isVocabulary: $isVocabulary\n }\n ) {\n hasMore\n total\n items {\n id\n title\n createdAt\n fork {\n id\n categoryId\n quizId\n userId\n createdAt\n }\n privacy\n author {\n id\n firstName\n lastName\n shortAbout\n profilePhotoX64 {\n fullUri\n }\n }\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const LINK_QUIZ_MUTATION = gql`\n mutation ($lessonId: Int!, $quizId: Int!) {\n linkQuiz(data: { lessonId: $lessonId, quizId: $quizId }) {\n quizId\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CHECK_QUIZ_EXERCISES_MUTATION = gql`\n mutation (\n $data: [CheckExerciseTypeInput!]!\n $quizId: Int!\n $nonRegisteredData: CheckExercisesNonRegisteredDataInput\n ) {\n checkQuizExercises(\n data: {\n data: $data\n quizId: $quizId\n nonRegisteredData: $nonRegisteredData\n }\n ) {\n id\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_QUIZ_HISTORY_PAGINATED_QUERY = gql`\n query (\n $skip: Int!\n $take: Int!\n $quizId: Int!\n $userId: Int\n $lessonScheduleId: Int\n $registered: Boolean\n ) {\n getQuizHistoryPaginated(\n data: {\n pagination: { skip: $skip, take: $take }\n quizId: $quizId\n userId: $userId\n registered: $registered\n lessonScheduleId: $lessonScheduleId\n }\n ) {\n hasMore\n total\n items {\n id\n createdAt\n earnedPoints\n maxPoints\n user {\n id\n firstName\n lastName\n }\n nonRegisteredUser {\n id\n telNumber\n fullName\n }\n }\n }\n }\n`;\n","import { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { toSnakeCase } from \"@/utils/string\";\nimport { GET_QUIZZES_QUERY } from \"@/graphql/queries/quiz/get-quizzes.query\";\nimport { GET_LESSON_QUIZZES_QUERY } from \"@/graphql/queries/quiz/get-lesson-quizzes.query\";\nimport { UNLINK_QUIZ_MUTATION } from \"@/graphql/mutations/quiz/unlink-quiz.mutation\";\nimport { LINK_QUIZ_MUTATION } from \"@/graphql/mutations/quiz/link-quiz.mutation\";\nimport { CHECK_QUIZ_EXERCISES_MUTATION } from \"@/graphql/mutations/quiz/check-quiz.mutation\";\nimport { GET_QUIZ_HISTORY_PAGINATED_QUERY } from \"@/graphql/queries/quiz/get-quiz-history-paginated.query\";\nimport { GET_QUIZ_HISTORY_QUERY } from \"@/graphql/queries/quiz/get-quiz-history.query\";\n\nconst quiz = {\n state: {},\n getters: {},\n mutations: {},\n actions: {\n async linkQuiz(_, { lessonId, quizId }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: LINK_QUIZ_MUTATION,\n variables: { lessonId, quizId },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async unlinkQuiz(_, { quizId, lessonId }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: UNLINK_QUIZ_MUTATION,\n variables: { quizId, lessonId },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async checkQuiz(_, { data, quizId, nonRegisteredData }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CHECK_QUIZ_EXERCISES_MUTATION,\n variables: {\n data,\n quizId,\n nonRegisteredData,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getQuizzes(\n _,\n {\n skip,\n take,\n orderBy,\n search,\n privacy,\n type,\n isVocabulary,\n exceptLinked,\n lessonId,\n userId,\n categoryId,\n }\n ) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_QUIZZES_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n search,\n privacy,\n type,\n isVocabulary,\n exceptLinked,\n lessonId,\n userId,\n categoryId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getLessonQuizzes(\n _,\n { skip, take, orderBy, search, privacy, lessonId, isVocabulary }\n ) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_LESSON_QUIZZES_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n search,\n privacy,\n lessonId,\n isVocabulary,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getQuizHistoryPaginated(\n _,\n { skip, take, quizId, userId, registered, lessonScheduleId }\n ) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_QUIZ_HISTORY_PAGINATED_QUERY,\n variables: {\n skip,\n take,\n quizId,\n userId,\n registered,\n lessonScheduleId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n async getQuizHistory(_, { quizHistoryId }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_QUIZ_HISTORY_QUERY,\n variables: {\n quizHistoryId,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default quiz;\n","import {\n getFromLocalStorage,\n setToLocalStorage,\n} from \"@/utils/local-storage.util\";\n\nconst STORE_KEY = \"lessonBoardStore\";\nconst lessonBoard = {\n state: {\n memory: getFromLocalStorage(STORE_KEY)\n ? JSON.parse(getFromLocalStorage(\"lessonBoardStore\"))\n : {\n tool: {},\n },\n },\n getters: {},\n mutations: {\n async saveMemory(state) {\n setToLocalStorage(STORE_KEY, JSON.stringify(state.memory));\n },\n },\n actions: {\n async lessonBoardSaveToToolMemory({ commit, state }, { key, value }) {\n state.memory.tool[key] = value;\n commit(\"saveMemory\");\n },\n async lessonBoardGetFromToolMemory({ state }, { key }) {\n return state.memory.tool[key];\n },\n async lessonBoardSaveToolPropertyToMemory(\n { commit, state },\n { toolKey, propertyKey, propertyValue }\n ) {\n state.memory.tool[toolKey][propertyKey] = propertyValue;\n commit(\"saveMemory\");\n },\n },\n};\n\nexport default lessonBoard;\n","const microphone = {\n state: {\n isLoading: false,\n device: {\n selected: null,\n items: [],\n },\n stream: null,\n audioAvailability: true,\n },\n getters: {\n getAudioStream(state) {\n return state.stream;\n },\n getAudioDevices(state) {\n return state.device;\n },\n getMicrophoneAudioAvailability(state) {\n return state.audioAvailability;\n },\n },\n actions: {\n resetAudioDevices({ state }) {\n state.device.selected = state.device.items[0].id;\n },\n async reloadAudioDevices({ state }) {\n state.device.items = [];\n\n const deviceInfos = await navigator.mediaDevices.enumerateDevices();\n for (const deviceInfo of deviceInfos) {\n const device = {\n id: deviceInfo.deviceId,\n label: deviceInfo.label,\n };\n\n switch (deviceInfo.kind) {\n case \"audioinput\":\n state.device.items.push(device);\n break;\n }\n }\n },\n async reloadAudioStream({ state }) {\n if (!state.audioAvailability) {\n state.stream = new MediaStream();\n return;\n }\n\n const constraints = {\n audio: state.audioAvailability\n ? {\n deviceId: state.device.selected.input\n ? { exact: state.device.selected.input }\n : undefined,\n }\n : false,\n video: false,\n };\n\n state.stream = await navigator.mediaDevices.getUserMedia(constraints);\n },\n async initializeAudioStream({ state, dispatch }) {\n state.isLoading = true;\n try {\n await dispatch(\"reloadAudioDevices\");\n await dispatch(\"resetAudioDevices\");\n await dispatch(\"reloadAudioStream\");\n } catch (e) {\n state.isLoading = false;\n throw e;\n }\n },\n async destroyAudioStream({ state }) {\n for (const track of state.stream.getTracks()) {\n track.stop();\n }\n\n state.stream = null;\n },\n async setAudioInputAvailability({ state, dispatch }, value) {\n state.audioAvailability = value;\n await dispatch(\"reloadAudioStream\");\n },\n },\n};\n\nexport default microphone;\n","import {\n getObjectFromLocalStorage,\n setObjectToLocalStorage,\n} from \"@/utils/local-storage.util\";\n\nconst streamVideo = {\n state: {\n usingProcesses: {\n mic: [],\n camera: [],\n screenShare: [],\n },\n isMicDeviceLoading: false,\n isCameraDeviceLoading: false,\n isScreenShareDeviceLoading: false,\n\n devices: {\n audio: {\n selected: {\n input: null,\n },\n input: [],\n },\n video: {\n selected: {\n input: null,\n },\n input: [],\n },\n },\n\n videoAvailability: true,\n audioAvailability: true,\n\n cameraVideoTrack: null,\n micAudioTrack: null,\n\n screenShareVideoTrack: null,\n screenShareAudioTrack: null,\n\n cameraDeviceInitError: null,\n micDeviceInitError: null,\n screenShareDeviceInitError: null,\n },\n getters: {\n getStreamVideoMicInitialized(state) {\n return state.usingProcesses.mic.length > 0;\n },\n getStreamVideoCameraInitialized(state) {\n return state.usingProcesses.camera.length > 0;\n },\n getStreamVideoScreenShareInitialized(state) {\n return state.usingProcesses.screenShare.length > 0;\n },\n getStreamVideoMicLoading(state) {\n return state.isMicDeviceLoading;\n },\n getStreamVideoCameraLoading(state) {\n return state.isCameraStreamLoading;\n },\n getStreamVideoScreenShareLoading(state) {\n return state.isScreenShareDeviceLoading;\n },\n getMicDeviceInitError(state) {\n return state.micDeviceInitError;\n },\n getCameraDeviceInitError(state) {\n return state.cameraDeviceInitError;\n },\n getScreenShareDeviceInitError(state) {\n return state.screenShareDeviceInitError;\n },\n getStreamVideoInputDevices(state) {\n return state.devices;\n },\n getStreamVideoAudioAvailability(state) {\n return state.audioAvailability;\n },\n getStreamVideoVideoAvailability(state) {\n return state.videoAvailability;\n },\n getStreamVideoCameraVideoTrack(state) {\n return state.cameraVideoTrack;\n },\n getStreamVideoMicAudioTrack(state) {\n return state.micAudioTrack;\n },\n getStreamVideoScreenShareVideoTrack(state) {\n return state.screenShareVideoTrack;\n },\n getStreamVideoScreenShareAudioTrack(state) {\n return state.screenShareAudioTrack;\n },\n },\n actions: {\n saveSelectedDevicesToLocalStore({ state }) {\n setObjectToLocalStorage(\"lessonInputDevicesSettings\", {\n selectedDevices: {\n audio: {\n available: state.audioAvailability,\n input: state.devices.audio.selected.input,\n },\n video: {\n available: state.videoAvailability,\n input: state.devices.video.selected.input,\n },\n },\n });\n },\n restoreSelectedDevicesFromLocalStore({ state }) {\n const data = getObjectFromLocalStorage(\"lessonInputDevicesSettings\");\n if (!data) {\n state.devices.audio.selected.input = state.devices.audio.input[0].id;\n state.devices.video.selected.input = state.devices.video.input[0].id;\n return;\n }\n\n state.devices.audio.selected.input = data.selectedDevices.audio.input;\n state.devices.video.selected.input = data.selectedDevices.video.input;\n state.audioAvailability = data.selectedDevices.audio.available;\n state.videoAvailability = data.selectedDevices.video.available;\n },\n async reloadInputDevices({ state }) {\n // console.log(\"[RUN] reloadInputDevices\");\n state.devices.audio.input = [];\n state.devices.video.input = [];\n\n const devicesInfo = await navigator.mediaDevices.enumerateDevices();\n for (const deviceInfo of devicesInfo) {\n const device = {\n id: deviceInfo.deviceId,\n label: deviceInfo.label,\n };\n\n switch (deviceInfo.kind) {\n case \"audioinput\":\n state.devices.audio.input.push(device);\n break;\n case \"videoinput\":\n state.devices.video.input.push(device);\n break;\n }\n }\n },\n async startAudioInputDevice({ state, dispatch }, processId) {\n // console.log(\n // \"[STARTING] startAudioInputDevice\",\n // processId,\n // state.usingProcesses.mic,\n // state.micAudioTrack\n // );\n\n if (processId && !state.usingProcesses.mic.includes(processId))\n state.usingProcesses.mic.push(processId);\n if (!state.audioAvailability) return;\n\n state.isMicDeviceLoading = true;\n\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: {\n deviceId: state.devices.audio.selected.input\n ? { exact: state.devices.audio.selected.input }\n : undefined,\n },\n video: false,\n });\n\n // Stop track first\n if (state.micAudioTrack) {\n // console.log(\n // \"[STOPPING TRACK] startAudioInputDevice\",\n // state.micAudioTrack\n // );\n state.micAudioTrack.stop();\n }\n\n if (stream.getAudioTracks().length) {\n stream\n .getAudioTracks()\n .forEach((track) => (state.micAudioTrack = track));\n } else {\n state.micAudioTrack = null;\n }\n\n // console.log(\n // \"[STARTED] startAudioInputDevice\",\n // processId,\n // state.usingProcesses.mic,\n // state.micAudioTrack\n // );\n } catch (e) {\n await dispatch(\"stopAudioInputDevice\", processId);\n state.audioAvailability = false;\n\n if (\n e.name === \"NotAllowedError\" ||\n e.name === \"PermissionDeniedError\"\n ) {\n state.micDeviceInitError = \"MIC_PERMISSION_ERROR\";\n } else {\n state.micDeviceInitError = \"MIC_UNAVAILABLE_ERROR\";\n }\n\n // console.log(\"MIC_UNAVAILABLE_ERROR\", e);\n }\n\n state.isMicDeviceLoading = false;\n },\n async stopAudioInputDevice({ state }, processId) {\n // console.log(\n // \"[STOPPING] stopAudioInputDevice\",\n // processId,\n // state.usingProcesses.mic,\n // state.micAudioTrack\n // );\n\n if (processId) {\n // Remove process ID\n const processIndex = state.usingProcesses.mic.indexOf(processId);\n if (processIndex > -1) state.usingProcesses.mic.splice(processIndex, 1);\n if (state.usingProcesses.mic.length > 0) return;\n }\n\n if (state.micAudioTrack) {\n state.micAudioTrack.stop();\n state.micAudioTrack = null;\n }\n\n state.micDeviceInitError = null;\n\n // console.log(\n // \"[STOPPED] stopAudioInputDevice\",\n // processId,\n // state.usingProcesses.mic,\n // state.micAudioTrack\n // );\n },\n async startCameraVideoInputDevice({ state, dispatch }, processId) {\n // console.log(\n // \"[STARTING] startCameraVideoInputDevice\",\n // processId,\n // state.usingProcesses.camera,\n // state.cameraVideoTrack\n // );\n\n if (processId && !state.usingProcesses.camera.includes(processId))\n state.usingProcesses.camera.push(processId);\n if (!state.videoAvailability) return;\n\n state.isCameraDeviceLoading = true;\n\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n video: {\n deviceId: state.devices.video.selected.input\n ? { exact: state.devices.video.selected.input }\n : undefined,\n },\n audio: false,\n });\n\n // Stop track first\n if (state.cameraVideoTrack) {\n // console.log(\n // \"[STOPPING TRACK] startCameraVideoInputDevice\",\n // state.cameraVideoTrack\n // );\n state.cameraVideoTrack.stop();\n }\n\n if (stream.getVideoTracks().length) {\n stream\n .getVideoTracks()\n .forEach((track) => (state.cameraVideoTrack = track));\n } else {\n state.cameraVideoTrack = null;\n }\n\n // console.log(\n // \"[STARTED] startCameraVideoInputDevice\",\n // processId,\n // state.usingProcesses.camera,\n // state.cameraVideoTrack\n // );\n } catch (e) {\n await dispatch(\"stopCameraVideoInputDevice\", processId);\n state.videoAvailability = false;\n\n if (\n e.name === \"NotAllowedError\" ||\n e.name === \"PermissionDeniedError\"\n ) {\n state.cameraDeviceInitError = \"CAMERA_PERMISSION_ERROR\";\n } else {\n state.cameraDeviceInitError = \"CAMERA_UNAVAILABLE_ERROR\";\n }\n\n // console.log(\"CAMERA_UNAVAILABLE_ERROR\", e);\n }\n\n state.isCameraDeviceLoading = false;\n },\n async stopCameraVideoInputDevice({ state }, processId) {\n // console.log(\n // \"[STOPPING] stopCameraVideoInputDevice\",\n // processId,\n // state.usingProcesses.camera,\n // state.cameraVideoTrack\n // );\n\n if (processId) {\n // Remove process ID\n const processIndex = state.usingProcesses.camera.indexOf(processId);\n if (processIndex > -1)\n state.usingProcesses.camera.splice(processIndex, 1);\n if (state.usingProcesses.camera.length > 0) return;\n }\n\n if (state.cameraVideoTrack) {\n state.cameraVideoTrack.stop();\n state.cameraVideoTrack = null;\n }\n\n state.cameraDeviceInitError = null;\n\n // console.log(\n // \"[STOPPED] stopCameraVideoInputDevice\",\n // processId,\n // state.usingProcesses.camera,\n // state.cameraVideoTrack\n // );\n },\n // Setting device availability\n async setCameraVideoInputAvailability(\n { state, dispatch },\n { value, processId }\n ) {\n // console.log(\"[SET=AVAILABILITY] setCameraVideoInputAvailability\", value);\n\n state.videoAvailability = value;\n if (value) await dispatch(\"startCameraVideoInputDevice\", processId);\n else await dispatch(\"stopCameraVideoInputDevice\", processId);\n\n // Save state\n await dispatch(\"saveSelectedDevicesToLocalStore\");\n },\n async setMicAudioInputAvailability(\n { state, dispatch },\n { value, processId }\n ) {\n // console.log(\"[SET=AVAILABILITY] setMicAudioInputAvailability\");\n\n state.audioAvailability = value;\n if (value) await dispatch(\"startAudioInputDevice\", processId);\n else await dispatch(\"stopAudioInputDevice\", processId);\n\n // Save state\n await dispatch(\"saveSelectedDevicesToLocalStore\");\n },\n // Setting selected input device\n async setMicAudioInputDevice({ state, dispatch }, value) {\n // console.log(\"[CHANGE=DEVICE] setMicAudioInputDevice\");\n\n state.devices.audio.selected.input = value;\n await dispatch(\"saveSelectedDevicesToLocalStore\");\n\n await dispatch(\"stopAudioInputDevice\", null);\n await dispatch(\"startAudioInputDevice\", null);\n },\n async setCameraVideoInputDevice({ state, dispatch }, value) {\n // console.log(\"[CHANGE=DEVICE] setCameraVideoInputDevice\");\n state.devices.video.selected.input = value;\n await dispatch(\"saveSelectedDevicesToLocalStore\");\n\n await dispatch(\"stopCameraVideoInputDevice\", null);\n await dispatch(\"startCameraVideoInputDevice\", null);\n },\n async startScreenShareCapture({ state, dispatch }, processId) {\n // console.log(\n // \"[STARTING] startScreenShareCapture\",\n // state.usingProcesses.screenShare\n // );\n if (!state.usingProcesses.screenShare.includes(processId))\n state.usingProcesses.screenShare.push(processId);\n\n state.isScreenShareDeviceLoading = true;\n // console.log(\n // \"[STARTED] startScreenShareCapture\",\n // state.usingProcesses.screenShare\n // );\n\n try {\n const stream = await navigator.mediaDevices.getDisplayMedia({\n audio: {\n sampleRate: 44100,\n },\n video: {\n displaySurface: \"monitor\",\n cursor: \"always\",\n },\n });\n\n const onStop = () => {\n dispatch(\"stopScreenShareCapture\");\n };\n stream.oninactive = onStop;\n stream.onended = onStop;\n\n stream\n .getVideoTracks()\n .forEach((track) => (state.screenShareVideoTrack = track));\n\n stream\n .getAudioTracks()\n .forEach((track) => (state.screenShareAudioTrack = track));\n } catch (e) {\n await dispatch(\"stopScreenShareCapture\");\n state.screenShareDeviceInitError = \"SCREEN_SHARE_UNAVAILABLE_ERROR\";\n // console.log(\"SCREEN_SHARE_UNAVAILABLE_ERROR\", e);\n }\n\n state.isScreenShareDeviceLoading = false;\n },\n async stopScreenShareCapture({ state }, processId) {\n // console.log(\n // \"[STOPPING] startScreenShareCapture\",\n // state.usingProcesses.screenShare\n // );\n // Remove process ID\n const processIndex = state.usingProcesses.screenShare.indexOf(processId);\n if (processIndex > -1)\n state.usingProcesses.screenShare.splice(processIndex, 1);\n if (state.usingProcesses.screenShare.length > 0) return;\n\n // console.log(\n // \"[STOPPED] startScreenShareCapture\",\n // state.usingProcesses.screenShare\n // );\n\n if (state.screenShareVideoTrack) {\n state.screenShareVideoTrack.stop();\n state.screenShareVideoTrack = null;\n }\n\n if (state.screenShareAudioTrack) {\n state.screenShareAudioTrack.stop();\n state.screenShareAudioTrack = null;\n }\n\n state.screenShareDeviceInitError = null;\n },\n },\n};\n\nexport default streamVideo;\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport authentication from \"@/store/modules/authentication\";\nimport currentUser from \"@/store/modules/current-user\";\nimport loading from \"@/store/modules/loading\";\nimport user from \"@/store/modules/user\";\nimport connection from \"@/store/modules/connection\";\nimport chat from \"@/store/modules/chat\";\nimport activityHistory from \"@/store/modules/activity-history\";\nimport lesson from \"@/store/modules/lesson\";\nimport exercise from \"@/store/modules/exercise\";\nimport notification from \"@/store/modules/notification\";\nimport lessonSchedule from \"@/store/modules/lesson-schedule\";\nimport quiz from \"@/store/modules/quiz\";\nimport lessonBoard from \"@/store/modules/lesson-board\";\nimport microphone from \"@/store/modules/microphone\";\nimport lessonSocket from \"@/store/modules/lesson-socket\";\nimport streamVideo from \"@/store/modules/stream-video\";\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n state: {},\n getters: {},\n mutations: {},\n actions: {},\n modules: {\n authentication,\n currentUser,\n user,\n loading,\n connection,\n chat,\n activityHistory,\n notification,\n lesson,\n exercise,\n // camera,\n lessonSchedule,\n quiz,\n lessonBoard,\n microphone,\n lessonSocket,\n streamVideo,\n },\n});\n","const translateErrorMessage = (i18n, errorKey) =>\n i18n.te(`errorMessages.${errorKey}`)\n ? i18n.t(`errorMessages.${errorKey}`)\n : errorKey;\n\nfunction translateGraphQLError(i18n, message) {\n return `${translateErrorMessage(i18n, message)}`;\n}\n\nexport function gqlErrorToast(\n toast,\n i18n,\n gqlError,\n except = [],\n notShowToast = false,\n isExceptPartial = false\n) {\n const excluded = {};\n const handledErrors = [];\n let hasError = false;\n\n const handleErrors = (errors) => {\n for (let i = 0; i < errors.length; i++) {\n const e = errors[i];\n const exceptFound = except.find((message) =>\n isExceptPartial ? e.message.includes(message) : message === e.message\n );\n if (exceptFound) {\n excluded[exceptFound] = e;\n } else {\n hasError = true;\n const handledError = translateGraphQLError(\n i18n,\n e.extensions?.response?.message ?? e.message\n );\n handledErrors.push(handledError);\n if (!notShowToast) toast.error(handledError);\n }\n }\n };\n\n if (gqlError.networkError) {\n if (gqlError.networkError.result)\n handleErrors(gqlError.networkError.result.errors);\n else handleErrors([gqlError.networkError]);\n } else if (gqlError.graphQLErrors) {\n handleErrors(gqlError.graphQLErrors);\n } else {\n toast.error(gqlError.message);\n }\n\n return {\n excluded,\n hasError,\n handledErrors,\n };\n}\n","import { gqlErrorToast } from \"@/utils/graphql-errors\";\n\nexport default {\n install(Vue, { toast, i18n }) {\n /**\n *\n * @param {function(): Promise} promise\n * @param errorCb\n * @param {{[errorCode: string]: (error: any) => any }} except\n * @param notShowToast\n * @param isExceptPartial\n */\n Vue.prototype.$showGqlError = async function (\n promise,\n errorCb = () => {},\n except = {},\n notShowToast = false,\n isExceptPartial = false\n ) {\n try {\n return await (typeof promise === \"function\" ? promise() : promise);\n } catch (e) {\n const exceptMessages = Object.keys(except);\n const { excluded, handledErrors, hasError } = gqlErrorToast(\n toast,\n i18n,\n e,\n exceptMessages,\n notShowToast,\n isExceptPartial\n );\n\n // console.log(\"GGGGG\", handledErrors);\n for (const key of Object.keys(excluded)) {\n except[key]?.(excluded[key]);\n }\n // throw e\n errorCb(e, { handledErrors, hasError });\n }\n };\n },\n};\n","/* eslint-disable no-console */\n\nimport { register } from \"register-service-worker\";\n\nif (\n process.env.NODE_ENV === \"production\"\n // || process.env.NODE_ENV === \"development\"\n) {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n \"App is being served from cache by a service worker.\\n\" +\n \"For more details, visit https://goo.gl/AFskqB\"\n );\n },\n registered() {\n console.log(\"Service worker has been registered.\");\n },\n cached() {\n console.log(\"Content has been cached for offline use.\");\n },\n updatefound() {\n console.log(\"New content is downloading.\");\n },\n updated(registration) {\n console.log(\"New content is available; please refresh.\");\n\n if (registration.waiting) {\n registration.waiting.postMessage({ type: \"SKIP_WAITING\" });\n registration.waiting.addEventListener(\"statechange\", (event) => {\n if (event.target.state === \"activated\") {\n window.location.reload();\n }\n });\n }\n },\n offline() {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n },\n error(error) {\n console.error(\"Error during service worker registration:\", error);\n },\n });\n}\n","export const roundFilter = (value, decimals = 0) => {\n if (!value) return 0; // Handle undefined/null values\n\n // Convert value to number and check if it's NaN\n value = parseFloat(value);\n if (isNaN(value)) return value;\n\n // Round the number with specified decimals\n return value.toFixed(decimals);\n};\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport vuetify from \"./plugins/vuetify\";\n\nimport router from \"./router\";\nimport store from \"./store\";\nimport VueToast from \"vue-toast-notification\";\nimport VueApollo from \"vue-apollo\";\nimport ShowGqlError from \"@/plugins/show-gql-error\";\nimport VueMoment from \"vue-moment\";\nimport VueSanitize from \"vue-sanitize\";\n\n// Css styles\nimport \"./assets/styles/styles.scss\";\nimport \"./assets/styles/wysiwyg.scss\";\nimport \"./assets/styles/landing/global.scss\";\nimport \"vue-toast-notification/dist/theme-sugar.css\";\nimport { i18n } from \"@/plugins/i18n\";\nimport \"./registerServiceWorker\";\n\nimport AOS from \"aos\";\nimport \"aos/dist/aos.css\";\nimport { roundFilter } from \"@/filters/math.filter\";\nimport { apolloProvider } from \"@/plugins/apollo/apollo\";\n\n// install the vue plugin\nVue.use(VueApollo);\nVue.use(VueToast, {\n position: \"bottom-right\",\n duration: 5000,\n});\nVue.use(VueMoment);\n\nVue.use(VueSanitize, {});\n\nVue.filter(\"round\", roundFilter);\n\nVue.config.productionTip = false;\n\nVue.use(ShowGqlError, {\n toast: Vue.prototype.$toast,\n i18n,\n});\n\nnew Vue({\n created() {\n AOS.init();\n },\n router,\n store,\n vuetify,\n apolloProvider,\n i18n,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","export const errorByKeyLaterInitMixin = {\n data() {\n return {\n errorsByKey: {},\n };\n },\n methods: {\n setErrorsByKey(key, handledErrors) {\n this.$set(this.errorsByKey, key, handledErrors);\n },\n clearErrorsByKey(key) {\n this.setErrorsByKey(key, []);\n },\n initErrorByKey(key) {\n this.setErrorsByKey(key, []);\n },\n initErrorByKeys(keys) {\n for (const key of keys) {\n this.initErrorByKey(key);\n }\n },\n },\n computed: {\n getErrorsByKey() {\n return (key) => {\n if (key in this.errorsByKey) return this.errorsByKey[key];\n return [];\n };\n },\n hasErrorsByKey() {\n return (key) => {\n return this.getErrorsByKey(key).length > 0;\n };\n },\n },\n};\n","export const loadingByKeyLaterInitMixin = {\n data() {\n return {\n loadingByKey: {},\n };\n },\n methods: {\n setLoadingByKey(key, value) {\n this.$set(this.loadingByKey, key, value);\n },\n initLoadingByKey(key, defaultValue = false) {\n this.setLoadingByKey(key, defaultValue);\n },\n initLoadingByKeys(keys) {\n for (const key of keys) {\n this.initLoadingByKey(key);\n }\n },\n },\n computed: {\n getLoadingByKey() {\n return (key) => {\n if (key in this.loadingByKey) return this.loadingByKey[key];\n return false;\n };\n },\n },\n};\n","export const loggerMixin = (topic) => ({\n data() {\n return {\n logger: new Logger(topic),\n };\n },\n});\n\nexport class Logger {\n constructor(topic) {\n this.topic = topic;\n }\n\n // eslint-disable-next-line no-unused-vars\n debug(section, ...args) {\n // console.log(`[DEBUG] [${this.topic}] [${section}]`, ...args);\n }\n\n // eslint-disable-next-line no-unused-vars\n warn(section, ...args) {\n // console.log(`[WARN] [${this.topic}] [${section}]`, ...args);\n }\n}\n","import { loadingByKeyLaterInitMixin } from \"@/mixins/loading-by-key-later-init.mixin\";\nimport { errorByKeyLaterInitMixin } from \"@/mixins/error-by-key-later-init.mixin\";\n\nexport const paginationByKeyLaterMixin = {\n mixins: [loadingByKeyLaterInitMixin, errorByKeyLaterInitMixin],\n data() {\n return {\n paginationContextByKey: {},\n };\n },\n destroyed() {},\n computed: {\n getPaginationContext() {\n return (key) => {\n if (key in this.paginationContextByKey)\n return this.paginationContextByKey[key];\n return null;\n };\n },\n },\n methods: {\n initPaginationByKey(\n key,\n query,\n filters,\n requiredFilters = [],\n options = {\n itemsPerPage: 20,\n }\n ) {\n this.initLoadingByKey(key);\n this.initErrorByKey(key);\n\n this.$set(this.paginationContextByKey, key, {\n query,\n requiredFilters,\n frozen: false,\n items: [],\n total: 0,\n pages: 0,\n hasMore: false,\n extraData: null,\n options: { filters, page: 1, ...options, sortBy: [] },\n requiredFiltersValid: function () {\n // console.log(\n // \"requiredFiltersValid\",\n // key,\n // this.frozen,\n // requiredFilters\n // );\n if (this.frozen) return false;\n if (!requiredFilters.length) return true;\n\n return requiredFilters.every((fieldName) => {\n if (typeof fieldName === \"function\") {\n return fieldName(this.options.filters);\n }\n\n return this.options.filters[fieldName] !== null;\n });\n },\n // eslint-disable-next-line no-unused-vars\n onChangeItems: (items) => {},\n changeItemsPerPage: function (value) {\n this.options.itemsPerPage = value;\n },\n firstLoad: false,\n loadPage: async () => {\n // console.log(\"trying to load page\", key);\n const context = this.paginationContextByKey[key];\n if (!context.requiredFiltersValid()) return;\n\n // console.log(\"trying to load page2\", key);\n // console.log(\"loading\", key);\n this.setLoadingByKey(key, true);\n await this.$showGqlError(\n async () => {\n const orderBy = this.paginationContextByKey[key].options.sortBy\n ?.length\n ? this.paginationContextByKey[key].options.sortBy.map(\n (fieldName, index) => {\n return {\n direction: this.paginationContextByKey[key].options\n ?.sortDesc[index]\n ? \"Desc\"\n : \"Asc\",\n fieldName,\n nulls: \"Last\",\n };\n }\n )\n : [];\n\n const paginationResult = await this.$store.dispatch(query, {\n skip:\n this.paginationContextByKey[key].options.page *\n this.paginationContextByKey[key].options.itemsPerPage -\n this.paginationContextByKey[key].options.itemsPerPage,\n take: this.paginationContextByKey[key].options.itemsPerPage,\n orderBy,\n ...this.paginationContextByKey[key].options.filters,\n });\n\n if (options.appendToItems) {\n if (options.reversedItems) {\n this.paginationContextByKey[key].items.push(\n ...paginationResult.items.reverse()\n );\n } else {\n this.paginationContextByKey[key].items.push(\n ...paginationResult.items\n );\n }\n } else if (options.prependToItems) {\n if (options.reversedItems) {\n this.paginationContextByKey[key].items.unshift(\n ...paginationResult.items.reverse()\n );\n } else {\n this.paginationContextByKey[key].items.unshift(\n ...paginationResult.items\n );\n }\n } else {\n this.paginationContextByKey[key].items = paginationResult.items;\n }\n\n setTimeout(() => {\n this.paginationContextByKey[key].onChangeItems(\n this.paginationContextByKey[key].items\n );\n });\n\n this.paginationContextByKey[key].firstLoad = true;\n\n // console.log(\n // \"items changed\",\n // key,\n // this.paginationContextByKey[key].items.length\n // );\n\n this.paginationContextByKey[key].pages = Math.ceil(\n paginationResult.total / options.itemsPerPage\n );\n this.paginationContextByKey[key].total = paginationResult.total;\n this.paginationContextByKey[key].hasMore =\n paginationResult.hasMore;\n this.paginationContextByKey[key].extraData =\n paginationResult.extraData;\n\n this.setLoadingByKey(key, false);\n this.clearErrorsByKey(key);\n },\n (_, { handledErrors }) => {\n this.setErrorsByKey(key, handledErrors);\n this.setLoadingByKey(key, false);\n },\n {},\n true\n );\n },\n updatePage: async function (page) {\n // console.log(\"updatePage\", key, page);\n if (page === this.options.page) return;\n this.options.page = page;\n await this.loadPage();\n },\n loadMore: async function () {\n this.options.page++;\n await this.loadPage();\n },\n resetPage: async function () {\n // console.log(\"resetPage\", key);\n this.items = [];\n this.options.page = 1;\n await this.loadPage();\n },\n clearPage: async function () {\n // console.log(\"resetPage\", key);\n this.items = [];\n this.options.page = 1;\n },\n onFilterChange: async function (key, value) {\n // console.log(\"onFilterChange\", key, value);\n this.options.page = 1;\n this.options.filters[key] = value;\n },\n onFiltersChange: async function (keyValues) {\n this.frozen = true;\n for (const [key, value] of Object.entries(keyValues)) {\n this.options.filters[key] = value;\n }\n\n this.frozen = false;\n this.options.page = 1;\n await this.loadPage();\n },\n });\n\n setTimeout(() => {\n this.$watch(\n `paginationContextByKey.${key}.options.filters`,\n async () => {\n console.log(\n \"filter change watcher\",\n key,\n this.paginationContextByKey[key].options\n );\n const paginationContext = this.paginationContextByKey[key];\n if (!paginationContext) return;\n\n await paginationContext.clearPage();\n\n if (!paginationContext.requiredFiltersValid()) return;\n await paginationContext.resetPage();\n\n if (options.onFiltersChange)\n options.onFiltersChange(paginationContext.options.filters);\n },\n {\n deep: true,\n }\n );\n });\n\n this.paginationContextByKey[key].loadPage();\n },\n destroyPaginationByKey(key) {\n this.$set(this.paginationContextByKey, key, null);\n },\n },\n};\n","import gql from \"graphql-tag\";\n\nexport const REFRESH_TOKEN_MUTATION = gql`\n mutation ($refreshToken: String!) {\n refreshUserToken(data: { token: $refreshToken }) {\n accessToken\n refreshToken\n user {\n id\n role\n email\n firstName\n lastName\n }\n }\n }\n`;\n","import { setContext } from \"apollo-link-context\";\nimport {\n getFromLocalStorage,\n setToLocalStorage,\n} from \"@/utils/local-storage.util\";\nimport { onError } from \"apollo-link-error\";\nimport { ApolloClient } from \"apollo-client\";\nimport { ApolloLink, Observable } from \"apollo-link\";\nimport { InMemoryCache } from \"apollo-cache-inmemory\";\nimport VueApollo from \"vue-apollo\";\nimport { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { REFRESH_TOKEN_MUTATION } from \"@/graphql/mutations/refresh-token.mutation\";\nimport { clearLoginData } from \"@/store/modules/authentication\";\nimport { createUploadLink } from \"apollo-upload-client\";\n\n// Implementing custom cache strategy\nconst requestCache = new Map();\nconst CACHE_DURATION = 2000; // 2 sec\nconst CLEANUP_INTERVAL = 60000; // 1 min\n\nfunction cleanupCache() {\n const now = Date.now();\n for (const [key, { timestamp }] of requestCache.entries()) {\n if (now - timestamp > CACHE_DURATION) {\n requestCache.delete(key);\n }\n }\n}\n\n// Set an interval to clean up the cache periodically\nsetInterval(cleanupCache, CLEANUP_INTERVAL);\n\nclass CustomApolloClient extends ApolloClient {\n async query(options) {\n if (options.fetchPolicy === \"repeatable-query-cache\") {\n const key = JSON.stringify(options);\n const now = Date.now();\n\n if (requestCache.has(key)) {\n const { timestamp, response } = requestCache.get(key);\n if (now - timestamp < CACHE_DURATION) {\n return response;\n }\n }\n\n const response = await super.query(options);\n requestCache.set(key, { timestamp: now, response });\n\n return response;\n }\n\n return super.query(options);\n }\n}\n\nconst parseHeaders = (rawHeaders) => {\n const headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n const preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, \" \");\n preProcessedHeaders.split(/\\r?\\n/).forEach((line) => {\n const parts = line.split(\":\");\n const key = parts.shift().trim();\n if (key) {\n const value = parts.join(\":\").trim();\n headers.append(key, value);\n }\n });\n return headers;\n};\nimport { i18n } from \"@/plugins/i18n\";\n\nexport const uploadFetch = (url, options) =>\n new Promise((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.onload = () => {\n const opts = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || \"\"),\n };\n opts.url =\n \"responseURL\" in xhr\n ? xhr.responseURL\n : opts.headers.get(\"X-Request-URL\");\n const body = \"response\" in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, opts));\n };\n xhr.onerror = () => {\n reject(new TypeError(\"Network request failed\"));\n };\n xhr.ontimeout = () => {\n reject(new TypeError(\"Network request failed\"));\n };\n xhr.open(options.method, url, true);\n\n Object.keys(options.headers).forEach((key) => {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n\n if (xhr.upload) {\n xhr.upload.onprogress = options.onProgress;\n }\n\n options.onAbortPossible(() => {\n xhr.abort();\n });\n\n xhr.send(options.body);\n });\n\nconst customFetch = (uri, options) => {\n if (options.useUpload) {\n return uploadFetch(uri, options);\n }\n return fetch(uri, options);\n};\n\nconst httpLink = createUploadLink({\n uri: process.env.VUE_APP_GRAPHQL_HTTP,\n fetch: customFetch,\n});\n\nconst authLink = setContext(async (ctx, { headers }) => {\n const token = getFromLocalStorage(\"accessToken\");\n return {\n headers: {\n ...headers,\n \"Accept-Language\": i18n.locale,\n ...(token ? { Authorization: `Bearer ${token}` } : {}),\n },\n };\n});\n\nconst errorLink = onError(\n ({ graphQLErrors, networkError, operation, forward }) => {\n if (graphQLErrors) {\n graphQLErrors.forEach(({ message, locations, path }) =>\n // eslint-disable-next-line\n console.error(\n `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`\n )\n );\n }\n // eslint-disable-next-line\n if (networkError) console.error(`[Network error]: ${networkError}`);\n\n // User access token has expired\n if (graphQLErrors && graphQLErrors[0].message === \"Unauthorized\") {\n // We assume we have both tokens needed to run the async request\n const accessToken = getFromLocalStorage(\"accessToken\");\n const refreshToken = getFromLocalStorage(\"refreshToken\");\n if (refreshToken && accessToken) {\n // Let's refresh token through async request\n return new Observable((observer) => {\n handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: REFRESH_TOKEN_MUTATION,\n variables: { refreshToken },\n });\n })\n .then(({ accessToken }) => {\n setToLocalStorage(\"accessToken\", accessToken);\n operation.setContext(({ headers = {} }) => ({\n headers,\n }));\n })\n .then(() => {\n const subscriber = {\n next: observer.next.bind(observer),\n error: observer.error.bind(observer),\n complete: observer.complete.bind(observer),\n };\n\n // Retry last failed request\n forward(operation).subscribe(subscriber);\n })\n .catch((error) => {\n clearLoginData();\n // No refresh or client token available, we force user to login\n observer.error(error);\n });\n });\n }\n }\n }\n);\n\n// create the apollo client\nexport const apolloClient = new CustomApolloClient({\n link: ApolloLink.from([errorLink, authLink.concat(httpLink)]),\n cache: new InMemoryCache(),\n});\n\nexport const apolloProvider = new VueApollo({\n defaultClient: apolloClient,\n});\n","import Vue from \"vue\";\nimport VueI18n from \"vue-i18n\";\nimport { getObjectFromLocalStorage } from \"@/utils/local-storage.util\";\n\nVue.use(VueI18n);\n\nconst localeMap = {\n \"en-US\": \"en\",\n \"ru-RU\": \"ru\",\n};\n\nfunction getFallbackLanguage() {\n const languages = navigator.languages || [navigator.language];\n const existingLanguage = languages.find((lang) => lang in localeMap);\n return existingLanguage ? localeMap[existingLanguage] : \"en\";\n}\n\nconst defaultLocale =\n getObjectFromLocalStorage(\"lang\") || getFallbackLanguage();\n\nexport const i18n = new VueI18n({\n locale: defaultLocale, // set locale\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n messages: {\n en: require(\"../i18n/en\"),\n ru: require(\"../i18n/ru\"),\n },\n});\n","import gql from \"graphql-tag\";\n\nexport const LOGIN_MUTATION = gql`\n mutation ($email: String!, $password: String!) {\n loginUser(data: { email: $email, password: $password }) {\n accessToken\n refreshToken\n user {\n id\n role\n email\n firstName\n lastName\n }\n loginHistoryId\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const LOGOUT_MUTATION = gql`\n mutation ($refreshToken: String!) {\n logoutUser(data: { refreshToken: $refreshToken })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const RESET_USER_PASSWORD_MUTATION = gql`\n mutation ($email: String!) {\n resetUserPassword(data: { email: $email })\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CHECK_RESET_USER_PASSWORD_TOKEN_MUTATION = gql`\n mutation ($token: String!, $code: String!) {\n checkResetUserPasswordToken(data: { token: $token, code: $code }) {\n email\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const CONFIRM_RESET_USER_PASSWORD_MUTATION = gql`\n mutation ($token: String!, $code: String!, $password: String!) {\n confirmResetUserPassword(\n data: { token: $token, code: $code, password: $password }\n )\n }\n`;\n","import {\n getFromLocalStorage,\n setToLocalStorage,\n} from \"@/utils/local-storage.util\";\nimport { LOGIN_MUTATION } from \"@/graphql/mutations/login.mutation\";\nimport { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { LOGOUT_MUTATION } from \"@/graphql/mutations/logout.mutation\";\nimport { RESET_USER_PASSWORD_MUTATION } from \"@/graphql/mutations/reset-user-password.mutation\";\nimport { CHECK_RESET_USER_PASSWORD_TOKEN_MUTATION } from \"@/graphql/mutations/check-reset-user-password-token.mutation\";\nimport { CONFIRM_RESET_USER_PASSWORD_MUTATION } from \"@/graphql/mutations/confirm-reset-user-password.mutation\";\n\nexport const clearLoginData = () => {\n // deleteFromLocalStorage(\"accessToken\");\n // deleteFromLocalStorage(\"refreshToken\");\n // deleteFromLocalStorage(\"user\");\n localStorage.clear();\n};\n\nconst authentication = {\n state: {\n accessToken: getFromLocalStorage(\"accessToken\"),\n refreshToken: getFromLocalStorage(\"refreshToken\"),\n },\n getters: {\n getAccessToken(state) {\n return state.accessToken;\n },\n },\n mutations: {\n setAccessAndRefreshTokens(state, { accessToken, refreshToken }) {\n state.accessToken = setToLocalStorage(\"accessToken\", accessToken);\n state.refreshToken = setToLocalStorage(\"refreshToken\", refreshToken);\n },\n logOut() {\n this.commit(\"clearCurrentUser\");\n clearLoginData();\n },\n },\n actions: {\n async loginUser({ commit }, credentials) {\n const result = await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: LOGIN_MUTATION,\n variables: credentials,\n });\n });\n\n commit(\"setCurrentUser\", result.user);\n commit(\"setAccessAndRefreshTokens\", {\n accessToken: result.accessToken,\n refreshToken: result.refreshToken,\n });\n },\n async logoutUser({ commit, state }) {\n await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: LOGOUT_MUTATION,\n variables: {\n refreshToken: state.refreshToken ?? \"\",\n },\n });\n });\n\n commit(\"logOut\");\n },\n resetUserPassword(_, { email }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: RESET_USER_PASSWORD_MUTATION,\n variables: { email },\n });\n });\n },\n checkResetUserPasswordToken(_, { token, code }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CHECK_RESET_USER_PASSWORD_TOKEN_MUTATION,\n variables: { token, code },\n });\n });\n },\n confirmResetUserPassword(_, { token, code, password }) {\n return handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: CONFIRM_RESET_USER_PASSWORD_MUTATION,\n variables: { token, code, password },\n });\n });\n },\n },\n};\n\nexport default authentication;\n","import gql from \"graphql-tag\";\n\nexport const GET_CURRENT_USER_QUERY = gql`\n query {\n getCurrentUser {\n id\n firstName\n lastName\n showOnRecommendationPage\n shortAbout\n longAbout\n telNumber\n role\n interests {\n id\n title\n icon\n }\n specialities {\n id\n title\n }\n email\n profilePhotoX64 {\n photoSize\n fullUri\n }\n profilePhotoX128 {\n photoSize\n fullUri\n }\n profilePhotoX256 {\n photoSize\n fullUri\n }\n profilePhotoX512 {\n photoSize\n fullUri\n }\n reviewQuestions {\n id\n title\n }\n balance {\n balance\n }\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_CURRENT_USER_BALANCE_QUERY = gql`\n query {\n getCurrentUserBalance {\n balance\n }\n }\n`;\n","import gql from \"graphql-tag\";\n\nexport const GET_USER_BALANCE_TRANSACTIONS_PAGINATION_QUERY = gql`\n query (\n $fromDate: DateString\n $toDate: DateString\n $type: UserBalanceTransactionType\n $skip: Int!\n $take: Int!\n $orderBy: [OrderByInput!]\n ) {\n getCurrentUserBalanceTransactions(\n data: {\n type: $type\n fromDate: $fromDate\n toDate: $toDate\n pagination: { skip: $skip, take: $take }\n orderBy: $orderBy\n }\n ) {\n total\n hasMore\n items {\n id\n balanceBefore\n balanceAfter\n sum\n type\n createdAt\n }\n }\n }\n`;\n","import {\n getFromLocalStorage,\n setToLocalStorage,\n} from \"@/utils/local-storage.util\";\nimport { handleGqlResponseBody } from \"@/utils/apollo.util\";\nimport { GET_CURRENT_USER_QUERY } from \"@/graphql/queries/user/get-current-user.query\";\nimport { GET_CURRENT_USER_BALANCE_QUERY } from \"@/graphql/queries/user/get-current-user-balance.query\";\nimport { GET_USER_BALANCE_TRANSACTIONS_PAGINATION_QUERY } from \"@/graphql/queries/user/get-user-balance-transactions-pagination.query\";\nimport { toSnakeCase } from \"@/utils/string\";\n\nconst currentUser = {\n state: {\n user: getFromLocalStorage(\"user\")\n ? JSON.parse(getFromLocalStorage(\"user\"))\n : null,\n balance: null,\n },\n getters: {\n getCurrentUser(state) {\n return state.user;\n },\n getCurrentUserBalance(state) {\n return state.balance;\n },\n },\n mutations: {\n setCurrentUser(state, user) {\n setToLocalStorage(\"user\", JSON.stringify(user));\n state.user = user;\n },\n setCurrentUserBalance(state, balance) {\n state.balance = balance;\n },\n clearCurrentUser(state) {\n state.user = null;\n },\n },\n actions: {\n updateCurrentUserEmail({ state, commit }, email) {\n commit(\"setCurrentUser\", {\n ...state.user,\n email,\n });\n },\n updateCurrentUserPhotos({ commit, state }, photos) {\n const profileData =\n photos.length === 0\n ? Object.keys(state.user).reduce((acc, curr) => {\n if (curr.startsWith(\"profilePhotoX\")) {\n acc[curr] = null;\n }\n return acc;\n }, {})\n : Object.assign(\n state.user,\n photos.reduce((acc, curr) => {\n acc[`profilePhotoX${curr.photoSize}`] = curr;\n return acc;\n }, {})\n );\n\n commit(\"setCurrentUser\", {\n ...state.user,\n ...profileData,\n });\n\n return profileData;\n },\n async updateCurrentUser({ commit }) {\n const result = await handleGqlResponseBody((apollo) => {\n return apollo.mutate({\n mutation: GET_CURRENT_USER_QUERY,\n });\n });\n\n commit(\"setCurrentUser\", result);\n return result;\n },\n async updateCurrentUserBalance({ commit }) {\n const result = await handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_CURRENT_USER_BALANCE_QUERY,\n });\n });\n\n commit(\"setCurrentUserBalance\", result.balance);\n },\n async getCurrentUserBalanceTransactions(\n _,\n { skip, take, orderBy, fromDate, toDate, type }\n ) {\n orderBy = orderBy.map((o) => ({\n ...o,\n fieldName: toSnakeCase(o.fieldName),\n }));\n\n return handleGqlResponseBody((apollo) => {\n return apollo.query({\n query: GET_USER_BALANCE_TRANSACTIONS_PAGINATION_QUERY,\n variables: {\n skip,\n take,\n orderBy,\n fromDate,\n toDate,\n type,\n },\n fetchPolicy: \"no-cache\",\n });\n });\n },\n },\n};\n\nexport default currentUser;\n","import { io } from \"socket.io-client\";\nimport { EventEmitter } from \"eventemitter3\";\nimport { Logger } from \"@/mixins/logger.mixin\";\n\nexport const SOCKET_BOARD_ELEMENT_CHANGE_TYPE = {\n Add: 1,\n Delete: 2,\n Update: 3,\n};\n\nconst lessonSocket = {\n state: {\n socket: null,\n eventTransport: new EventEmitter(),\n changedBoardElementsQueue: [],\n isChangedBoardElementsSending: false,\n chatMessageQueue: [],\n isChatMessageQueueSending: false,\n logger: new Logger(\"STORE:lessonSocket\"),\n },\n getters: {\n getLessonEventTransport(state) {\n return state.eventTransport;\n },\n },\n mutations: {\n async onLessonInit(\n state,\n { wsServerUri, boardId, accessKey, accessToken }\n ) {\n state.logger.debug(\"onLessonInit\");\n\n if (state.socket) {\n return;\n }\n state.socket = io(wsServerUri, {\n autoConnect: true,\n withCredentials: true,\n auth: {\n accessToken,\n boardId,\n accessKey,\n },\n transports: [\"websocket\"],\n }).connect();\n\n state.socket.onAny((event, ...args) => {\n state.logger.debug(\"onLessonInit\", \"socket\", \"onAny\", event);\n\n state.eventTransport.emit(`socket.${event}`, ...args);\n });\n\n state.socket.on(\"connect\", () => {\n state.logger.debug(\"onLessonInit\", \"socket\", \"connect\");\n\n state.eventTransport.emit(`socket.state.connect`, {});\n });\n\n state.socket.on(\"disconnect\", () => {\n state.logger.debug(\"onLessonInit\", \"socket\", \"disconnect\");\n\n state.eventTransport.emit(`socket.state.disconnect`);\n });\n\n state.socket.on(\"unauthorized\", () => {\n state.logger.debug(\"onLessonInit\", \"socket\", \"unauthorized\");\n\n state.eventTransport.emit(`socket.state.unauthorized`);\n });\n\n // Events from event transport\n state.eventTransport.on(\"toSocket\", (eventName, ...args) => {\n // state.logger.debug('onLessonInit', 'toSocket', eventName, ...args)\n\n state.socket.emit(eventName, ...args);\n });\n\n const sendElementsChange = () => {\n state.logger.debug(\"onLessonInit\", \"sendElementsChange\");\n\n if (state.isChangedBoardElementsSending) return;\n if (state.changedBoardElementsQueue.length === 0) return;\n\n state.isChangedBoardElementsSending = true;\n const elementChange = state.changedBoardElementsQueue.shift();\n\n state.socket.emit(\"lessonBoard.elementsChange\", elementChange, () => {\n state.isChangedBoardElementsSending = false;\n sendElementsChange();\n });\n };\n\n state.socket.on(\"lessonBoard.joined\", () => {\n state.logger.debug(\"onLessonInit\", \"socket\", \"joined\");\n\n sendElementsChange();\n });\n\n state.eventTransport.on(\n \"custom.client.lessonBoard.elementsChange\",\n function (changeData) {\n state.changedBoardElementsQueue.push(changeData);\n sendElementsChange();\n }\n );\n\n // Chat\n const sendChatMessages = () => {\n console.log(\"sendChatMessages\");\n if (state.isChatMessageQueueSending) return;\n if (state.chatMessageQueue.length === 0) return;\n\n state.isChatMessageQueueSending = true;\n const messageData = state.chatMessageQueue[0];\n\n console.log(\"sending\");\n state.socket.emit(\n \"lessonSchedule.chat.newMessage\",\n messageData,\n (result) => {\n console.log(\"res\", result);\n state.eventTransport.emit(\n \"custom.lessonSchedule.chat.report\",\n result\n );\n state.chatMessageQueue.shift();\n\n state.isChatMessageQueueSending = false;\n sendChatMessages();\n }\n );\n };\n\n state.socket.on(\"lessonSchedule.joined\", () => {\n sendChatMessages();\n });\n\n state.eventTransport.on(\n \"custom.client.lessonSchedule.chat.sendMessage\",\n function (messageData) {\n state.chatMessageQueue.push(messageData);\n sendChatMessages();\n }\n );\n },\n onLessonDestroy(state) {\n state.logger.debug(\"onLessonInit\", \"onLessonDestroy\");\n\n state.socket?.disconnect();\n state.socket = null;\n },\n },\n};\n\nexport default lessonSocket;\n","import { apolloClient } from \"@/plugins/apollo/apollo\";\n\nexport const handleGqlResponseBody = async (successCb) => {\n const response = await successCb(apolloClient);\n return response.data[Object.keys(response.data)[0]];\n};\n","export const NUMERIC_CHARACTERS = \"0123456789\";\nexport const ALPHABETICAL_UPPERCASE_CHARACTERS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\nexport const ALPHABETICAL_LOWERCASE_CHARACTERS = \"abcdefghijklmnopqrstuvwxyz\";\nexport const ALPHA_NUMERIC_CHARACTERS = `${ALPHABETICAL_UPPERCASE_CHARACTERS}${ALPHABETICAL_LOWERCASE_CHARACTERS}${NUMERIC_CHARACTERS}`;\n","import {\n ALPHA_NUMERIC_CHARACTERS,\n NUMERIC_CHARACTERS,\n} from \"@/utils/constants.util\";\nimport { stringHash } from \"@/utils/string.util\";\n\nexport const numberArrayGenerator = (max = 0, withoutZero = true) => {\n const array = Array.from(Array(max + 1).keys());\n return withoutZero ? array.slice(1) : array;\n};\n\nexport function baseGenerator(chars, length) {\n let result = \"\";\n for (let i = length; i > 0; --i) {\n result += chars[Math.floor(Math.random() * chars.length)];\n }\n return result;\n}\n\nexport function chatRandomTmpIdGenerator(length = 32) {\n return baseGenerator(ALPHA_NUMERIC_CHARACTERS, length);\n}\n\nexport function intercomActionCodeGenerator(length = 8) {\n return baseGenerator(NUMERIC_CHARACTERS, length);\n}\n\nexport function alphaNumericStringGenerator(length) {\n return baseGenerator(NUMERIC_CHARACTERS, length);\n}\n\nconst AVATAR_COLORS = [\n \"#1ABC9C\", // Turquoise\n \"#16A085\", // Green Sea\n \"#2ECC71\", // Emerald\n \"#27AE60\", // Nephritis\n \"#3498DB\", // Peter River\n \"#2980B9\", // Belize Hole\n \"#9B59B6\", // Amethyst\n \"#8E44AD\", // Wisteria\n \"#34495E\", // Wet Asphalt\n \"#2C3E50\", // Midnight Blue\n \"#F1C40F\", // Sun Flower\n \"#F39C12\", // Orange\n \"#E67E22\", // Carrot\n \"#D35400\", // Pumpkin\n \"#E74C3C\", // Alizarin\n \"#C0392B\", // Pomegranate\n \"#BDC3C7\", // Silver\n \"#95A5A6\", // Concrete\n \"#7F8C8D\", // Asbestos\n \"#FF5733\", // Radience Orange\n \"#C70039\", // Radical Red\n \"#900C3F\", // Dark Red\n \"#581845\", // Dark Purple\n \"#6C3483\", // Studio Purple\n \"#1F618D\", // Royal Blue\n \"#117864\", // Forest Green\n \"#B7950B\", // Gold\n \"#A04000\", // Burnt Orange\n \"#873600\", // Chocolate\n \"#641E16\", // Dark Brown\n \"#A569BD\", // Light Purple\n \"#7D3C98\", // Medium Purple\n \"#148F77\", // Dark Sea Green\n \"#117A65\", // Sea Green\n \"#229954\", // Spring Green\n \"#45B39D\", // Light Sea Green\n \"#5DADE2\", // Sky Blue\n \"#3498DB\", // Medium Blue\n \"#717D7E\", // Dark Silver\n \"#424949\", // Charcoal\n \"#2980B9\", // Deep Blue\n \"#D35400\", // Pumpkin\n \"#1ABC9C\", // Light Turquoise\n \"#117864\", // Forest Green\n \"#2980B9\", // Belize Hole\n \"#D4AC0D\", // Yellow\n \"#7D3C98\", // Medium Purple\n \"#45B39D\", // Light Sea Green\n \"#34495E\", // Wet Asphalt\n \"#2C3E50\", // Midnight Blue\n];\n\nexport function randomAvatarColor() {\n return AVATAR_COLORS[Math.floor(Math.random() * AVATAR_COLORS.length)];\n}\n\nexport function getAvatarColor(fullName) {\n return AVATAR_COLORS[Math.abs(stringHash(fullName)) % AVATAR_COLORS.length];\n}\n\nconst REVIEW_QUESTION_COLORS = [\n \"#FF6F61\", // Coral\n \"#6B5B95\", // Purple\n \"#88B04B\", // Olive Green\n \"#92A8D1\", // Light Blue\n \"#F9A65A\", // Orange\n \"#FFCC5C\", // Yellow\n \"#F3B4A2\", // Peach\n \"#C1C6C8\", // Light Grey\n \"#D5AAFF\", // Lavender\n \"#FFABAB\", // Soft Pink\n \"#FFC3A0\", // Pastel Peach\n \"#D4E157\", // Lime Green\n \"#B39DDB\", // Light Purple\n \"#FF8A65\", // Salmon\n \"#CE93D8\", // Light Lilac\n \"#F57C00\", // Deep Orange\n \"#C62828\", // Red\n \"#0288D1\", // Blue\n \"#00897B\", // Teal\n \"#D32F2F\", // Red\n \"#7B1FA2\", // Purple\n \"#C2185B\", // Pink\n \"#F57F17\", // Amber\n \"#5C6BC0\", // Blue Grey\n \"#FBC02D\", // Yellow\n \"#00796B\", // Teal\n \"#43A047\", // Green\n \"#5C6F7A\", // Slate\n \"#D32F2F\", // Deep Red\n \"#C2185B\", // Pink\n \"#1E88E5\", // Blue\n \"#7B1FA2\", // Purple\n \"#7B1FA2\", // Purple\n \"#B71C1C\", // Dark Red\n \"#F06292\", // Pink\n \"#7B1FA2\", // Purple\n \"#0288D1\", // Blue\n \"#388E3C\", // Green\n \"#F9A825\", // Golden\n \"#F57F17\", // Amber\n \"#8E24AA\", // Dark Purple\n \"#D81B60\", // Pink\n \"#8E24AA\", // Dark Purple\n \"#F57F17\", // Amber\n \"#FF6F61\", // Coral\n \"#FF8A65\", // Salmon\n \"#FFB74D\", // Orange\n];\n\nexport function getReviewQuestionColor(id) {\n return REVIEW_QUESTION_COLORS[id % REVIEW_QUESTION_COLORS.length];\n}\n","export function getFromLocalStorage(key) {\n return localStorage.getItem(key);\n}\n\nexport function setToLocalStorage(key, value) {\n localStorage.setItem(key, value);\n return value;\n}\n\nexport function setObjectToLocalStorage(key, value) {\n const obj = JSON.stringify(value);\n localStorage.setItem(key, obj);\n return obj;\n}\n\nexport function getObjectFromLocalStorage(key) {\n const data = localStorage.getItem(key);\n if (!data) return null;\n return JSON.parse(data);\n}\n\nexport function deleteFromLocalStorage(key) {\n localStorage.removeItem(key);\n}\n","export function toZPad(value, zeros = 2) {\n return `${value}`.padStart(zeros, \"0\");\n}\n\nexport function cutValue(value, to) {\n return `${value.substring(0, to)}...`;\n}\n\nexport function toSnakeCase(value) {\n const regex = new RegExp(/(?=[A-Z])/, \"g\");\n if (!regex.test(value)) return value;\n const splitValue = value.split(regex);\n return splitValue.join(\"_\").toLowerCase();\n}\n\nexport function hasContent(node) {\n for (let i = 0; i < node.childNodes.length; i++) {\n const child = node.childNodes[i];\n\n if (child.nodeType === Node.TEXT_NODE && child.textContent.trim() !== \"\") {\n return true;\n } else if (child.nodeName === \"VIDEO\") {\n return true;\n } else if (child.nodeName === \"IMG\") {\n return true;\n } else if (child.nodeType === Node.ELEMENT_NODE) {\n return hasContent(child);\n }\n }\n}\n","export function stringHash(val) {\n let hash = 0,\n i,\n chr;\n if (val.length === 0) return hash;\n for (i = 0; i < val.length; i++) {\n chr = val.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0; // Convert to 32bit integer\n }\n\n return hash;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"125\":\"ac5b76f3\",\"286\":\"bc9abba5\",\"573\":\"a0ca4312\",\"667\":\"ceb429cb\",\"910\":\"562b453d\",\"945\":\"b63c6731\",\"964\":\"9e9e8d72\",\"968\":\"468a7bd3\",\"976\":\"011bcdce\",\"1389\":\"fd7a7554\",\"1414\":\"91106e5c\",\"1851\":\"fc370726\",\"1911\":\"4bcac258\",\"1965\":\"7abe8d9b\",\"1989\":\"dc0d5e0e\",\"2093\":\"f3df4133\",\"2409\":\"a46ab469\",\"2437\":\"98bfc191\",\"2443\":\"915f3b78\",\"2498\":\"e37840f2\",\"2612\":\"ac1379ea\",\"2881\":\"16a1e197\",\"3113\":\"baba0cec\",\"3179\":\"a5ed019b\",\"3318\":\"14114adf\",\"3364\":\"31ecff94\",\"3413\":\"464f323b\",\"3743\":\"e6b83af9\",\"3795\":\"4c2fc486\",\"3872\":\"ea903399\",\"3928\":\"55d3aadd\",\"4135\":\"395a972a\",\"4137\":\"56a198b9\",\"4144\":\"b6694fc4\",\"4151\":\"4cb010dc\",\"4218\":\"1a10e175\",\"4229\":\"2bf303c9\",\"4235\":\"e2de2878\",\"4268\":\"a2d77791\",\"4465\":\"9180c5a9\",\"4508\":\"7d07f0b0\",\"4538\":\"1e3f805d\",\"4564\":\"e8437927\",\"5137\":\"ade2a91d\",\"5366\":\"b57e79a4\",\"5469\":\"260f2e4d\",\"5644\":\"ac9b0e7f\",\"5782\":\"faf11370\",\"5881\":\"723a91b7\",\"5885\":\"5ceb097a\",\"5901\":\"c5d7c0dc\",\"5927\":\"9bbcc1fb\",\"6024\":\"7f4c7466\",\"6170\":\"9bb9376a\",\"6200\":\"1fc2f430\",\"6263\":\"d4bce6d3\",\"6281\":\"7980a3d6\",\"6318\":\"7b888775\",\"6341\":\"5f5b97d5\",\"6452\":\"3040b052\",\"6467\":\"7d64d98d\",\"7174\":\"452a194d\",\"7425\":\"081945da\",\"7741\":\"cb9bf08c\",\"7790\":\"7cddf54b\",\"7916\":\"25e5b80a\",\"7951\":\"4af82d9e\",\"8351\":\"c615eea1\",\"8503\":\"a8f28e37\",\"8512\":\"82ee08f1\",\"8520\":\"dd731491\",\"8523\":\"ff8b2ed1\",\"8682\":\"26a82118\",\"8752\":\"c628f6ca\",\"8817\":\"dc2a2dec\",\"8888\":\"757ffcd5\",\"8961\":\"e92d87db\",\"8981\":\"28e6f0b5\",\"9137\":\"816f33a1\",\"9354\":\"bf0540b6\",\"9410\":\"1fffb155\",\"9496\":\"54043c02\",\"9726\":\"c09bf8f8\",\"9815\":\"71aba768\",\"9854\":\"cb1f7dcc\",\"9861\":\"a42ac40c\",\"9887\":\"b132e0b2\",\"9968\":\"731f6c99\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"286\":\"4dfe5481\",\"573\":\"473d45db\",\"945\":\"72f36761\",\"976\":\"86228f57\",\"1414\":\"659b0d11\",\"1911\":\"45eeb921\",\"1965\":\"08808948\",\"2409\":\"1766c858\",\"2881\":\"c772a7fc\",\"3364\":\"b1e7c23e\",\"3743\":\"86228f57\",\"3872\":\"77e39f93\",\"4135\":\"b641f239\",\"4137\":\"c918bb0b\",\"4151\":\"8eaf303e\",\"4268\":\"f29a4d0c\",\"4465\":\"86228f57\",\"4508\":\"3bca183e\",\"4538\":\"77e39f93\",\"5782\":\"08bb89cd\",\"5885\":\"86228f57\",\"6170\":\"f0a7968c\",\"6263\":\"978863bf\",\"6318\":\"a8643d00\",\"6341\":\"b1e7c23e\",\"6467\":\"d9f0b360\",\"7174\":\"b1e7c23e\",\"7790\":\"ac3d05db\",\"7951\":\"710ac9a6\",\"8351\":\"5ceb704b\",\"8682\":\"5d54683e\",\"8888\":\"8eaf303e\",\"8961\":\"ec5ff280\",\"8981\":\"735a9fbf\",\"9137\":\"a8643d00\",\"9354\":\"cbad9b6f\",\"9410\":\"9c590aad\",\"9496\":\"bc92b6a0\",\"9815\":\"8b7e247d\",\"9854\":\"6ab9cafc\",\"9861\":\"736bcbe3\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"skypestudy-web:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"286\":1,\"573\":1,\"945\":1,\"976\":1,\"1414\":1,\"1911\":1,\"1965\":1,\"2409\":1,\"2881\":1,\"3364\":1,\"3743\":1,\"3872\":1,\"4135\":1,\"4137\":1,\"4151\":1,\"4268\":1,\"4465\":1,\"4508\":1,\"4538\":1,\"5782\":1,\"5885\":1,\"6170\":1,\"6263\":1,\"6318\":1,\"6341\":1,\"6467\":1,\"7174\":1,\"7790\":1,\"7951\":1,\"8351\":1,\"8682\":1,\"8888\":1,\"8961\":1,\"8981\":1,\"9137\":1,\"9354\":1,\"9410\":1,\"9496\":1,\"9815\":1,\"9854\":1,\"9861\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkskypestudy_web\"] = self[\"webpackChunkskypestudy_web\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(74848); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["staticClass","attrs","_c","_vm","params","staticRenderFns","render","components","AvatarComponent","computed","mapGetters","currentUser","component","this","_self","height","short","_e","name","props","type","Number","required","default","Boolean","hasError","class","key","domProps","on","errors","Array","reload","Function","fillContainer","fillWidth","fillHeight","hasReloadButton","isLoading","afterLoad","watch","$nextTick","style","avatarColor","size","AvatarInnerComponent","profileImage","Object","firstName","String","lastName","first","grouped","data","getAvatarColor","fullUri","_s","charAt","ref","customColor","size_","user","defaultText","profileImageKey","firstItem","fullName","color","mounted","setTimeout","$refs","avatar","$el","clientWidth","apply","model","callback","isVisible","expression","notification","action","USER_NOTIFICATION_ACTIONS","Lesson","LessonScheduled","x","$emit","methods","close","id","join","$router","push","lessonScheduleId","UrgentNotificationLessonTypeLessonScheduledAction","description","UrgentNotificationOtherTypeAction","UrgentNotificationOtherType","UrgentNotificationLessonType","USER_NOTIFICATION_TYPES","value","open","$store","dispatch","notificationId","shouldBeMarkedAsSeen","seenAt","console","log","randomAvatarColor","Other","Welcome","USER_ROLE","ADMIN","INSTRUCTOR","STUDENT","CREATE_EXERCISE_AUDIO_MUTATION","gql","REMOVE_EXERCISE_AUDIO_MUTATION","RENEW_EXERCISE_AUDIO_MUTATION","UPDATE_AUDIO_MUTATION","CHANGE_ORDER_EXERCISE_MUTATION","CHECK_EXERCISE_PREVIEW_MUTATION","CREATE_EXERCISE_MUTATION","DELETE_EXERCISE_MUTATION","PREVIEW_EXERCISE_MUTATION","UPDATE_EXERCISE_MUTATION","CHANGE_ORDER_LESSON_ATTACHMENT_MUTATION","CREATE_LESSON_ATTACHMENT_MUTATION","CREATE_LESSON_MUTATION","DELETE_LESSON_ATTACHMENT_MUTATION","DELETE_LESSON_MUTATION","UPDATE_LESSON_ATTACHMENT_MUTATION","UPDATE_LESSON_MUTATION","UNLINK_QUIZ_MUTATION","GET_SELF_USER_CONNECTION_COUNTS_QUERY","GET_USER_CONNECTIONS_HISTORY_PAGINATION_QUERY","GET_USER_CONNECTIONS_PAGINATION_QUERY","GET_EXERCISE_QUERY","GET_LESSON_QUERY","GET_QUIZ_HISTORY_QUERY","GET_USER_REVIEWS_PAGINATION_QUERY","GET_USER_MATCH_PAGINATION_QUERY","module","exports","title","serviceWorker","NEW_VERSION_AVAILABLE","content","INSTALL_RECOMMENDATION","iosSteps","install","autoMessages","CONNECT","BOOK_LESSON","validators","minValue","maxValue","minArrayValue","maxArrayValue","passwordMustMatch","invalidEmail","maxLength","selectAtLeastOne","mustSelect","optionalPrefix","errorMessages","LESSON_NOT_FOUND","REQUIRED_DRAGGABLE_MARKED_SYMBOL","REQUIRED_DRAGGABLE_MARKED_SYMBOL_MIN_1","REQUIRED_FIELD_MARKED_SYMBOL","REQUIRED_FIELD_MARKED_SYMBOL_MIN_1","REQUIRED_SYNONYM_MARKED_SYMBOL","REQUIRED_REAL_SYNONYM_MARKED_SYMBOL","REQUIRED_FAKE_SYNONYM_MARKED_SYMBOL","SYNONYM_MARKED_SYMBOL_MUST_BE_1","REAL_SYNONYM_MARKED_SYMBOL_MUST_BE_1","REQUIRED_FAKE_SYNONYM_MARKED_SYMBOL_MIN_1","REQUIRED_REAL_PLACE_MARKED_SYMBOL","REQUIRED_FAKE_PLACE_MARKED_SYMBOL","REAL_PLACE_MARKED_SYMBOL_MUST_BE_1","REQUIRED_FAKE_PLACE_MARKED_SYMBOL_MIN_1","REQUIRED_CORRECT_OR_WRONG_MARKED_SYMBOL","REQUIRED_CORRECT_OR_WRONG_MARKED_SYMBOL_MIN_1","USER_EMAIL_ALREADY_CREATED","INVALID_PERMISSIONS","pages","common","profile","balance","visitProfile","profileSettings","logout","message","connect","joinToConnect","removeConnection","pending","acceptInvitation","declineInvitation","filters","cancel","add","share","repost","repostWithYourThoughts","send","submit","save","unsave","like","unlike","comment","likes","comments","login","signUp","create","update","edit","reset","delete","loading","loadMore","oops","copied","searchAnyPerson","typeAnyPersonsName","noMatchingUsers","searchForUsers","seeAllResults","search","show","showMore","showLess","untitled","unnamed","copyLink","preview","moveUp","moveDown","fork","unfork","actions","tabs","main","home","myNetwork","lessons","messages","materials","notifications","download","uploading","next","done","new","rename","back","category","saved","categories","newTitle","editTitle","addCategory","form","linkToShare","select","selected","nItemsSelected","more","feed","placeholder","noFeedsFound","post","photoOrVideo","addMaterial","repostDescription","copyLinkToPost","selectUsersToSend","commentPlaceholder","replyPlaceholder","noCommentsAddedYet","commentNow","loadMoreComments","reply","replyingTo","viewMoreReplies","viewReplies","mediaEditor","upload","selectAFileToBegin","sharePhotoOrVideoInYourPost","uploadFromYourDevice","dragYourFilesHere","dropYourFileHere","dropYourFilesHere","leftContainerDescription","aboutUs","iAmAStudent","iAmATeacher","promo","student","howEffectiveWasLesson","submitGrade","filterData","languageYouWantToLearn","chooseLanguage","priceForLesson","chooseQuality","showResult","modules","voiceRecorder","cameraInitialization","cameraSettings","audio","video","microphone","camera","cameraNotVisibleDescription","skills","userCard","perHour","review","hadNLessonsTogether","noReviewsFound","lessonPrice","studyObjectives","query","label","noInstructorsFound","all","instructors","students","interests","teaches","speaks","specialities","textbooks","signIn","yourEmail","password","forgotYourPassword","signUpTitle","header","signInTitle","instructor","email","restorePassword","newPassword","rememberPasswordTitle","otpDescription","newPasswordDescription","successDescription","registration","registerAs","teacher","speak","teach","learn","criteria","teachLabel","speakLabel","learnLabel","criteriaLabel","youRegisteredSuccessfully","learnBasics","talkWithPeople","forKids","improveProficiency","doBusiness","prepareForExam","studentReviewQuestions","structure","shortTitle","optionsDescription","punctuality","capability","practice","responsibility","independence","allSkills","timeManagement","listeningToStudent","approach","userInterestGroup","healthSport","goingOutEntertainment","hobbiesEducation","userInterest","running","workout","volleyball","cycling","chess","martialArts","basketball","football","hockey","swimming","diving","extremeSports","formula1","meditation","yoga","filmTv","theatre","eatingOut","museums","concerts","shopping","gaming","boardGames","traveling","hiking","humor","business","finance","management","music","space","history","pets","dancing","photography","singing","arts","cars","motorcycles","cooking","architecture","reading","science","psychology","ecology","technologies","fashion","politics","writing","design","philosophy","medicine","celebrities","volunteering","news","personalGrowth","language","english","russian","kyrgyz","kazakh","uzbek","turkmen","armenian","passwordRecovery","enterYourEmail","rememberYourPassword","instructionDescription","goToLoginScreen","passwordRecoveryConfirmation","invalidResetTokenDescription","goToPasswordRecoveryScreen","enterNewPassword","confirmYourNewPassword","yourPasswordSuccessfullyChanged","myConnections","activityHistory","schedule","myMaterials","savedMaterials","lessonsHistory","quizzesHistory","detalization","photo","cover","nConnections","nStudents","nInstructors","connection","invited","cancelInvitation","ignore","connected","connections","emptyDescription","about","teachingObjectives","learningObjectives","contactExchange","telNumber","hint","exchangeContacts","modal","informationSentSuccessfully","callYourself","call","prices","addMore","publications","shareYourExpertise","shareYourExpertiseDescription","posts","reputation","overallTrust","basedOnNLessonsAndNTestimonials","whyYouCanTrustThisData","startBuildingYourReputationDescription","reputationComingSoonDescription","reviews","emptySelfDescription","nReviews","completedNLessons","startCollectingTestimonialsDescription","noTestimonialsYet","noTestimonialsYetDescription","readPrevious","readNext","seeUserAllTestimonials","certificates","organization","issuedMonth","issuedYear","credentialId","credentialUrl","media","deletionConfirmation","item","issued","showDocument","showCredential","nCount","longAbout","profilePhoto","instructorDescription","studentDescription","contacts","aboutYou","headline","teachingLanguage","learningLanguage","speakingLanguages","verificationSentDescription","changeEmail","languageLevel","speakLanguages","oldPassword","repeatPassword","currentEmail","newEmail","showOnRecommendationPage","shortAbout","targetLanguage","quickProfileUpdate","updateSuccess","letsStart","notificationsManagement","long","lesson","other","lessonsManagement","upcomingLessons","pastLessons","newLesson","startInstantLesson","scheduleLesson","currentLessons","emptyStartingLessonsInstructor","emptyStartingLessonsStudent","scheduledItem","noParticipants","andNParticipants","live","details","lessonWasCancelled","reason","joinNow","reschedule","userXLeftLessonAt","userXCancelledLessonAt","editParticipants","additionalSettings","participants","emptyParticipants","addParticipants","startsAt","duration","items","rules","quizzes","price","commonPrice","notes","cancelSchedule","selectUsers","endOfActivities","noActivities","previewAlert","button","networkManagement","invitations","myInvitations","userConnections","noConnectionsYet","noConnectionFoundForYourRequest","pendingSharedContacts","noPendingSharedContacts","markAsRead","manageSharedContacts","pendingInvitations","manageInvitations","manageMyConnections","noPendingInvitations","preferences","account","groups","profileInformation","contact","signInAndSecurity","security","loggingOut","dateRange","createdAt","in","out","balanceBefore","balanceAfter","sum","noHistoryFound","groupedItemTitle","today","yesterday","thisWeek","thisMonth","thisYear","earlier","createdLesson","scheduledLesson","startedLesson","with","createdQuiz","finishedQuiz","and","fileManager","author","whiteboard","creating","updating","choose","attachmentDeletionConfirmation","audioDeletionConfirmation","mainInfo","attachments","vocabulary","asVocabulary","itemsPerPage","points","nonRegisteredUser","nonRegisteredUserTelNumber","backToMain","backToLessons","documents","exercises","sharingSettings","owned","forked","lessonsList","myLessons","authorizeToAccessBoard","noLessonsFound","noDescriptionAddedYet","addDescription","editDescription","quiz","exercisesPerPageHint","types","exercise","quizzesList","backToQuiz","backToHistory","numberOfExercises","maxPoints","myQuizzes","linkedQuizzes","linkedVocabulary","newQuiz","linking","quizUF","unlinkConfirmation","navigation","setFlag","unsetFlag","submitConfirmation","noAnswerExercises","weAreSorryQuizNotFound","nonRegistered","allUsers","registeredUsers","nonRegisteredUsers","self","editAdditionalSettings","authorizeToAccessHistory","noQuizzesFound","noQuizHistoriesFound","noAnyExercises","noAnyVocabulary","noAnswer","detailsAreNotAvailable","dragTheWords","adminDescription","draggable","markSelected","unmarkSelected","dragTheWordsImage","fillInTheBlanks","or","anyChar","anyText","addAnotherOption","field","fillInTheBlanksImage","findSynonym","markMainSynonymSelected","markRealSynonymSelected","markFakeSynonymSelected","synonym","real","fake","findThePlace","insertFakePlace","markRealPlaceSelected","markTheWords","correct","wrong","markCorrectSelected","markWrongSelected","multipleChoice","singleChoice","trueFalse","true","false","answer","text","chooseImage","descriptionAudio","answerAudio","attachedAudio","audioHint","hideAudio","audioAutoplay","answerOptions","selectCorrectAnswers","selectCorrectAnswer","errorHint","addOption","total","nExercises","nVocabularies","nPoints","addExercise","selectExerciseType","newVocabulary","linkExercisesFromQuiz","linkVocabulary","searchLabel","goBack","editing","showCorrectnessOnError","countPartialPts","nOfxPts","record","audioNotSelectedOrRecorded","privacy","public","publicDescription","hidden","hiddenDescription","scheduled","scheduledDescription","forConnections","forConnectionsDescription","publication","level","selectFromMyOwnMaterials","publicationIsEmpty","copyLinkToPublication","section","generatedTitle","addSection","sectionIsEmpty","addResource","selectResourceType","resource","copyLinkToResource","interactivity","mediaAssets","searchForAnyMaterial","own","noPublicationsFound","noSavedPublicationsFound","createPublication","commonPublications","myPublications","savedPublications","allMyPublications","allSavedPublications","selectContacts","chat","writeMessage","typeToMessage","endMessage","youDontHaveAnyChat","startChattingDescription","startChatting","editingProfile","basicInfo","aboutProfile","balanceDetalization","backToProfileSettings","additionalInfo","phoneNumber","buttonContinue","shortAboutHint","longAboutHint","buttonSave","buttonPrevious","pricesTab","userProfile","wasOnline","learns","priceTable","mustRate","leaveThoughts","reviewComponentTitle","userAbout","certificate","plannedLesson","start","lessonWith","deleteConfirmation","day","week","month","createLessonSchedule","updateLessonSchedule","startNow","calendarCard","plannedDate","liveLesson","currentLiveScheduledLessons","upcomingScheduledLessons","noUpcomingSchedules","editAttachments","lessonAttachments","boardAttachments","noLessonAttachmentsAddedYet","noLessonAudiosAddedYet","noBoardAttachmentsAddedYet","videoIsNotAvailable","you","youHaveNotJoinedYet","lessonScheduledInfo","tooEarlyToJoin","tooLateToJoin","board","noBoardsCreatedYetInstructor","noBoardsCreatedYetStudent","boardName","cloneFrom","lessonBoards","latestBoards","boardsWithCurrentStudents","lock","sync","additionalOptions","borderStyleOpacityAndColor","colorAndOpacity","bringToFront","bringForward","sendToBack","sendBackward","image","document","fromYourDevice","pasteDirectUrl","yourVideoUrl","pasteViaYouTubeUrl","youTubeVideoUrl","addAudio","editAudio","attachment","addExercises","editExercises","noLessonExercisesAttachedYet","addVocabulary","editVocabulary","noLessonVocabularyAttachedYet","typeSomething","noAnyLessonAddedYet","addLesson","accessDenied","pageNotFound","externalLink","landing","greeting","howItWorks","findTeacher","advantages","socialPlatform","hereSuccess","register","findATeacher","magicStarts","heroAddress","dontRisk","weOffer","supportedByLocal","assessTeachers","freeForStudents","realTestimonials","weHelp","toFindIdealTeacher","teachers","toDevelop","seeHowItWork","choosingATeacher","lessonRoutine","independentAssessment","communityIndependent","howToChoose","findYourIdealTeacher","findYourIdealTeacher2","ourQualityControl","theLessonsAreConducted","inAddition","testimonialsAfterLesson","byTheEndOf","exampleProfile","aboutMe","myStudentsReach","education","americanUniversity","testimonials","readMore","provenCapability","strictness","overallLessons","skillsDeveloped","yourPhone","yourContact","yourContact2","bySending","completedLesson","studentRating","howToFind","clearAssessment","whatIsPunctuality","howToFindACompetentTeacher","howToFindAResultOrientedTeacher","howToFindThePerfectTeacher","demanding","howLesson","ourTeachers","aigul","experience","readMoreBtn","chooseATeacher","becomeATeacher","whatIsYourLevel","doTheTest","tryItNow","weHelpLearners","guaranteedBenefits","toTheStudents","realRating","riskFree","studyMotivated","workWithout","noWaitList","easyLearn","toTheTeacher","anOpportunity","avoidEmotional","theOpportunityToTeach","increaseCost","increaseYourIncome","workWithoutInter","convenientTitle","allYouNeed","doUVideoCall","trackProgress","inStudents","stableVideoCall","hdQuality","affordablePrice","weTake","seeWhatInside","tryItYourself","test","dictionary","planPrices","forThePlatform","useItForFree","tryIt","currency","monthly","firstMonth","aboutFounder","goToProfile","ceoName","ceoExperience","ceoUniversity","ceo1Text","ceo2Text","ceo3Text","ceo4Text","ceo5Text","ceo6Text","seeMore","startTeaching","byRegister","connectAndJoin","talkToUs","companyName","terms","personalInfo","europe","socialNetworks","techSupport","firstRatingName","firstRatingDescription","firstRatingLessons","secondRatingName","secondRatingDescription","secondRatingLessons","thirdRatingName","thirdRatingDescription","thirdRatingLessons","fourRatingName","fourRatingDescription","fourRatingLessons","termsOfService","privacyPolicy","lessonDeleted","audioDeleted","attachmentDeleted","exerciseDeleted","exerciseSaved","lessonCreated","quizDeleted","quizUnlinked","quizCreated","buttons","ok","unlink","check","link","confirm","quit","previous","view","editor","enterUrl","enterImageUrl","enterVideoUrl","confirmDialog","date","months","full","fileBrowser","suffix","folder","file","yes","selectFolderOrFile","noFilesOrFoldersFound","folderIsEmpty","upTo","createFolder","uploadFiles","collapseAll","uploadTo","maxFilesCount","maxFileSize","addFiles","clear","CAMERA_IS_OFF","CAMERA_PERMISSION_ERROR","CAMERA_UNAVAILABLE_ERROR","MIC_PERMISSION_ERROR","MIC_UNAVAILABLE_ERROR","time","startsIn","endsIn","ended","cancelled","targetLanguages","languageLevels","A1","A2","B1","B2","C1","C2","specialityGroups","beginner","general","preschoolers","schoolChildrenPrimary","intermediate","interview","speakingPractice","examPreparation","schoolChildrenSecondary","advanced","aviation","academicEnglish","technicalEnglish","legalEnglish","languages","rated","notEnoughDataToShow","quickLook","bookLesson","viewSchedule","phoneHint","exchangeContactsModal","numberOfLessons","updateResults","All","endOfNotifications","noNotifications","headerTitle","addTitle","startsFrom","addNotes","scopedSlots","fn","$$v","ORIGIN","URL","process","VUE_APP_GRAPHQL_HTTP","origin","heartbeatInterval","newVersionAvailableVisible","handler","clearInterval","setInterval","token","getFromLocalStorage","axios","url","method","headers","Authorization","immediate","created","navigator","onmessage","event","adjustContentHeight","vh","window","innerHeight","documentElement","setProperty","addEventListener","beforeDestroy","reloadPage","location","Vue","use","Vuetify","theme","themes","light","primary","secondary","accent","error","success","warning","info","dark","icons","iconfont","lang","locales","en","current","_v","$t","$event","searchBoxFocused","searchBox","proxy","selectedUser","$vuetify","breakpoint","notificationsCount","staticStyle","connectionsCount","messagesCount","UrgentNotification","openedNotificationId","urgentNotifications","seenNotificationIds","find","includes","urgentNotification","SEARCH_USERS_KEY","SEARCH_BOX_WIDTH","UPDATE_NOTIFICATION_BADGES_INTERVAL","UrgentNotificationWrapper","StudentsSelectInputAvatar","LogoComponent","mixins","paginationByKeyLaterMixin","headerContainerMaxWidth","bodyContainerMaxWidth","buildVersion","VUE_APP_BUILD_VERSION","notificationsUpdateInterval","showNoData","notificationComputedBadges","paginationContext","getPaginationContext","computedSearchBoxStyles","defaultStyles","smAndDown","width","position","left","expandedWidth","parentElement","offsetWidth","val","length","clearPage","onFilterChange","userId","blur","old","initPaginationByKey","appendToItems","itemText","recommendPWAInstallationDialog","installApp","installationStep","isIOS","lastInstallPromptDate","getObjectFromLocalStorage","Date","deferredPrompt","setToLocalStorage","valueOf","e","preventDefault","$moment","diff","checkPWAStatus","userAgent","toLowerCase","disposeInstallPWADialog","prompt","userChoice","then","choiceResult","outcome","InstallPwaAppComponent","TopBarComponent","MainLayout","$showGqlError","MainLayoutWithoutContainerRestrictions","MainLayoutWithFullContainer","routerMetaDataMixin","properties","meta","beforeCreate","unregisterGuard","beforeEach","to","from","handleRouteChange","$route","route","property","getDataFromMeta","i","matched","UserAvatarComponent","counts","pendingConnections","USER_CONNECTION_COUNTS_KEY","loadingByKeyLaterInitMixin","errorByKeyLaterInitMixin","tab","initLoadingByKey","initErrorByKey","loadCounts","setLoadingByKey","result","handleGqlResponseBody","apollo","fetchPolicy","clearErrorsByKey","_","handledErrors","setErrorsByKey","CurrentUserShortBlock","href","icon","loadNotificationTypes","GET_USER_NOTIFICATION_TYPES_QUERY","NOTIFICATION_TYPES_KEY","ErrorComponent","LoadingComponent","typesMap","reduce","acc","curr","VueRouter","routes","path","MainWithoutContainerRestrictionsComponent","children","MainComponent","MainComponentWithFullContainer","auth","MainAuthLayout","ConnectionsLayer","LessonsLayer","NotificationsLayer","PreferencesLayer","mainContainerClass","MaterialsLayer","ExternalLinkView","LogoutView","AccessDenied","PageNotFound","router","mode","base","BASE_URL","previousRoute","async","isLoggedIn","some","m","redirectAfter","tmpUser","JSON","parse","role","filter","permissions","every","prototype","$previousRoute","state","getters","mutations","setLoading","commit","SEARCH_USERS_PAGINATION_QUERY","getSearchUsersQuery","skip","take","orderBy","specialityIds","speakIds","interestIds","learnOrTeachId","textbookIds","map","o","fieldName","toSnakeCase","variables","getMatchInstructorsQuery","teachId","criteriaIds","priceFrom","priceTo","getUserReviewsQuery","DECLINE_CONNECTION_INVITATION_MUTATION","CREATE_CONNECTION_INVITATION_MUTATION","REMOVE_CONNECTION_MUTATION","ACCEPT_CONNECTION_MUTATION","CANCEL_CONNECTION_INVITATION_MUTATION","GET_USER_CONTACT_SHARINGS_PAGINATION_QUERY","getConnectionsQuery","getCurrentUser","getConnectionsHistoryQuery","status","getContactSharingsQuery","notMarkedAsRead","createConnectionInvitation","mutate","mutation","acceptConnectionInvitation","declineConnectionInvitation","cancelConnectionInvitation","GET_CHAT_LIST_PAGINATION_QUERY","GET_CHAT_MESSAGES_PAGINATION_QUERY","getChatListQuery","getChatMessagesQuery","chatId","GET_USER_ACTIVITY_HISTORY_PAGINATION_QUERY","getUserActivityHistoryQuery","GET_LESSONS_PAGINATION_QUERY","createLesson","updateLesson","getLessonQuery","getLessonsQuery","categoryId","deleteLesson","createLessonAttachment","lessonId","order","deleteLessonAttachment","changeOrderLessonAttachment","second","updateLessonAttachment","GET_EXERCISE_VALIDATORS_QUERY","GET_QUIZ_ALL_POINTS_QUERY","GET_EXERCISES_ADMIN_PAGINATION_QUERY","GET_EXERCISES_HISTORY_PAGINATED_QUERY","GET_EXERCISES_PAGINATION_QUERY","getItemsPerPage","setItemsPerPage","createExercise","quizId","isVocabulary","audioData","audioHidden","previewExercise","updateExercise","checkExercisePreview","getExerciseValidatorsQuery","getQuizAllPointsQuery","getExerciseQuery","getExercisesAdminPaginated","getExercisesPaginated","getExercisesHistoryPaginated","quizHistoryId","deleteExercise","changeOrderExercise","createExerciseAudio","exerciseId","renewExerciseAudio","newAudio","oldAudio","updateAudio","removeExerciseAudio","GET_USER_NOTIFICATION_PAGINATION_QUERY","SET_USER_NOTIFICATIONS_SEEN","GET_USER_BADGES_QUERY","newMessageAudio","Audio","require","readMessageAudio","newNotificationAudio","newConnectionAudio","notificationBadges","getSeenNotificationIds","getNotificationComputedBadges","badges","accumulator","currentValue","null","getNotificationsCount","getMessagesCount","getConnectionsCount","getUrgentNotifications","playNewNotificationSound","play","catch","once","playNewMessageSound","playReadMessageSound","playNewConnectionSound","sendSeenNotificationIds","idsToSend","splice","ids","setNotificationSeen","updateNotificationCountQuery","getUserNotificationsQuery","lessonSchedule","GET_QUIZZES_QUERY","GET_LESSON_QUIZZES_QUERY","LINK_QUIZ_MUTATION","CHECK_QUIZ_EXERCISES_MUTATION","GET_QUIZ_HISTORY_PAGINATED_QUERY","linkQuiz","unlinkQuiz","checkQuiz","nonRegisteredData","getQuizzes","exceptLinked","getLessonQuizzes","getQuizHistoryPaginated","registered","getQuizHistory","STORE_KEY","lessonBoard","memory","tool","saveMemory","stringify","lessonBoardSaveToToolMemory","lessonBoardGetFromToolMemory","lessonBoardSaveToolPropertyToMemory","toolKey","propertyKey","propertyValue","device","stream","audioAvailability","getAudioStream","getAudioDevices","getMicrophoneAudioAvailability","resetAudioDevices","reloadAudioDevices","deviceInfos","mediaDevices","enumerateDevices","deviceInfo","deviceId","kind","reloadAudioStream","MediaStream","constraints","input","exact","undefined","getUserMedia","initializeAudioStream","destroyAudioStream","track","getTracks","stop","setAudioInputAvailability","streamVideo","usingProcesses","mic","screenShare","isMicDeviceLoading","isCameraDeviceLoading","isScreenShareDeviceLoading","devices","videoAvailability","cameraVideoTrack","micAudioTrack","screenShareVideoTrack","screenShareAudioTrack","cameraDeviceInitError","micDeviceInitError","screenShareDeviceInitError","getStreamVideoMicInitialized","getStreamVideoCameraInitialized","getStreamVideoScreenShareInitialized","getStreamVideoMicLoading","getStreamVideoCameraLoading","isCameraStreamLoading","getStreamVideoScreenShareLoading","getMicDeviceInitError","getCameraDeviceInitError","getScreenShareDeviceInitError","getStreamVideoInputDevices","getStreamVideoAudioAvailability","getStreamVideoVideoAvailability","getStreamVideoCameraVideoTrack","getStreamVideoMicAudioTrack","getStreamVideoScreenShareVideoTrack","getStreamVideoScreenShareAudioTrack","saveSelectedDevicesToLocalStore","setObjectToLocalStorage","selectedDevices","available","restoreSelectedDevicesFromLocalStore","reloadInputDevices","devicesInfo","startAudioInputDevice","processId","getAudioTracks","forEach","stopAudioInputDevice","processIndex","indexOf","startCameraVideoInputDevice","getVideoTracks","stopCameraVideoInputDevice","setCameraVideoInputAvailability","setMicAudioInputAvailability","setMicAudioInputDevice","setCameraVideoInputDevice","startScreenShareCapture","getDisplayMedia","sampleRate","displaySurface","cursor","onStop","oninactive","onended","stopScreenShareCapture","Vuex","authentication","lessonSocket","translateErrorMessage","i18n","errorKey","te","t","translateGraphQLError","gqlErrorToast","toast","gqlError","except","notShowToast","isExceptPartial","excluded","handleErrors","exceptFound","handledError","extensions","response","networkError","graphQLErrors","promise","errorCb","exceptMessages","keys","ready","cached","updatefound","updated","waiting","postMessage","target","offline","roundFilter","decimals","parseFloat","isNaN","toFixed","VueApollo","VueToast","VueMoment","VueSanitize","config","productionTip","ShowGqlError","$toast","AOS","store","vuetify","apolloProvider","h","App","$mount","errorsByKey","$set","initErrorByKeys","getErrorsByKey","hasErrorsByKey","loadingByKey","defaultValue","initLoadingByKeys","getLoadingByKey","loggerMixin","topic","logger","Logger","constructor","debug","args","warn","paginationContextByKey","destroyed","requiredFilters","options","frozen","hasMore","extraData","page","sortBy","requiredFiltersValid","onChangeItems","changeItemsPerPage","firstLoad","loadPage","context","index","direction","sortDesc","nulls","paginationResult","reversedItems","reverse","prependToItems","unshift","Math","ceil","updatePage","resetPage","onFiltersChange","keyValues","entries","$watch","deep","destroyPaginationByKey","REFRESH_TOKEN_MUTATION","requestCache","Map","CACHE_DURATION","CLEANUP_INTERVAL","cleanupCache","now","timestamp","CustomApolloClient","ApolloClient","has","get","super","set","parseHeaders","rawHeaders","Headers","preProcessedHeaders","replace","split","line","parts","shift","trim","append","uploadFetch","Promise","resolve","reject","xhr","XMLHttpRequest","onload","opts","statusText","getAllResponseHeaders","responseURL","body","responseText","Response","onerror","TypeError","ontimeout","setRequestHeader","onprogress","onProgress","onAbortPossible","abort","customFetch","uri","useUpload","fetch","httpLink","createUploadLink","authLink","setContext","ctx","locale","errorLink","onError","operation","forward","locations","accessToken","refreshToken","Observable","observer","subscriber","bind","complete","subscribe","clearLoginData","apolloClient","ApolloLink","concat","cache","InMemoryCache","defaultClient","VueI18n","localeMap","getFallbackLanguage","existingLanguage","defaultLocale","fallbackLocale","VUE_APP_I18N_FALLBACK_LOCALE","ru","LOGIN_MUTATION","LOGOUT_MUTATION","RESET_USER_PASSWORD_MUTATION","CHECK_RESET_USER_PASSWORD_TOKEN_MUTATION","CONFIRM_RESET_USER_PASSWORD_MUTATION","localStorage","getAccessToken","setAccessAndRefreshTokens","logOut","loginUser","credentials","logoutUser","resetUserPassword","checkResetUserPasswordToken","code","confirmResetUserPassword","GET_CURRENT_USER_QUERY","GET_CURRENT_USER_BALANCE_QUERY","GET_USER_BALANCE_TRANSACTIONS_PAGINATION_QUERY","getCurrentUserBalance","setCurrentUser","setCurrentUserBalance","clearCurrentUser","updateCurrentUserEmail","updateCurrentUserPhotos","photos","profileData","startsWith","assign","photoSize","updateCurrentUser","updateCurrentUserBalance","getCurrentUserBalanceTransactions","fromDate","toDate","SOCKET_BOARD_ELEMENT_CHANGE_TYPE","Add","Delete","Update","socket","eventTransport","EventEmitter","changedBoardElementsQueue","isChangedBoardElementsSending","chatMessageQueue","isChatMessageQueueSending","getLessonEventTransport","onLessonInit","wsServerUri","boardId","accessKey","io","autoConnect","withCredentials","transports","onAny","emit","eventName","sendElementsChange","elementChange","changeData","sendChatMessages","messageData","onLessonDestroy","disconnect","successCb","NUMERIC_CHARACTERS","ALPHABETICAL_UPPERCASE_CHARACTERS","ALPHABETICAL_LOWERCASE_CHARACTERS","ALPHA_NUMERIC_CHARACTERS","baseGenerator","chars","floor","random","chatRandomTmpIdGenerator","alphaNumericStringGenerator","AVATAR_COLORS","abs","stringHash","REVIEW_QUESTION_COLORS","getReviewQuestionColor","getItem","setItem","obj","toZPad","zeros","padStart","regex","RegExp","splitValue","hasContent","node","childNodes","child","nodeType","Node","TEXT_NODE","textContent","nodeName","ELEMENT_NODE","chr","hash","charCodeAt","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","hmd","Error","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","clearTimeout","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","err","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}