touchstudy-core 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ export declare type Language = {
5
5
  shortName: string;
6
6
  nativeName: string;
7
7
  image: string;
8
+ momentLangCode: string;
8
9
  };
9
- export declare const DEFAULT_LANGUAGE_CODE = "ko";
10
+ export declare const DEFAULT_LANGUAGE_INDEX = 0;
10
11
  export declare const LANGUAGES: Language[];
11
- export declare const SUPPORTED_LANGUAGES_CODE: string[];
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  declare const historyCore: import("history").History<unknown>;
2
2
  import { setLoading, setAlert, setUser, setLanguage } from "./redux/commons/action";
3
- import { BASE_URL, ACCESS_TOKEN, PUSHER_CONFIG, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, DATE_MIN_VALUE } from "./utils/constants";
3
+ import { BASE_URL, ACCESS_TOKEN, PUSHER_CONFIG, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE } from "./utils/constants";
4
4
  import utcToLocalTime from "./utils/utcToLocalTime";
5
5
  import Login from "./containers/Login/views/Login";
6
6
  import store from "./store";
@@ -42,4 +42,4 @@ import CustomAsyncSelect from "./components/Selects/CustomAsyncSelect";
42
42
  import ExamDetailView from "./containers/Exams/views/ExamDetailView";
43
43
  import { ExamDetailViewProps } from "./containers/Exams/configs/interfaces";
44
44
  import { Exam, Question, ArticleGroup } from "./containers/Exams/configs/types";
45
- export { diffFromNow, formatTime, utcToLocalTime, setLoading, BASE_URL, ACCESS_TOKEN, Login, store, historyCore, setAlert, setUser, Loading, NotFound, LayoutContext, api, ConfirmDialog, CommonDialog, CommonAlert, CustomPagination, useGoogleSignOut, PUSHER_CONFIG, ExamEvent, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, setLanguage, i18n, TheLanguageDropdown, useTranslation, I18nextProvider, DATE_MIN_VALUE, minutesToTimeSpan, toISOString, canAccessRoute, CustomSelect, CustomAsyncSelect, getAccessToken, ChatContainer, IChatContainerProps, IChatItemProps, IChatHeaderProps, IInputChatProps, ChatItemType, useChatContainer, useConversationList, ConversationResponse, ExamResponse, usePusherConversation, ToastContainer, toast, Role, useLanguage, LANGUAGES, CustomCreatable, moment, ExamDetailView, ExamDetailViewProps, Exam, Question, ArticleGroup };
45
+ export { diffFromNow, formatTime, utcToLocalTime, setLoading, BASE_URL, ACCESS_TOKEN, Login, store, historyCore, setAlert, setUser, Loading, NotFound, LayoutContext, api, ConfirmDialog, CommonDialog, CommonAlert, CustomPagination, useGoogleSignOut, PUSHER_CONFIG, ExamEvent, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, setLanguage, i18n, TheLanguageDropdown, useTranslation, I18nextProvider, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, minutesToTimeSpan, toISOString, canAccessRoute, CustomSelect, CustomAsyncSelect, getAccessToken, ChatContainer, IChatContainerProps, IChatItemProps, IChatHeaderProps, IInputChatProps, ChatItemType, useChatContainer, useConversationList, ConversationResponse, ExamResponse, usePusherConversation, ToastContainer, toast, Role, useLanguage, LANGUAGES, CustomCreatable, moment, ExamDetailView, ExamDetailViewProps, Exam, Question, ArticleGroup };
package/dist/index.js CHANGED
@@ -16,6 +16,8 @@ var gapiScript = require('gapi-script');
16
16
  var i18n = _interopDefault(require('i18next'));
17
17
  var reactI18next = require('react-i18next');
18
18
  var io5 = require('react-icons/io5');
19
+ require('moment/locale/ko.js');
20
+ require('moment/locale/en-au.js');
19
21
  var Select = require('react-select');
20
22
  var Select__default = _interopDefault(Select);
21
23
  var fa = require('react-icons/fa');
@@ -38,6 +40,7 @@ var isLocalHost = Boolean(window.location.hostname === "localhost" || window.loc
38
40
  var GOOGLE_CLIENT_ID = "64118819726-0qlur4qjrs9jbuu6rnoa0u91g680lmpg.apps.googleusercontent.com";
39
41
  var ACCESS_TOKEN = "ACCESS_TOKEN";
40
42
  var DATE_MIN_VALUE = "0001-01-01T00:00:00+00:00";
43
+ var DATE_TIME_MIN_VALUE = "0001-01-01T00:00:00";
41
44
  var BASE_URL = function () {
42
45
  return isLocalHost ? "https://localhost:7045" : "https://api.studypeak.io";
43
46
  }();
@@ -68,7 +71,7 @@ var encodeParams = function encodeParams(params) {
68
71
  };
69
72
 
70
73
  var utcToLocalTime = (function (time, FORMAT) {
71
- if (time === DATE_MIN_VALUE) return "";
74
+ if (time === DATE_MIN_VALUE || time === DATE_TIME_MIN_VALUE) return "";
72
75
  try {
73
76
  return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
74
77
  } catch (_unused) {
@@ -1019,6 +1022,38 @@ var enter_title = "시험 제목을 입력하세요";
1019
1022
  var select_placeholder = "선택하다...";
1020
1023
  var view_exam = "시험 보기";
1021
1024
  var back = "뒤쪽에";
1025
+ var date_format = "YYYY년 MM월 DD일";
1026
+ var date_time_format = "YYYY-MM-DD HH:mm";
1027
+ var date_time_format_12h = "YYYY-MM-DD HH:mm A";
1028
+ var full_date_time_format = "YYYY년 MMMM Do HH:mm:ss";
1029
+ var total_questions = "총 질문수";
1030
+ var code = "암호";
1031
+ var type = "유형";
1032
+ var description = "설명";
1033
+ var actions = "행위";
1034
+ var start_time = "시작 시간";
1035
+ var end_time = "종료 시간";
1036
+ var start_date = "시작일";
1037
+ var end_date = "종료일";
1038
+ var weekly_day = "주간";
1039
+ var weekly_days = "주간";
1040
+ var enter_class_name = "수업 이름을 입력하세요";
1041
+ var name = "이름";
1042
+ var total_teachers = "총 교사 수";
1043
+ var full_name = "이름";
1044
+ var email = "이메일";
1045
+ var payments = "지불";
1046
+ var view_payments = "결제 보기";
1047
+ var sunday = "일요일";
1048
+ var monday = "월요일";
1049
+ var tuesday = "화요일";
1050
+ var wednesday = "수요일";
1051
+ var thursday = "목요일";
1052
+ var friday = "금요일";
1053
+ var saturday = "토요일";
1054
+ var total_lessons = "총 수업";
1055
+ var weekly_days_required = "평일 필수";
1056
+ var main_teacher = "주 교사";
1022
1057
  var lang_ko = {
1023
1058
  problem_solving: problem_solving,
1024
1059
  my_story: my_story,
@@ -1088,7 +1123,39 @@ var lang_ko = {
1088
1123
  enter_title: enter_title,
1089
1124
  select_placeholder: select_placeholder,
1090
1125
  view_exam: view_exam,
1091
- back: back
1126
+ back: back,
1127
+ date_format: date_format,
1128
+ date_time_format: date_time_format,
1129
+ date_time_format_12h: date_time_format_12h,
1130
+ full_date_time_format: full_date_time_format,
1131
+ total_questions: total_questions,
1132
+ code: code,
1133
+ type: type,
1134
+ description: description,
1135
+ actions: actions,
1136
+ start_time: start_time,
1137
+ end_time: end_time,
1138
+ start_date: start_date,
1139
+ end_date: end_date,
1140
+ weekly_day: weekly_day,
1141
+ weekly_days: weekly_days,
1142
+ enter_class_name: enter_class_name,
1143
+ name: name,
1144
+ total_teachers: total_teachers,
1145
+ full_name: full_name,
1146
+ email: email,
1147
+ payments: payments,
1148
+ view_payments: view_payments,
1149
+ sunday: sunday,
1150
+ monday: monday,
1151
+ tuesday: tuesday,
1152
+ wednesday: wednesday,
1153
+ thursday: thursday,
1154
+ friday: friday,
1155
+ saturday: saturday,
1156
+ total_lessons: total_lessons,
1157
+ weekly_days_required: weekly_days_required,
1158
+ main_teacher: main_teacher
1092
1159
  };
1093
1160
 
1094
1161
  var problem_solving$1 = "Problem Solving";
@@ -1178,19 +1245,23 @@ var enter_title$1 = "Enter title";
1178
1245
  var enter_score = "Enter score";
1179
1246
  var exam_title_required = "Exam title is required";
1180
1247
  var question_category_required = "Question category is required";
1181
- var start_time = "Start time";
1182
- var end_time = "End time";
1183
- var enter_class_name = "Enter class name";
1248
+ var start_time$1 = "Start time";
1249
+ var end_time$1 = "End time";
1250
+ var start_date$1 = "Start date";
1251
+ var end_date$1 = "End date";
1252
+ var weekly_day$1 = "Weekly day";
1253
+ var weekly_days$1 = "Weekly days";
1254
+ var enter_class_name$1 = "Enter class name";
1184
1255
  var class_required = "Class name is required";
1185
- var total_teachers = "Total teachers";
1186
- var start_time_required = "Start time is required";
1187
- var end_time_required = "End time is required";
1188
- var full_name = "Full name";
1189
- var email = "Email";
1256
+ var total_teachers$1 = "Total teachers";
1257
+ var start_date_required = "Start date is required";
1258
+ var end_date_required = "End date is required";
1259
+ var full_name$1 = "Full name";
1260
+ var email$1 = "Email";
1190
1261
  var is_paid = "Is paid";
1191
1262
  var payment_time = "Payment time";
1192
1263
  var create_and_continue = "Create and continue";
1193
- var payments = "Payments";
1264
+ var payments$1 = "Payments";
1194
1265
  var duration$1 = "Duration";
1195
1266
  var answer_count$1 = "Answer count";
1196
1267
  var question_count$1 = "Question count";
@@ -1200,6 +1271,30 @@ var view_exam$1 = "View exam";
1200
1271
  var update_exam$1 = "Update exam";
1201
1272
  var create_exam$1 = "Create exam";
1202
1273
  var back$1 = "Back";
1274
+ var date_format$1 = "MM-DD-YYYY";
1275
+ var date_time_format$1 = "MM-DD-YYYY HH:mm";
1276
+ var date_time_format_12h$1 = "MM-DD-YYYY HH:mm A";
1277
+ var full_date_time_format$1 = "MMM Do YYYY HH:mm:ss";
1278
+ var total_questions$1 = "Total questions";
1279
+ var code$1 = "Code";
1280
+ var type$1 = "Type";
1281
+ var description$1 = "Description";
1282
+ var actions$1 = "Actions";
1283
+ var name$1 = "Name";
1284
+ var sunday$1 = "Sunday";
1285
+ var monday$1 = "Monday";
1286
+ var tuesday$1 = "Tuesday";
1287
+ var wednesday$1 = "Wednesday";
1288
+ var thursday$1 = "Thursday";
1289
+ var friday$1 = "Friday";
1290
+ var saturday$1 = "Saturday";
1291
+ var total_lessons$1 = "Total lessons";
1292
+ var is_cancelled = "Is cancelled";
1293
+ var date = "Date";
1294
+ var weekly_days_required$1 = "Weekly days are required";
1295
+ var main_teacher$1 = "Main teacher";
1296
+ var main_teacher_required = "Main teacher is required";
1297
+ var teacher = "Teacher";
1203
1298
  var lang_en = {
1204
1299
  problem_solving: problem_solving$1,
1205
1300
  my_story: my_story$1,
@@ -1288,19 +1383,23 @@ var lang_en = {
1288
1383
  enter_score: enter_score,
1289
1384
  exam_title_required: exam_title_required,
1290
1385
  question_category_required: question_category_required,
1291
- start_time: start_time,
1292
- end_time: end_time,
1293
- enter_class_name: enter_class_name,
1386
+ start_time: start_time$1,
1387
+ end_time: end_time$1,
1388
+ start_date: start_date$1,
1389
+ end_date: end_date$1,
1390
+ weekly_day: weekly_day$1,
1391
+ weekly_days: weekly_days$1,
1392
+ enter_class_name: enter_class_name$1,
1294
1393
  class_required: class_required,
1295
- total_teachers: total_teachers,
1296
- start_time_required: start_time_required,
1297
- end_time_required: end_time_required,
1298
- full_name: full_name,
1299
- email: email,
1394
+ total_teachers: total_teachers$1,
1395
+ start_date_required: start_date_required,
1396
+ end_date_required: end_date_required,
1397
+ full_name: full_name$1,
1398
+ email: email$1,
1300
1399
  is_paid: is_paid,
1301
1400
  payment_time: payment_time,
1302
1401
  create_and_continue: create_and_continue,
1303
- payments: payments,
1402
+ payments: payments$1,
1304
1403
  duration: duration$1,
1305
1404
  answer_count: answer_count$1,
1306
1405
  question_count: question_count$1,
@@ -1309,7 +1408,31 @@ var lang_en = {
1309
1408
  view_exam: view_exam$1,
1310
1409
  update_exam: update_exam$1,
1311
1410
  create_exam: create_exam$1,
1312
- back: back$1
1411
+ back: back$1,
1412
+ date_format: date_format$1,
1413
+ date_time_format: date_time_format$1,
1414
+ date_time_format_12h: date_time_format_12h$1,
1415
+ full_date_time_format: full_date_time_format$1,
1416
+ total_questions: total_questions$1,
1417
+ code: code$1,
1418
+ type: type$1,
1419
+ description: description$1,
1420
+ actions: actions$1,
1421
+ name: name$1,
1422
+ sunday: sunday$1,
1423
+ monday: monday$1,
1424
+ tuesday: tuesday$1,
1425
+ wednesday: wednesday$1,
1426
+ thursday: thursday$1,
1427
+ friday: friday$1,
1428
+ saturday: saturday$1,
1429
+ total_lessons: total_lessons$1,
1430
+ is_cancelled: is_cancelled,
1431
+ date: date,
1432
+ weekly_days_required: weekly_days_required$1,
1433
+ main_teacher: main_teacher$1,
1434
+ main_teacher_required: main_teacher_required,
1435
+ teacher: teacher
1313
1436
  };
1314
1437
 
1315
1438
  i18n.use(reactI18next.initReactI18next).init({
@@ -1328,28 +1451,27 @@ i18n.use(reactI18next.initReactI18next).init({
1328
1451
  }
1329
1452
  });
1330
1453
 
1331
- var DEFAULT_LANGUAGE_CODE = "ko";
1454
+ var DEFAULT_LANGUAGE_INDEX = 0;
1332
1455
  var LANGUAGES = [{
1333
1456
  code: "ko",
1334
1457
  fullName: "Korean",
1335
1458
  shortName: "Korean",
1336
1459
  nativeName: "Korean",
1337
1460
  name: "Korean",
1338
- image: "/images/korea.png"
1461
+ image: "/images/korea.png",
1462
+ momentLangCode: "ko"
1339
1463
  }, {
1340
1464
  code: "en",
1341
1465
  fullName: "English",
1342
1466
  shortName: "English",
1343
1467
  nativeName: "English",
1344
1468
  name: "English",
1345
- image: "/images/usa.png"
1469
+ image: "/images/usa.png",
1470
+ momentLangCode: "en-au"
1346
1471
  }];
1347
- var SUPPORTED_LANGUAGES_CODE = LANGUAGES.map(function (i) {
1348
- return i.code;
1349
- });
1350
1472
 
1351
1473
  var useLanguage = function useLanguage() {
1352
- var defaultLanguage = !!localStorage.getItem("language") ? localStorage.getItem("language") : navigator.language || DEFAULT_LANGUAGE_CODE;
1474
+ var defaultLanguage = !!localStorage.getItem("language") ? localStorage.getItem("language") : navigator.language || LANGUAGES[DEFAULT_LANGUAGE_INDEX].code;
1353
1475
  var dispatch = reactRedux.useDispatch();
1354
1476
  var _useTranslation = reactI18next.useTranslation(),
1355
1477
  i18n = _useTranslation.i18n;
@@ -1365,11 +1487,15 @@ var useLanguage = function useLanguage() {
1365
1487
  });
1366
1488
  };
1367
1489
  var changeLanguageApp = function changeLanguageApp(lang) {
1368
- if (!SUPPORTED_LANGUAGES_CODE.includes(lang)) lang = DEFAULT_LANGUAGE_CODE;
1369
- i18n.changeLanguage(lang);
1370
- localStorage.setItem("language", lang);
1371
- setItemLanguage(lang);
1372
- dispatch(setLanguage(lang));
1490
+ var language = LANGUAGES.find(function (i) {
1491
+ return i.code === lang;
1492
+ });
1493
+ if (!language) language = LANGUAGES[DEFAULT_LANGUAGE_INDEX];
1494
+ i18n.changeLanguage(language.code);
1495
+ moment.locale(language.momentLangCode);
1496
+ localStorage.setItem("language", language.code);
1497
+ setItemLanguage(language.code);
1498
+ dispatch(setLanguage(language.code));
1373
1499
  };
1374
1500
  React.useEffect(function () {
1375
1501
  changeLanguageApp(language);
@@ -1639,6 +1765,8 @@ var ChatRightItem = function ChatRightItem(_ref) {
1639
1765
  var _useState2 = React.useState(false),
1640
1766
  isShowInfo = _useState2[0],
1641
1767
  setShowInfo = _useState2[1];
1768
+ var _useTranslation = reactI18next.useTranslation(),
1769
+ t = _useTranslation.t;
1642
1770
  var handleShowInfo = function handleShowInfo() {
1643
1771
  setShowInfo(!isShowInfo);
1644
1772
  !isFirst && !isSystemLog && setShowTime(!isShowInfo);
@@ -1671,12 +1799,12 @@ var ChatRightItem = function ChatRightItem(_ref) {
1671
1799
  }
1672
1800
  }, "Add message to exam")), isSystemLog || !!isFirst ? React__default.createElement("p", {
1673
1801
  className: "mb-0 py-1 px-3 fs-6 text-muted text-center"
1674
- }, utcToLocalTime(createdAt, "HH:mm DD MMM YYYY")) : React__default.createElement(reactstrap.Collapse, {
1802
+ }, utcToLocalTime(createdAt, t("date_time_format"))) : React__default.createElement(reactstrap.Collapse, {
1675
1803
  className: "w-100",
1676
1804
  isOpen: isShowTime
1677
1805
  }, React__default.createElement("p", {
1678
1806
  className: "mb-0 py-1 px-3 fs-6 text-muted text-center"
1679
- }, utcToLocalTime(createdAt, "HH:mm DD MMM YYYY"))), isSystemLog ? React__default.createElement("div", {
1807
+ }, utcToLocalTime(createdAt, t("date_time_format")))), isSystemLog ? React__default.createElement("div", {
1680
1808
  className: "text-center w-100"
1681
1809
  }, React__default.createElement(reactRouterDom.Link, {
1682
1810
  to: "" + (actionLink || "/"),
@@ -1733,6 +1861,8 @@ var ChatLeftItem = function ChatLeftItem(_ref) {
1733
1861
  var _useState2 = React.useState(false),
1734
1862
  isShowInfo = _useState2[0],
1735
1863
  setShowInfo = _useState2[1];
1864
+ var _useTranslation = reactI18next.useTranslation(),
1865
+ t = _useTranslation.t;
1736
1866
  var handleShowInfo = function handleShowInfo() {
1737
1867
  if (!id) return;
1738
1868
  setShowInfo(!isShowInfo);
@@ -1761,12 +1891,12 @@ var ChatLeftItem = function ChatLeftItem(_ref) {
1761
1891
  }
1762
1892
  }, "Add message to exam")), isSystemLog || !!isFirst ? React__default.createElement("p", {
1763
1893
  className: "mb-0 py-1 px-3 fs-6 text-muted text-center"
1764
- }, utcToLocalTime(createdAt, "HH:mm DD MMM YYYY")) : React__default.createElement(reactstrap.Collapse, {
1894
+ }, utcToLocalTime(createdAt, t("date_time_format"))) : React__default.createElement(reactstrap.Collapse, {
1765
1895
  className: "w-100",
1766
1896
  isOpen: isShowTime
1767
1897
  }, React__default.createElement("p", {
1768
1898
  className: "mb-0 py-1 px-3 fs-6 text-muted text-center"
1769
- }, utcToLocalTime(createdAt, "HH:mm DD MMM YYYY"))), isSystemLog ? React__default.createElement("div", {
1899
+ }, utcToLocalTime(createdAt, t("date_time_format")))), isSystemLog ? React__default.createElement("div", {
1770
1900
  className: "text-center w-100"
1771
1901
  }, React__default.createElement(reactRouterDom.Link, {
1772
1902
  to: "" + (actionLink || "/"),
@@ -1922,6 +2052,12 @@ var ChatHeader = function ChatHeader(_ref) {
1922
2052
  onChangeOption = _ref.onChangeOption;
1923
2053
  var wrapperRef = React.useRef(null);
1924
2054
  var actionRef = React.useRef(null);
2055
+ var language = reactRedux.useSelector(function (state) {
2056
+ var _state$common;
2057
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
2058
+ });
2059
+ var _useTranslation = reactI18next.useTranslation(),
2060
+ t = _useTranslation.t;
1925
2061
  var handleChangeOption = function handleChangeOption(val) {
1926
2062
  onChangeOption === null || onChangeOption === void 0 ? void 0 : onChangeOption(val);
1927
2063
  };
@@ -1938,10 +2074,10 @@ var ChatHeader = function ChatHeader(_ref) {
1938
2074
  return options === null || options === void 0 ? void 0 : options.map(function (i) {
1939
2075
  return {
1940
2076
  value: i.id,
1941
- label: i.title + " (" + utcToLocalTime(i.startTime) + ")"
2077
+ label: i.title + " (" + utcToLocalTime(i.startTime, t("date_time_format")) + ")"
1942
2078
  };
1943
2079
  });
1944
- }, [JSON.stringify(options)]);
2080
+ }, [JSON.stringify(options), language]);
1945
2081
  return React__default.createElement("div", {
1946
2082
  className: "d-flex bg-light rounded-3 p-3"
1947
2083
  }, React__default.createElement("div", null, React__default.createElement("img", {
@@ -3458,6 +3594,7 @@ exports.CustomCreatable = CustomCreatable;
3458
3594
  exports.CustomPagination = CustomPagination;
3459
3595
  exports.CustomSelect = CustomSelect;
3460
3596
  exports.DATE_MIN_VALUE = DATE_MIN_VALUE;
3597
+ exports.DATE_TIME_MIN_VALUE = DATE_TIME_MIN_VALUE;
3461
3598
  exports.EXAM_CHANNEL = EXAM_CHANNEL;
3462
3599
  exports.EXAM_STUDENT_CHANNEL = EXAM_STUDENT_CHANNEL;
3463
3600
  exports.ExamDetailView = ExamDetailView;