mario-core 2.0.97-release → 2.0.98-release

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.
Files changed (36) hide show
  1. package/dist/Dashboard-D2zLzwFR.mjs +206 -0
  2. package/dist/Dashboard-dOwpd3sn.js +1 -0
  3. package/dist/EmailTemplateDetail-D07dUCZL.js +1 -0
  4. package/dist/EmailTemplateDetail-uNlh3Otz.mjs +443 -0
  5. package/dist/EmailTemplateList-B5ee4Byb.js +1 -0
  6. package/dist/EmailTemplateList-EZ_sAp6W.mjs +170 -0
  7. package/dist/GalleryList-CdyApn-m.mjs +329 -0
  8. package/dist/GalleryList-DFuoYp_Q.js +1 -0
  9. package/dist/Login-8c69l-hn.js +1 -0
  10. package/dist/Login-MzPc2sA6.mjs +1684 -0
  11. package/dist/NotificationList-BP871ggG.mjs +3982 -0
  12. package/dist/NotificationList-CzX65qMV.js +2 -0
  13. package/dist/SkillList-C-aJeufd.mjs +386 -0
  14. package/dist/SkillList-hMvqDcsQ.js +1 -0
  15. package/dist/TeacherSelector-CV9c0Cn8.js +1 -0
  16. package/dist/TeacherSelector-XuYxdZgr.mjs +30 -0
  17. package/dist/TheContent-BfT4R2Gc.mjs +38 -0
  18. package/dist/TheContent-BicDxizL.js +1 -0
  19. package/dist/UserContainer-DR6lGYNl.js +5 -0
  20. package/dist/UserContainer-Ip-sYnrv.mjs +2902 -0
  21. package/dist/UserDetail-iw6l5L3a.mjs +903 -0
  22. package/dist/UserDetail-uR6dMDOB.js +1 -0
  23. package/dist/UserList-DLC9FDWG.mjs +1252 -0
  24. package/dist/UserList-DUiZTiTR.js +7 -0
  25. package/dist/constants-DUelcmx7.js +1 -0
  26. package/dist/constants-QjFnVl1d.mjs +286 -0
  27. package/dist/index--POWjYN0.mjs +19073 -0
  28. package/dist/index-KWXe_Hjz.js +15 -0
  29. package/dist/index.js +1 -1
  30. package/dist/index.modern.js +1 -1
  31. package/dist/mailCategoryService-B9Yboyna.mjs +11 -0
  32. package/dist/mailCategoryService-DAw3X_PE.js +1 -0
  33. package/dist/services/userService.d.ts +1 -0
  34. package/dist/userService-DEwtByu1.js +1 -0
  35. package/dist/userService-DxucAe6U.mjs +56 -0
  36. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("reactstrap"),a=require("./index-KWXe_Hjz.js"),_=require("date-fns"),m=require("react"),x=require("react-redux"),b=require("react-router-dom"),j=require("./mailCategoryService-DAw3X_PE.js"),y=require("react-i18next"),N="/admin/email-template",f="/admin/create-email-template",E="Email template list",v=()=>{const c=b.useNavigate(),{t:d}=y.useTranslation(),p=x.useSelector(l=>l.emailTemplate.emailTemplateList),u=x.useSelector(l=>l.emailTemplate.totalItems),o=x.useSelector(l=>l.mailCategory.mailCategoryList),{filters:n,changeFilters:h}=a.useFilters(),t=x.useDispatch(),g=m.useCallback(async()=>{t(a.setLoading(!0));try{const l=await j.get(n),{items:r,totalItems:L}=l.data;if(t(a.setEmailTemplateList({emailTemplateList:r,totalItems:L})),o&&o.length==0){const C=await j.get$1();t(a.setMailCategory(C.data.items))}}catch(l){t(a.setAlert({type:"danger",message:l.response?.data?.title||l.message}))}t(a.setLoading(!1))},[t,n]),s=m.useCallback(l=>{t(a.setLoading(!0));try{t(a.setModal({isOpen:!0,type:"warning",message:d("do_you_want_to_remove_this_email_template"),onConfirm:async()=>{await j.remove(l),t(a.setAlert({type:"success",message:"Remove template successfully"})),h({currentPage:1})}}))}catch(r){t(a.setAlert({type:"danger",message:r.response?.data?.title||r.message}))}t(a.setLoading(!1))},[n]),T=m.useCallback(l=>{const r=l?`${N}/${l}`:f;c(r)},[]);return m.useEffect(()=>{document.title=E},[]),m.useEffect(()=>{g()},[n]),{emailTemplateList:p,totalItems:u,filters:n,changeFilters:h,getData:g,removeData:s,goToDetail:T,mailCategoryList:o}},R="email_template",D=()=>{const{emailTemplateList:c,totalItems:d,filters:p,changeFilters:u,removeData:o,goToDetail:n,mailCategoryList:h}=v(),{t}=y.useTranslation(),g=s=>{o(s)};return e.jsxs("div",{className:"fadeIn animated",children:[e.jsx("h5",{className:"mb-2",children:t(R)}),e.jsxs(i.Row,{className:"my-2",children:[e.jsx(i.Col,{md:4,children:e.jsx(a.AddButton,{text:t("create_template"),onClick:()=>n()})}),e.jsxs(i.Col,{md:4,className:"d-flex align-items-center justify-content-end",children:[t("total_of_templates"),": ",d]})]}),e.jsxs(i.Row,{className:"mb-2",children:[e.jsxs(i.Col,{md:8,children:[c&&c.length>0?e.jsxs(i.Table,{bordered:!0,hover:!0,striped:!0,responsive:!0,size:"sm",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"align-top",children:t("template_name")}),e.jsx("th",{className:"align-top",children:t("category_name")}),e.jsx("th",{className:"align-top",children:t("created_date")}),e.jsx("th",{className:"align-top",children:t("status")}),e.jsx("th",{className:"text-center",children:t("action")})]})}),e.jsx("tbody",{children:c.map(s=>e.jsxs("tr",{children:[e.jsx("td",{className:"align-middle",children:e.jsx(a.LinkEditButton,{label:s.subject,onClick:()=>n(s.id)})}),e.jsx("td",{className:"align-middle",children:s.category.name}),e.jsx("td",{className:"align-middle",children:_.format(new Date(s.createdAt),a.DATE_RESULT)}),e.jsx("td",{className:"align-middle",children:s.isDisabled?t("disabled"):t("enabled")}),e.jsx("td",{className:"text-center align-middle",children:e.jsx(a.DeleteButtonIcon,{onClick:()=>g(s.id)})})]},s.id))})]}):e.jsx(a.EmptyDataAlert,{label:t("template")}),e.jsx(i.Row,{className:"mt-2",children:e.jsx(i.Col,{md:12,children:e.jsx(a.CustomPagination,{filters:p,totalRecordCount:d,changePageSize:s=>u({pageSize:s}),changePage:s=>u({currentPage:s})})})})]}),e.jsx(i.Col,{md:4,children:e.jsxs(i.Table,{bordered:!0,hover:!0,striped:!0,responsive:!0,size:"sm",children:[e.jsx("thead",{children:e.jsx("tr",{children:e.jsx("th",{className:"align-top",children:t("category_name")})})}),e.jsx("tbody",{children:h.map(s=>e.jsx("tr",{children:e.jsx("td",{className:"align-middle",children:s.name})},s.id))})]})})]})]})};exports.default=D;
@@ -0,0 +1,170 @@
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { Row as f, Col as c, Table as _ } from "reactstrap";
3
+ import { J as D, b as g, K as I, L as A, c as y, O as R, P as w, Q as x, R as P, S as k, T as M, U as j } from "./index--POWjYN0.mjs";
4
+ import { format as S } from "date-fns";
5
+ import { useCallback as T, useEffect as N } from "react";
6
+ import { useSelector as L, useDispatch as U } from "react-redux";
7
+ import { useNavigate as z } from "react-router-dom";
8
+ import { g as B, a as F, r as $ } from "./mailCategoryService-B9Yboyna.mjs";
9
+ import { useTranslation as E } from "react-i18next";
10
+ const O = "/admin/email-template", J = "/admin/create-email-template", K = "Email template list", Q = () => {
11
+ const n = z(), { t: o } = E(), u = L(
12
+ (s) => s.emailTemplate.emailTemplateList
13
+ ), d = L(
14
+ (s) => s.emailTemplate.totalItems
15
+ ), r = L(
16
+ (s) => s.mailCategory.mailCategoryList
17
+ ), { filters: i, changeFilters: h } = D(), t = U(), p = T(async () => {
18
+ t(g(!0));
19
+ try {
20
+ const s = await B(i), { items: m, totalItems: C } = s.data;
21
+ if (t(
22
+ I({ emailTemplateList: m, totalItems: C })
23
+ ), r && r.length == 0) {
24
+ const v = await F();
25
+ t(A(v.data.items));
26
+ }
27
+ } catch (s) {
28
+ t(
29
+ y({
30
+ type: "danger",
31
+ message: s.response?.data?.title || s.message
32
+ })
33
+ );
34
+ }
35
+ t(g(!1));
36
+ }, [t, i]), a = T(
37
+ (s) => {
38
+ t(g(!0));
39
+ try {
40
+ t(
41
+ R({
42
+ isOpen: !0,
43
+ type: "warning",
44
+ message: o("do_you_want_to_remove_this_email_template"),
45
+ onConfirm: async () => {
46
+ await $(s), t(
47
+ y({
48
+ type: "success",
49
+ message: "Remove template successfully"
50
+ })
51
+ ), h({ currentPage: 1 });
52
+ }
53
+ })
54
+ );
55
+ } catch (m) {
56
+ t(
57
+ y({
58
+ type: "danger",
59
+ message: m.response?.data?.title || m.message
60
+ })
61
+ );
62
+ }
63
+ t(g(!1));
64
+ },
65
+ [i]
66
+ ), b = T((s) => {
67
+ const m = s ? `${O}/${s}` : J;
68
+ n(m);
69
+ }, []);
70
+ return N(() => {
71
+ document.title = K;
72
+ }, []), N(() => {
73
+ p();
74
+ }, [i]), {
75
+ emailTemplateList: u,
76
+ totalItems: d,
77
+ filters: i,
78
+ changeFilters: h,
79
+ getData: p,
80
+ removeData: a,
81
+ goToDetail: b,
82
+ mailCategoryList: r
83
+ };
84
+ }, q = "email_template", ae = () => {
85
+ const {
86
+ emailTemplateList: n,
87
+ totalItems: o,
88
+ filters: u,
89
+ changeFilters: d,
90
+ removeData: r,
91
+ goToDetail: i,
92
+ mailCategoryList: h
93
+ } = Q(), { t } = E(), p = (a) => {
94
+ r(a);
95
+ };
96
+ return /* @__PURE__ */ l("div", { className: "fadeIn animated", children: [
97
+ /* @__PURE__ */ e("h5", { className: "mb-2", children: t(q) }),
98
+ /* @__PURE__ */ l(f, { className: "my-2", children: [
99
+ /* @__PURE__ */ e(c, { md: 4, children: /* @__PURE__ */ e(
100
+ w,
101
+ {
102
+ text: t("create_template"),
103
+ onClick: () => i()
104
+ }
105
+ ) }),
106
+ /* @__PURE__ */ l(
107
+ c,
108
+ {
109
+ md: 4,
110
+ className: "d-flex align-items-center justify-content-end",
111
+ children: [
112
+ t("total_of_templates"),
113
+ ": ",
114
+ o
115
+ ]
116
+ }
117
+ )
118
+ ] }),
119
+ /* @__PURE__ */ l(f, { className: "mb-2", children: [
120
+ /* @__PURE__ */ l(c, { md: 8, children: [
121
+ n && n.length > 0 ? /* @__PURE__ */ l(_, { bordered: !0, hover: !0, striped: !0, responsive: !0, size: "sm", children: [
122
+ /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ l("tr", { children: [
123
+ /* @__PURE__ */ e("th", { className: "align-top", children: t("template_name") }),
124
+ /* @__PURE__ */ e("th", { className: "align-top", children: t("category_name") }),
125
+ /* @__PURE__ */ e("th", { className: "align-top", children: t("created_date") }),
126
+ /* @__PURE__ */ e("th", { className: "align-top", children: t("status") }),
127
+ /* @__PURE__ */ e("th", { className: "text-center", children: t("action") })
128
+ ] }) }),
129
+ /* @__PURE__ */ e("tbody", { children: n.map((a) => /* @__PURE__ */ l("tr", { children: [
130
+ /* @__PURE__ */ e("td", { className: "align-middle", children: /* @__PURE__ */ e(
131
+ x,
132
+ {
133
+ label: a.subject,
134
+ onClick: () => i(a.id)
135
+ }
136
+ ) }),
137
+ /* @__PURE__ */ e("td", { className: "align-middle", children: a.category.name }),
138
+ /* @__PURE__ */ e("td", { className: "align-middle", children: S(
139
+ new Date(a.createdAt),
140
+ P
141
+ ) }),
142
+ /* @__PURE__ */ e("td", { className: "align-middle", children: a.isDisabled ? t("disabled") : t("enabled") }),
143
+ /* @__PURE__ */ e("td", { className: "text-center align-middle", children: /* @__PURE__ */ e(
144
+ k,
145
+ {
146
+ onClick: () => p(a.id)
147
+ }
148
+ ) })
149
+ ] }, a.id)) })
150
+ ] }) : /* @__PURE__ */ e(M, { label: t("template") }),
151
+ /* @__PURE__ */ e(f, { className: "mt-2", children: /* @__PURE__ */ e(c, { md: 12, children: /* @__PURE__ */ e(
152
+ j,
153
+ {
154
+ filters: u,
155
+ totalRecordCount: o,
156
+ changePageSize: (a) => d({ pageSize: a }),
157
+ changePage: (a) => d({ currentPage: a })
158
+ }
159
+ ) }) })
160
+ ] }),
161
+ /* @__PURE__ */ e(c, { md: 4, children: /* @__PURE__ */ l(_, { bordered: !0, hover: !0, striped: !0, responsive: !0, size: "sm", children: [
162
+ /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("th", { className: "align-top", children: t("category_name") }) }) }),
163
+ /* @__PURE__ */ e("tbody", { children: h.map((a) => /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e("td", { className: "align-middle", children: a.name }) }, a.id)) })
164
+ ] }) })
165
+ ] })
166
+ ] });
167
+ };
168
+ export {
169
+ ae as default
170
+ };
@@ -0,0 +1,329 @@
1
+ import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
+ import { Row as k, Col as u, Input as R, Button as y, Label as g, Card as E, CardImg as S, CardBody as w, CardTitle as M, CardHeader as B, CardText as j } from "reactstrap";
3
+ import { useSelector as q } from "react-redux";
4
+ import { forwardRef as H, memo as v, useRef as U, useState as K } from "react";
5
+ import { a0 as W, E as L, ar as z, as as P, at as T, au as Q, av as J, aw as X, ax as C, h as Y, a2 as Z, $ as ee, ay as le, m as ae } from "./index--POWjYN0.mjs";
6
+ import { Formik as ne } from "formik";
7
+ import * as b from "yup";
8
+ import { useTranslation as A } from "react-i18next";
9
+ const re = b.object({
10
+ name: b.string().required("Name is required")
11
+ }), se = (l, n) => {
12
+ const { targetMedia: r, onConfirm: i } = l, a = r?.key ? "Update" : "Create", d = r?.key ? "Rename" : "Folder";
13
+ return /* @__PURE__ */ e(
14
+ ne,
15
+ {
16
+ initialValues: { name: r?.name },
17
+ enableReinitialize: !0,
18
+ validationSchema: re,
19
+ onSubmit: (o, m) => {
20
+ i && i(o), m.resetForm();
21
+ },
22
+ children: (o) => {
23
+ const {
24
+ values: m,
25
+ touched: I,
26
+ errors: p,
27
+ handleChange: D,
28
+ handleBlur: O,
29
+ handleSubmit: f
30
+ } = o;
31
+ return /* @__PURE__ */ e(
32
+ W,
33
+ {
34
+ header: d,
35
+ confirmText: a,
36
+ onConfirm: f,
37
+ ref: n,
38
+ children: /* @__PURE__ */ e(k, { children: /* @__PURE__ */ s(u, { md: 12, children: [
39
+ /* @__PURE__ */ e(
40
+ R,
41
+ {
42
+ name: "name",
43
+ placeholder: `Enter your ${r?.key ? "file" : "folder"} name`,
44
+ value: m.name,
45
+ onChange: D,
46
+ onBlur: O("question")
47
+ }
48
+ ),
49
+ I.name && p.name && /* @__PURE__ */ e(
50
+ L,
51
+ {
52
+ text: p.name
53
+ }
54
+ )
55
+ ] }) })
56
+ }
57
+ );
58
+ }
59
+ }
60
+ );
61
+ }, te = H(se), ie = ({
62
+ isLibrary: l,
63
+ step: n,
64
+ breadcumb: r,
65
+ currentPrefix: i,
66
+ targetMedia: a,
67
+ handleSelectFile: d,
68
+ handleCreateFolder: o,
69
+ handleRenameFile: m,
70
+ handleGoBack: I,
71
+ handleDownloadMedia: p,
72
+ handleDeleteMediaOrFolder: D,
73
+ showErrorAlert: O
74
+ }) => {
75
+ const f = U(null), x = U(null), { t: F } = A(), N = () => f?.current?.toggle();
76
+ return /* @__PURE__ */ s("div", { children: [
77
+ /* @__PURE__ */ s(k, { className: "p-2 pl-3", style: { gap: "8px" }, children: [
78
+ !!n && /* @__PURE__ */ s(
79
+ y,
80
+ {
81
+ className: "mr-2",
82
+ color: "secondary",
83
+ onClick: I,
84
+ style: { width: "auto", display: "flex", gap: "4px" },
85
+ children: [
86
+ /* @__PURE__ */ e(z, {}),
87
+ /* @__PURE__ */ e(g, { className: "ml-1 h6 m-0", children: "Go up" })
88
+ ]
89
+ }
90
+ ),
91
+ a && !a.isFolder && /* @__PURE__ */ s(
92
+ y,
93
+ {
94
+ className: "mr-2",
95
+ color: "success",
96
+ onClick: p,
97
+ style: { width: "auto", display: "flex", gap: "4px" },
98
+ children: [
99
+ /* @__PURE__ */ e(P, {}),
100
+ /* @__PURE__ */ e(g, { className: "ml-1 h6 m-0", children: "Download" })
101
+ ]
102
+ }
103
+ ),
104
+ a && !l && /* @__PURE__ */ s(
105
+ y,
106
+ {
107
+ className: "mr-2",
108
+ color: "danger",
109
+ onClick: D,
110
+ style: { width: "auto", display: "flex", gap: "4px" },
111
+ children: [
112
+ /* @__PURE__ */ e(T, {}),
113
+ /* @__PURE__ */ e(g, { className: "ml-1 h6 m-0", children: "Delete" })
114
+ ]
115
+ }
116
+ ),
117
+ a && !l && !a.isFolder && /* @__PURE__ */ s(y, { className: "mr-2", color: "primary", onClick: N, style: { width: "auto", display: "flex", gap: "4px" }, children: [
118
+ /* @__PURE__ */ e(Q, {}),
119
+ /* @__PURE__ */ e(g, { className: "ml-1 h6 m-0", children: "Rename" })
120
+ ] }),
121
+ !a && !l && /* @__PURE__ */ s(y, { className: "mr-2", color: "success", onClick: N, style: { width: "auto", display: "flex", gap: "4px" }, children: [
122
+ /* @__PURE__ */ e(J, {}),
123
+ /* @__PURE__ */ e(g, { className: "ml-1 h6 m-0", children: F("new_folder") })
124
+ ] }),
125
+ !a && !l && /* @__PURE__ */ s(
126
+ y,
127
+ {
128
+ className: "mr-2",
129
+ color: "info",
130
+ onClick: () => x?.current?.click(),
131
+ style: { width: "auto", display: "flex", gap: "4px" },
132
+ children: [
133
+ /* @__PURE__ */ e(X, {}),
134
+ /* @__PURE__ */ e(g, { className: "ml-1 h6 m-0", children: F("upload") })
135
+ ]
136
+ }
137
+ ),
138
+ r && /* @__PURE__ */ e(u, { className: "h-100 d-flex align-items-center", children: r })
139
+ ] }),
140
+ /* @__PURE__ */ e(
141
+ te,
142
+ {
143
+ ref: f,
144
+ targetMedia: a,
145
+ onConfirm: async (h) => {
146
+ h.name != "" ? a && !a.isFolder ? (N(), await m(h.name)) : (N(), await o(i, h.name)) : O("Name can't be empty");
147
+ }
148
+ }
149
+ ),
150
+ /* @__PURE__ */ e(
151
+ "input",
152
+ {
153
+ type: "file",
154
+ id: "customMediaUpload",
155
+ ref: x,
156
+ style: { display: "none" },
157
+ onChange: async (h) => {
158
+ const c = h?.target?.files[0];
159
+ c && await d({ key: i, file: c });
160
+ }
161
+ }
162
+ )
163
+ ] });
164
+ }, oe = v(ie), _ = {
165
+ "media-wrapper": "_media-wrapper_1nc2k_6",
166
+ "media-image": "_media-image_1nc2k_11",
167
+ "media-image-selected": "_media-image-selected_1nc2k_17",
168
+ "media-title": "_media-title_1nc2k_21",
169
+ "filter-media-file": "_filter-media-file_1nc2k_30"
170
+ };
171
+ var t = /* @__PURE__ */ ((l) => (l[l.IMAGE = 0] = "IMAGE", l[l.VIDEO = 1] = "VIDEO", l[l.AUDIO = 2] = "AUDIO", l[l.DOC = 3] = "DOC", l[l.UNKNOW = 4] = "UNKNOW", l))(t || {});
172
+ const ce = ["png", "jpg", "jpeg", "gif"], de = ["mp4", "mp4v"], me = ["txt", "pdf", "doc", "docx", "xls", "csv"], he = ["wav", "mp3"], V = (l) => {
173
+ if (l) {
174
+ if (ce.includes(l)) return t.IMAGE;
175
+ if (de.includes(l)) return t.VIDEO;
176
+ if (me.includes(l)) return t.DOC;
177
+ if (he.includes(l)) return t.AUDIO;
178
+ }
179
+ return t.UNKNOW;
180
+ }, ue = (l) => {
181
+ if (l.isFolder) return C.FOLDER_IMAGE;
182
+ const n = V(l.extension);
183
+ return n === t.IMAGE ? C.PHOTO_IMAGE : n === t.VIDEO ? C.VIDEO_IMAGE : n === t.AUDIO ? C.AUDIO_IMAGE : n === t.DOC ? C.DOCS_IMAGE : C.UNKNOW_IMAGE;
184
+ }, pe = ({ media: l, isTarget: n }) => {
185
+ const r = ue(l);
186
+ return /* @__PURE__ */ s(E, { className: `${n ? _["media-image-selected"] : ""} border-0 `, children: [
187
+ /* @__PURE__ */ e(
188
+ S,
189
+ {
190
+ className: `${_["media-image"]} p-1`,
191
+ top: !0,
192
+ width: "90%",
193
+ src: Y(r),
194
+ alt: l.name
195
+ }
196
+ ),
197
+ /* @__PURE__ */ e(w, { className: "p-1", style: { height: 45 }, children: /* @__PURE__ */ e(M, { tag: "h6", className: _["media-title"], children: l.name }) })
198
+ ] });
199
+ }, fe = v(pe), Ne = [
200
+ { value: t.IMAGE, label: "images" },
201
+ { value: t.AUDIO, label: "audios" },
202
+ { value: t.DOC, label: "docs" },
203
+ { value: t.VIDEO, label: "videos" }
204
+ ], ye = ({
205
+ changeFilters: l
206
+ // filters
207
+ }) => {
208
+ const [n, r] = K(), { t: i } = A();
209
+ return /* @__PURE__ */ s(k, { className: `${_["filter-media-file"]}`, children: [
210
+ /* @__PURE__ */ e(u, { sm: 8, children: /* @__PURE__ */ e(
211
+ Z,
212
+ {
213
+ initValue: "",
214
+ onSearch: (a) => l({
215
+ searchString: a
216
+ }),
217
+ placeholder: i("type_something_to_search_by_file_name")
218
+ }
219
+ ) }),
220
+ /* @__PURE__ */ e(u, { sm: 4, children: /* @__PURE__ */ e(
221
+ ee,
222
+ {
223
+ value: n,
224
+ isMulti: !0,
225
+ options: Ne.map((a) => ({ ...a, label: i(a.label) })),
226
+ onChange: (a) => {
227
+ r(a);
228
+ const d = a.map((o) => o.value);
229
+ l({ types: d });
230
+ }
231
+ }
232
+ ) })
233
+ ] });
234
+ }, ge = ({ height: l, isLibrary: n }) => {
235
+ const {
236
+ filters: r,
237
+ mediaList: i,
238
+ targetMedia: a,
239
+ router: d,
240
+ breadcrumb: o,
241
+ changeFilters: m,
242
+ handleOpenFolder: I,
243
+ handleSelectMedia: p,
244
+ handleSelectFile: D,
245
+ handleCreateFolder: O,
246
+ handleRenameFile: f,
247
+ handleDownloadMedia: x,
248
+ handleDeleteMediaOrFolder: F,
249
+ handleGoBack: N,
250
+ showErrorAlert: G
251
+ } = le(n), h = () => i.map((c) => {
252
+ const $ = a?.key === c.key;
253
+ return /* @__PURE__ */ e(u, { className: "p-2", xs: "auto", children: /* @__PURE__ */ e(
254
+ "div",
255
+ {
256
+ onDoubleClick: () => I(c),
257
+ onClick: () => p(c),
258
+ className: _["media-wrapper"],
259
+ children: /* @__PURE__ */ e(fe, { media: c, isTarget: $ })
260
+ }
261
+ ) }, c.key);
262
+ });
263
+ return /* @__PURE__ */ s(E, { children: [
264
+ /* @__PURE__ */ s(B, { children: [
265
+ /* @__PURE__ */ e(ye, { changeFilters: m, filters: r }),
266
+ /* @__PURE__ */ e(
267
+ oe,
268
+ {
269
+ isLibrary: n,
270
+ step: d.step,
271
+ breadcumb: o,
272
+ currentPrefix: r.prefix || "",
273
+ targetMedia: a,
274
+ handleSelectFile: D,
275
+ handleCreateFolder: O,
276
+ handleRenameFile: f,
277
+ handleDownloadMedia: x,
278
+ handleDeleteMediaOrFolder: F,
279
+ handleGoBack: N,
280
+ showErrorAlert: G
281
+ }
282
+ )
283
+ ] }),
284
+ /* @__PURE__ */ e(w, { style: { minHeight: l }, children: /* @__PURE__ */ e(k, { className: "p-1", children: h() }) })
285
+ ] });
286
+ }, Ce = ({ targetMedia: l }) => {
287
+ if (!l || l?.isFolder) return /* @__PURE__ */ e("div", {});
288
+ const n = V(l.extension), r = ae(l.key || "");
289
+ return /* @__PURE__ */ s(E, { className: "position-sticky", children: [
290
+ /* @__PURE__ */ e(B, { children: l?.name || "Media name" }),
291
+ n === t.IMAGE && /* @__PURE__ */ e(S, { className: "p-2", src: r, loading: "lazy" }),
292
+ n === t.VIDEO && /* @__PURE__ */ e("div", { className: "p-2", children: /* @__PURE__ */ e(
293
+ "video",
294
+ {
295
+ id: l.key,
296
+ width: "100%",
297
+ height: "100%",
298
+ controls: !0,
299
+ children: /* @__PURE__ */ e("source", { src: r })
300
+ }
301
+ ) }),
302
+ n === t.AUDIO && /* @__PURE__ */ e("div", { className: "p-2", children: /* @__PURE__ */ e("audio", { controls: !0, className: "w-100", children: /* @__PURE__ */ e("source", { src: r }) }) }),
303
+ /* @__PURE__ */ s(w, { children: [
304
+ /* @__PURE__ */ e(M, { tag: "h6", children: "General Info" }),
305
+ /* @__PURE__ */ s(j, { children: [
306
+ "File extension: ",
307
+ l.extension?.toUpperCase()
308
+ ] })
309
+ ] })
310
+ ] });
311
+ }, Ie = v(Ce), De = "media_gallery", ve = ({ isLibrary: l }) => {
312
+ const n = q((i) => i.gallery.targetMedia), { t: r } = A();
313
+ return /* @__PURE__ */ s("div", { className: "fadeIn animated", children: [
314
+ !l && /* @__PURE__ */ e("h5", { className: "mb-2", children: r(De) }),
315
+ /* @__PURE__ */ s(k, { className: "mb-2", children: [
316
+ /* @__PURE__ */ e(u, { md: 8, children: /* @__PURE__ */ e(ge, { height: "100vh", isLibrary: l }) }),
317
+ /* @__PURE__ */ e(u, { md: 4, children: /* @__PURE__ */ e(
318
+ Ie,
319
+ {
320
+ targetMedia: n
321
+ },
322
+ n?.key
323
+ ) })
324
+ ] })
325
+ ] });
326
+ };
327
+ export {
328
+ ve as default
329
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("reactstrap"),F=require("react-redux"),x=require("react"),t=require("./index-KWXe_Hjz.js"),v=require("formik"),E=require("yup"),D=require("react-i18next");function A(s){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const a in s)if(a!=="default"){const i=Object.getOwnPropertyDescriptor(s,a);Object.defineProperty(n,a,i.get?i:{enumerable:!0,get:()=>s[a]})}}return n.default=s,Object.freeze(n)}const b=A(E),G=b.object({name:b.string().required("Name is required")}),U=(s,n)=>{const{targetMedia:a,onConfirm:i}=s,r=a?.key?"Update":"Create",m=a?.key?"Rename":"Folder";return e.jsx(v.Formik,{initialValues:{name:a?.name},enableReinitialize:!0,validationSchema:G,onSubmit:(c,u)=>{i&&i(c),u.resetForm()},children:c=>{const{values:u,touched:g,errors:p,handleChange:y,handleBlur:C,handleSubmit:j}=c;return e.jsx(t.CommonModal,{header:m,confirmText:r,onConfirm:j,ref:n,children:e.jsx(l.Row,{children:e.jsxs(l.Col,{md:12,children:[e.jsx(l.Input,{name:"name",placeholder:`Enter your ${a?.key?"file":"folder"} name`,value:u.name,onChange:y,onBlur:C("question")}),g.name&&p.name&&e.jsx(t.ErrorHandler,{text:p.name})]})})})}})},R=x.forwardRef(U),S=({isLibrary:s,step:n,breadcumb:a,currentPrefix:i,targetMedia:r,handleSelectFile:m,handleCreateFolder:c,handleRenameFile:u,handleGoBack:g,handleDownloadMedia:p,handleDeleteMediaOrFolder:y,showErrorAlert:C})=>{const j=x.useRef(null),I=x.useRef(null),{t:O}=D.useTranslation(),f=()=>j?.current?.toggle(),_=()=>e.jsxs(l.Row,{className:"p-2 pl-3",style:{gap:"8px"},children:[!!n&&e.jsxs(l.Button,{className:"mr-2",color:"secondary",onClick:g,style:{width:"auto",display:"flex",gap:"4px"},children:[e.jsx(t.FaArrowLeft,{}),e.jsx(l.Label,{className:"ml-1 h6 m-0",children:"Go up"})]}),r&&!r.isFolder&&e.jsxs(l.Button,{className:"mr-2",color:"success",onClick:p,style:{width:"auto",display:"flex",gap:"4px"},children:[e.jsx(t.FaDownload,{}),e.jsx(l.Label,{className:"ml-1 h6 m-0",children:"Download"})]}),r&&!s&&e.jsxs(l.Button,{className:"mr-2",color:"danger",onClick:y,style:{width:"auto",display:"flex",gap:"4px"},children:[e.jsx(t.FaTrash,{}),e.jsx(l.Label,{className:"ml-1 h6 m-0",children:"Delete"})]}),r&&!s&&!r.isFolder&&e.jsxs(l.Button,{className:"mr-2",color:"primary",onClick:f,style:{width:"auto",display:"flex",gap:"4px"},children:[e.jsx(t.FaEdit,{}),e.jsx(l.Label,{className:"ml-1 h6 m-0",children:"Rename"})]}),!r&&!s&&e.jsxs(l.Button,{className:"mr-2",color:"success",onClick:f,style:{width:"auto",display:"flex",gap:"4px"},children:[e.jsx(t.FaFolderPlus,{}),e.jsx(l.Label,{className:"ml-1 h6 m-0",children:O("new_folder")})]}),!r&&!s&&e.jsxs(l.Button,{className:"mr-2",color:"info",onClick:()=>I?.current?.click(),style:{width:"auto",display:"flex",gap:"4px"},children:[e.jsx(t.FaFileUpload,{}),e.jsx(l.Label,{className:"ml-1 h6 m-0",children:O("upload")})]}),a&&e.jsx(l.Col,{className:"h-100 d-flex align-items-center",children:a})]});return e.jsxs("div",{children:[_(),e.jsx(R,{ref:j,targetMedia:r,onConfirm:async h=>{h.name!=""?r&&!r.isFolder?(f(),await u(h.name)):(f(),await c(i,h.name)):C("Name can't be empty")}}),e.jsx("input",{type:"file",id:"customMediaUpload",ref:I,style:{display:"none"},onChange:async h=>{const d=h?.target?.files[0];d&&await m({key:i,file:d})}})]})},B=x.memo(S),N={"media-wrapper":"_media-wrapper_1nc2k_6","media-image":"_media-image_1nc2k_11","media-image-selected":"_media-image-selected_1nc2k_17","media-title":"_media-title_1nc2k_21","filter-media-file":"_filter-media-file_1nc2k_30"};var o=(s=>(s[s.IMAGE=0]="IMAGE",s[s.VIDEO=1]="VIDEO",s[s.AUDIO=2]="AUDIO",s[s.DOC=3]="DOC",s[s.UNKNOW=4]="UNKNOW",s))(o||{});const q=["png","jpg","jpeg","gif"],M=["mp4","mp4v"],V=["txt","pdf","doc","docx","xls","csv"],L=["wav","mp3"],k=s=>{if(s){if(q.includes(s))return o.IMAGE;if(M.includes(s))return o.VIDEO;if(V.includes(s))return o.DOC;if(L.includes(s))return o.AUDIO}return o.UNKNOW},$=s=>{if(s.isFolder)return t.Images.FOLDER_IMAGE;const n=k(s.extension);return n===o.IMAGE?t.Images.PHOTO_IMAGE:n===o.VIDEO?t.Images.VIDEO_IMAGE:n===o.AUDIO?t.Images.AUDIO_IMAGE:n===o.DOC?t.Images.DOCS_IMAGE:t.Images.UNKNOW_IMAGE},T=({media:s,isTarget:n})=>{const a=$(s);return e.jsxs(l.Card,{className:`${n?N["media-image-selected"]:""} border-0 `,children:[e.jsx(l.CardImg,{className:`${N["media-image"]} p-1`,top:!0,width:"90%",src:t.getStaticFileUrl(a),alt:s.name}),e.jsx(l.CardBody,{className:"p-1",style:{height:45},children:e.jsx(l.CardTitle,{tag:"h6",className:N["media-title"],children:s.name})})]})},H=x.memo(T),P=[{value:o.IMAGE,label:"images"},{value:o.AUDIO,label:"audios"},{value:o.DOC,label:"docs"},{value:o.VIDEO,label:"videos"}],K=({changeFilters:s})=>{const[n,a]=x.useState(),{t:i}=D.useTranslation();return e.jsxs(l.Row,{className:`${N["filter-media-file"]}`,children:[e.jsx(l.Col,{sm:8,children:e.jsx(t.SearchBox,{initValue:"",onSearch:r=>s({searchString:r}),placeholder:i("type_something_to_search_by_file_name")})}),e.jsx(l.Col,{sm:4,children:e.jsx(t.CustomSelector,{value:n,isMulti:!0,options:P.map(r=>({...r,label:i(r.label)})),onChange:r=>{a(r);const m=r.map(c=>c.value);s({types:m})}})})]})},W=({height:s,isLibrary:n})=>{const{filters:a,mediaList:i,targetMedia:r,router:m,breadcrumb:c,changeFilters:u,handleOpenFolder:g,handleSelectMedia:p,handleSelectFile:y,handleCreateFolder:C,handleRenameFile:j,handleDownloadMedia:I,handleDeleteMediaOrFolder:O,handleGoBack:f,showErrorAlert:_}=t.useGalleryList(n),h=()=>i.map(d=>{const w=r?.key===d.key;return e.jsx(l.Col,{className:"p-2",xs:"auto",children:e.jsx("div",{onDoubleClick:()=>g(d),onClick:()=>p(d),className:N["media-wrapper"],children:e.jsx(H,{media:d,isTarget:w})})},d.key)});return e.jsxs(l.Card,{children:[e.jsxs(l.CardHeader,{children:[e.jsx(K,{changeFilters:u,filters:a}),e.jsx(B,{isLibrary:n,step:m.step,breadcumb:c,currentPrefix:a.prefix||"",targetMedia:r,handleSelectFile:y,handleCreateFolder:C,handleRenameFile:j,handleDownloadMedia:I,handleDeleteMediaOrFolder:O,handleGoBack:f,showErrorAlert:_})]}),e.jsx(l.CardBody,{style:{minHeight:s},children:e.jsx(l.Row,{className:"p-1",children:h()})})]})},z=({targetMedia:s})=>{if(!s||s?.isFolder)return e.jsx("div",{});const n=k(s.extension),a=t.getFileUrl(s.key||"");return e.jsxs(l.Card,{className:"position-sticky",children:[e.jsx(l.CardHeader,{children:s?.name||"Media name"}),n===o.IMAGE&&e.jsx(l.CardImg,{className:"p-2",src:a,loading:"lazy"}),n===o.VIDEO&&e.jsx("div",{className:"p-2",children:e.jsx("video",{id:s.key,width:"100%",height:"100%",controls:!0,children:e.jsx("source",{src:a})})}),n===o.AUDIO&&e.jsx("div",{className:"p-2",children:e.jsx("audio",{controls:!0,className:"w-100",children:e.jsx("source",{src:a})})}),e.jsxs(l.CardBody,{children:[e.jsx(l.CardTitle,{tag:"h6",children:"General Info"}),e.jsxs(l.CardText,{children:["File extension: ",s.extension?.toUpperCase()]})]})]})},Q=x.memo(z),J="media_gallery",X=({isLibrary:s})=>{const n=F.useSelector(i=>i.gallery.targetMedia),{t:a}=D.useTranslation();return e.jsxs("div",{className:"fadeIn animated",children:[!s&&e.jsx("h5",{className:"mb-2",children:a(J)}),e.jsxs(l.Row,{className:"mb-2",children:[e.jsx(l.Col,{md:8,children:e.jsx(W,{height:"100vh",isLibrary:s})}),e.jsx(l.Col,{md:4,children:e.jsx(Q,{targetMedia:n},n?.key)})]})]})};exports.default=X;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("react"),m=require("reactstrap"),ee=require("react-router-dom"),e=require("./index-KWXe_Hjz.js"),Z=require("react-redux"),de=require("formik"),Me=require("yup"),re=require("react-google-recaptcha-v3"),ve=require("@react-oauth/google"),X=require("./types-CTFcZUFS.js"),Se=require("./constants-DUelcmx7.js"),ae=require("@azure/msal-browser"),Ue=require("@amplitude/analytics-browser");function Le(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:()=>t[r]})}}return n.default=t,Object.freeze(n)}const O=Le(Me),oe=Le(Ue),Fe={backgroundColor:"#f7f9fc",borderRadius:"4px",marginBottom:"5px",position:"relative"},Be={backgroundColor:"#ffffff",paddingRight:"50px",color:"#333333",caretColor:"#333333"},ze={fontSize:"20px",position:"absolute",right:"10px",color:"#316CD9"},De=t=>t.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(n,r)=>r.toUpperCase()),ne=({isShowPassword:t,togglePasswordVisible:n,onChange:r,placeholder:i})=>s.jsxs("div",{className:"d-flex align-items-center w-100",style:Fe,children:[s.jsx(m.Input,{className:"border password-input",style:Be,type:t?"text":"password",name:"password",onChange:r,placeholder:i||"Password",autocomplete:i?De(i):"password",required:!0}),s.jsx("i",{className:`far ${t?"fa-eye-slash":"fa-eye"} mx-2 cursor-pointer`,style:ze,onClick:()=>n(),title:t?"Hide":"Show"})]}),qe=({open:t,onConfirm:n,onClose:r,clickHandler:i})=>{const[d,p]=a.useState(Se.GRADE_DEFAULT[0].value);return s.jsxs(m.Modal,{isOpen:t,className:`${e.styles["teacher-code"]}`,style:{zIndex:1201},centered:!0,autoFocus:!1,returnFocusAfterClose:!1,children:[s.jsxs("div",{className:`${e.styles["header-teacher-code"]}`,children:[s.jsx("div",{style:{padding:"16px 24px",margin:0,fontWeight:500,fontSize:"1.25rem"},children:"Select Grade"}),s.jsx("div",{hidden:!r,children:s.jsx(e.MdClose,{onClick:()=>r?.(),className:`${e.styles["close-icon"]}`,size:24,style:{color:"rgba(0, 0, 0, 0.54)"}})})]}),s.jsxs(m.ModalBody,{style:{padding:"20px 24px"},children:[s.jsx("p",{className:`${e.styles["teacher-code-label"]}`,style:{margin:0,marginBottom:"16px",color:"rgba(0, 0, 0, 0.6)"},children:"You are logging in as a student, please select your grade"}),s.jsxs("div",{className:"form-floating",style:{marginTop:"16px",marginBottom:"8px"},children:[s.jsx(m.Input,{type:"select",id:"floatingSelectGrade",value:d,onChange:h=>p(h.target.value),children:Se.GRADE_DEFAULT.map(h=>s.jsx("option",{value:h.value,children:h.label},h.value))}),s.jsx("label",{htmlFor:"floatingSelectGrade",children:"Select grade"})]})]}),s.jsx(m.ModalFooter,{style:{borderTop:"none",padding:"8px 24px"},children:s.jsx(m.Button,{disabled:!d,style:{borderRadius:20,background:"#316cd9",border:"none",opacity:d?1:.65},color:"primary",onClick:()=>n(d,i),children:"Confirm"})})]})};function He(t,n){return JSON.stringify(t)===JSON.stringify(n)}const Ve=a.memo(qe,He),We=O.object({email:O.string().email("Email is invalid").required("Email is required"),password:O.string().required("Password is required"),rememberMe:O.boolean()}),Ke=({onSuccess:t,onError:n})=>{const r=ve.useGoogleLogin({onSuccess:async i=>{try{const d=await fetch("https://www.googleapis.com/oauth2/v3/userinfo",{headers:{Authorization:`Bearer ${i.access_token}`}}).then(h=>h.json()),p={accessToken:i.access_token,googleId:d.sub,profileObj:{email:d.email,familyName:d.family_name,givenName:d.given_name,imageUrl:d.picture,name:d.name}};t(p)}catch(d){n(d)}},onError:i=>n(i)});return s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>r(),children:[s.jsxs("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"24px",height:"24px",style:{marginRight:"8px"},children:[s.jsx("path",{fill:"#EA4335",d:"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"}),s.jsx("path",{fill:"#4285F4",d:"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"}),s.jsx("path",{fill:"#FBBC05",d:"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"}),s.jsx("path",{fill:"#34A853",d:"M24 48c6.48 0 12.38-2.12 16.66-5.73l-7.73-6c-2.15 1.45-4.92 2.3-8.93 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"}),s.jsx("path",{fill:"none",d:"M0 0h48v48H0z"})]}),s.jsx("p",{children:"GOOGLE"})]})},Ye=({defaultInfo:t,userLogin:n,school:r,isShowPassword:i,setIsShowPassword:d,fnIsCheckLogin:p,googleClientId:h,fnLoginSSO:y,extensionEmail:E,onLoginWidthClever:N,openModalSelectGrade:L,handleRegisterUser:x,onToggleModelGrade:k})=>{const w=()=>d(!i),B=Z.useDispatch(),{executeRecaptcha:_}=re.useGoogleReCaptcha(),j=a.useCallback(async()=>{if(!_){console.log("execute recaptcha undefined");return}return await _("login")},[_]),I=async C=>{try{await e.AccountSSOLogApi(C)}catch(v){console.error(v)}},z=async C=>{if(C?.accessToken){let{email:v,familyName:D,givenName:S,imageUrl:b,name:P}=C.profileObj,M=C.accessToken,V=C.googleId;const W=window.location.hostname.split(".marioforme.com")?.[0],H=v.split("@")?.[1],me=E?.split(",")?.map(G=>G.trim())?.filter(G=>G).some(G=>H.includes(G));if(!H.includes(W)&&!me){alert("The email address you used does not match the login information in the database. Please check that you are using your school assigned email address to log into MARIO for Me. If you have further trouble please notify your school site administrator"),await I([`${H} is incorrect`]);return}const ie={firstName:S,lastName:D,imageUrl:b,fullName:P,email:v,accessToken:M,googleId:V};B(e.setInforUserGoogle(ie)),p(X.TypeLogin.Google,ie,M,j)}};return s.jsxs(a.Fragment,{children:[s.jsx(de.Formik,{initialValues:t,validationSchema:We,onSubmit:async C=>{try{const v=await j();if(!v)return;C.captcha=v,C.loginType=X.LoginType.Default,n(C)}catch(v){console.error(v)}},children:C=>{const{handleBlur:v,handleSubmit:D,values:S,touched:b,errors:P,setFieldValue:M}=C,V=b.email&&P.email,se=b.password&&P.password;return s.jsx("div",{className:`${e.styles["box-login"]} w-100`,children:s.jsx(m.Form,{className:`${e.styles["block-login"]}`,onSubmit:D,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsxs("div",{className:"d-flex align-items-center mb-4",children:[s.jsx("img",{hidden:!r?.schoolLogo,src:r?.schoolLogo,className:`${e.styles["school-icon"]} mr-3`}),s.jsx("p",{className:`${e.styles["school-name"]} mb-0`,children:r.schoolName})]}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Welcome Back!"}),s.jsx("p",{className:`${e.styles["login-description"]} mb-5`,children:"Please enter your MARIO Education account details"}),s.jsxs(m.FormGroup,{className:`${e.styles["form-user-name"]}`,children:[s.jsx(m.Input,{type:"text",name:"email",placeholder:"Email",value:S.email,onChange:W=>M("email",W.target?.value?.trim()||""),autocomplete:"email",onBlur:v("email"),required:!0}),V&&s.jsx(e.ErrorHandler,{text:P.email})]}),s.jsxs(m.FormGroup,{children:[s.jsx(ne,{isShowPassword:i,togglePasswordVisible:w,onChange:W=>M("password",W.target?.value?.trim()||"")}),se&&s.jsx(e.ErrorHandler,{text:P.password})]}),s.jsx(m.FormGroup,{}),s.jsxs("div",{className:"d-flex justify-content-between",children:[s.jsxs("div",{className:"d-flex align-items-center",style:{gap:"8px"},children:[s.jsx("input",{type:"checkbox",checked:!S.isSessionUserBrowser,className:`${e.styles["checkbox-keep-login"]}`,onChange:()=>M("isSessionUserBrowser",!S.isSessionUserBrowser)}),s.jsx("p",{className:`${e.styles["label-keep-login"]} mb-0 ml-2`,children:"Keep me logged in"})]}),s.jsx(ee.Link,{to:"/forgot-password",className:`${e.styles["link-to-login"]}`,children:"Forgot password?"})]}),s.jsx("button",{className:`${e.styles["btn-login"]} mt-5`,type:"submit",children:"LOG IN"}),s.jsx("p",{className:`${e.styles["option-text"]} my-3 text-center`,children:"OR"}),s.jsxs(m.Row,{className:"mb-4",children:[s.jsx(m.Col,{lg:6,md:6,xs:12,className:"pr-md-3",children:!!h&&s.jsx(ve.GoogleOAuthProvider,{clientId:h,children:s.jsx(Ke,{onSuccess:z,onError:()=>console.log("Google login failed")})})}),r.schoolId&&s.jsx(m.Col,{lg:6,md:6,xs:12,className:`${e.styles["btn-login-sso"]} pl-md-2`,hidden:!r?.schoolId,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>y(j),children:[s.jsx("img",{src:"images/microsoft-logo.png"}),s.jsx("p",{children:"MICROSOFT"})]})})]}),s.jsx("div",{className:`${e.styles["btn-login-sso"]}`,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>window.open("https://launchpad.classlink.com/login"),children:[s.jsx("img",{src:"images/class-link-icon.png"}),s.jsx("p",{children:"SIGN IN WITH CLASSLINK"})]})}),s.jsx("div",{className:`${e.styles["btn-login-sso"]} mt-4`,children:s.jsxs("div",{className:e.styles["btn-login-with-sso"],onClick:()=>N(),children:[s.jsx("img",{src:"images/clever-icon.png"}),s.jsx("p",{children:"SIGN IN WITH CLEVER"})]})})]})})})}}),s.jsx(Ve,{open:L,onConfirm:x,clickHandler:j,onClose:k})]})},Je={email:"",captcha:""},Ze="/",ye="/login",Qe="Log in",Ee=()=>{const t=new URLSearchParams(ee.useLocation().search),n=t.get("token"),r=t.get("key")??"",i=Z.useDispatch(),d=ee.useNavigate(),[p,h]=a.useState(!1),y=a.useCallback(()=>{h(!p)},[p]),[E,N]=a.useState(!1),[L,x]=a.useState(!1),[k,w]=a.useState({token:"",password:"",reEnterPassword:"",email:"",userId:""}),[B,_]=a.useState(!0),{executeRecaptcha:j}=re.useGoogleReCaptcha();a.useEffect(()=>{document.title=Qe,e.getAccessToken()&&d(Ze)},[]);const I=a.useCallback(async S=>{i(e.setLoading(!0));try{await e.forgotPassword(S),d(ye),i(e.setAlert({type:"success",message:"A mail to reset password was sent"}))}catch(b){i(e.setAlert({type:"danger",message:b.response?.data?.title||b.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}i(e.setLoading(!1))},[]),z=a.useCallback(async(S,b)=>{i(e.setLoading(!0));try{const P=await e.checkResetToken(S,b);P.data?w({...k,token:S,email:P.data}):_(!1)}catch{_(!1)}i(e.setLoading(!1))},[]),C=a.useCallback(async S=>{i(e.setLoading(!0));try{await e.resetPassword({...S,key:r}),d(ye),i(e.setAlert({type:"success",message:"Reset password sucessfully"}))}catch(b){i(e.setAlert({type:"danger",message:b.response?.data?.title||b.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}i(e.setLoading(!1))},[]),v=a.useCallback(async()=>{if(!j){console.log("execute recaptcha undefined");return}return await j("forgetPass")},[j]),D=a.useCallback(()=>{},[]);return a.useEffect(()=>{n&&r&&z(n,r)},[n,r]),{defaultInfo:Je,forgotPasswordRequest:I,checkResetTokenRequest:z,validLink:B,resetPasswordRequest:C,openLogin:p,toggle:y,isShowNewPassword:E,setIsShowNewPassword:N,isShowReTypePassword:L,setIsShowReTypePassword:x,clickHandler:v,handleVerify:D,initialValues:k}},Xe={email:"",captcha:""},es=O.object({email:O.string().email("Email is invalid").required("Email is required")}),ss=({school:t})=>{const{forgotPasswordRequest:n,clickHandler:r,handleVerify:i}=Ee();return s.jsx(de.Formik,{initialValues:Xe,enableReinitialize:!0,validationSchema:es,onSubmit:async d=>{const p=await r();p&&(d.captcha=p,n(d))},children:d=>{const{handleChange:p,handleSubmit:h,values:y,touched:E,errors:N}=d;return s.jsx("div",{className:`${e.styles["box-login"]}`,children:s.jsx("div",{className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsxs("div",{className:"d-flex align-items-center mb-4",children:[s.jsx("img",{src:t.schoolLogo,className:`${e.styles["school-icon"]} mr-3`}),s.jsx("p",{className:`${e.styles["school-name"]} mb-0`,children:t.schoolName})]}),s.jsx("p",{className:`${e.styles["title-login"]} `,children:"Forgot password"}),s.jsx("p",{className:`${e.styles["recover-account"]} mb-5`,children:"Enter email to recover your account"}),s.jsxs("div",{className:"w-100",children:[s.jsx(m.Input,{type:"text",name:"email",id:"email",placeholder:"Input email",onChange:p,value:y.email}),E.email&&N.email&&s.jsx(e.ErrorHandler,{text:N.email})]}),s.jsx(ee.Link,{to:"/login",className:`${e.styles["link-to-login"]} mt-2`,children:"Return to login"}),s.jsx(re.GoogleReCaptcha,{action:"forgetPass",onVerify:i}),s.jsx(m.Col,{className:"p-0",children:s.jsx("button",{className:`${e.styles["btn-login"]} mt-5`,onClick:()=>h(),children:"Continue"})})]})})})}})},ts=O.object({password:O.string().required("New password is required"),reEnterPassword:O.string().required("Please re-enter new password").test("matching","Passwords do not match",function(){return this.parent.password===this.parent.reEnterPassword})}),os=()=>{const{validLink:t,resetPasswordRequest:n,isShowNewPassword:r,setIsShowNewPassword:i,isShowReTypePassword:d,setIsShowReTypePassword:p,initialValues:h}=Ee();return s.jsx(de.Formik,{initialValues:h,enableReinitialize:!0,validationSchema:ts,onSubmit:y=>{n(y)},children:y=>{const{setFieldValue:E,handleSubmit:N,touched:L,errors:x,values:k}=y;return s.jsx(m.Row,{className:`${e.styles["box-login"]}`,children:s.jsx(m.Col,{className:"p-0",children:s.jsx("div",{className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Reset Password"}),s.jsx("div",{className:"w-100",children:t?s.jsxs(a.Fragment,{children:[s.jsx(m.FormGroup,{className:`${e.styles["form-user-name"]}`,children:s.jsx(m.Input,{disabled:!0,type:"text",name:"email",placeholder:"Email",value:k.email,autocomplete:"email",required:!0,className:`${e.styles.input}`})}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(ne,{isShowPassword:r,togglePasswordVisible:()=>i(!r),onChange:w=>E("password",w.target.value)}),L.password&&x.password&&s.jsx(e.ErrorHandler,{text:x.password})]}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(ne,{placeholder:"Confirm Password",isShowPassword:d,togglePasswordVisible:()=>p(!d),onChange:w=>E("reEnterPassword",w.target.value)}),L.reEnterPassword&&x.reEnterPassword&&s.jsx(e.ErrorHandler,{text:x.reEnterPassword})]})]}):s.jsxs(a.Fragment,{children:[s.jsx("p",{className:`${e.styles["recover-account"]} mb-5`,children:"Invalid reset password link"}),s.jsx("p",{className:"w-100",children:"It may have been accessed before or expired or you have just tried to reset another account's password"})]})}),t&&s.jsx(m.Col,{className:"p-0",children:s.jsx("button",{className:`${e.styles["btn-login"]} ${e.styles["btn-rounder"]} mt-4`,onClick:()=>N(),children:"SET A NEW PASSWORD"})})]})})})})}})},ke=`${e.BASE_URL}/api/school`,as=()=>e.api.get(`${ke}/settings`),ns=()=>e.api.get(`${ke}/info`),rs={auth:{clientId:e.isLocalhost?"a27f8ac9-e039-4bbd-a9e1-3096e52a77bb":"90c6897c-f17b-475e-a7a8-9a19651e0060",authority:"https://login.microsoftonline.com/common",redirectUri:"https://sso.marioforme.com/microsoft-login.html"},cache:{cacheLocation:"sessionStorage",storeAuthStateInCookie:!1},system:{loggerOptions:{loggerCallback:(t,n,r)=>{if(!r)switch(t){case ae.LogLevel.Error:console.error(n);return;case ae.LogLevel.Info:console.info(n);return;case ae.LogLevel.Verbose:console.debug(n);return;case ae.LogLevel.Warning:console.warn(n);return;default:return}}}}},is={email:"",password:"",captcha:"",rememberMe:!1,isSessionUserBrowser:!!sessionStorage.getItem(e.IS_USER_SESSION_BROWSER)},ls="/home",Ne="/home",cs="/admin/home",ds="/parent",ms="/admin/schools",gs="/list-student",us="Log in",hs=()=>{const t=Z.useDispatch(),n=ee.useNavigate(),[r,i]=a.useState(!1),d=Z.useSelector(o=>o.common.isLoginGoogle),[p,h]=a.useState(""),[y,E]=a.useState(""),[N,L]=a.useState(""),[x,k]=a.useState(!1),w=Z.useSelector(o=>o.common.inforUserGoogle),B=Z.useSelector(o=>o.common.environment),_=new URLSearchParams(location.search),j=_.get("type")==="classlink",I=_.get("token"),z=_.get("isAdminUser"),[C]=a.useState(!1),[v,D]=a.useState({schoolName:"",schoolLogo:"",schoolId:0}),[S,b]=a.useState(null),P=a.useCallback(()=>{i(!r)},[r]),[M,V]=a.useState(!1),[se,W]=a.useState(!1),[H,me]=a.useState({firstName:"",lastName:"",fullName:"",imageUrl:"",email:"",accessToken:"",googleId:""});a.useEffect(()=>{document.title=us;const o=e.getCookieValue("auth-token");if(o){const c=window.location.hostname;if(localStorage.setItem(e.ACCESS_TOKEN,o),document.cookie=`auth-token=;domain=${c.includes("localhost")?c:".marioforme.com"}; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`,document.cookie="redirect-uri=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",z)return n("/admin/home");pe(o);return}e.getAccessToken()&&n("/"),Ae()},[z,pe,n]);const ie=()=>{localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN),localStorage.removeItem("USER_EMAIL")};a.useEffect(()=>{j&&I!=""&&Ie()},[]);const G=()=>{W(!se)},be=()=>{if(e.isLocalhost){const o="https://clever.com/oauth/instant-login?client_id=c3da6c669d239c70d48e&district_id=66132a6f222bda41cc8abe5d";window.location.href=o}else{const o=`https://clever.com/oauth/authorize?response_type=code&redirect_uri=${encodeURIComponent(`${e.BASE_URL}/api/clever/clever-login`)}&client_id=c3da6c669d239c70d48e`;window.location.href=o}},Ie=async()=>{t(e.setLoading(!0));try{const o={tokenClassLink:I},l=await e.apiInforUserClassLink(o),{email:c,token:f}=l.data;await K({email:c,rememberMe:!1,password:"default",accessToken:f})}catch(o){t(e.setAlert({type:"danger",message:o.response?.data?.title||o.message}))}t(e.setLoading(!1))},ge=window.location.host.includes("-district"),Te=a.useCallback(async()=>{t(e.setLoading(!0));try{const o=await ns(),l=o.data.schoolLogo??"";o.data&&D({schoolName:o.data.schoolName,schoolLogo:l?e.getFileUrl(l):e.getStaticFileUrl("/images/logo_header_blue.png"),schoolId:o.data.schoolId})}catch(o){t(e.setAlert({type:"danger",message:o.response?.data?.title||o.message}))}t(e.setLoading(!1))},[]),[_e,le]=a.useState(!1),[Q,ue]=a.useState(null),te=a.useCallback((o,l,c,f,g,U,A,F,q,T)=>{const R=T?.isSessionUserBrowser??!1;if(R?(sessionStorage.setItem(e.ACCESS_TOKEN,o),sessionStorage.setItem(e.IS_USER_SESSION_BROWSER,String(R))):(sessionStorage.removeItem(e.IS_USER_SESSION_BROWSER),localStorage.setItem(e.ACCESS_TOKEN,o)),localStorage.removeItem(e.NOTIFICATION_ALERT_KEY),t(e.setUser({id:l,firstName:c,lastName:f,roles:g,email:U,profileImageFileName:A})),!localStorage.getItem("ROLES")&&g.includes("Admin")&&localStorage.setItem("ROLES","Admin"),T?.email&&!g.includes("Admin")){oe.init(e.isLocalhost?e.INIT_AMPLITUDE_KEY_STAGE:e.INIT_AMPLITUDE_KEY_PROD,T.email,{defaultTracking:!1});const Y=window.location.hostname,J=new oe.Identify;J.set("domain",Y),oe.identify(J),oe.track("general: session start",{user_id:T.email,domain:Y,roles:g?.toString()}),localStorage.setItem("USER_EMAIL",T.email),F&&oe.track("general: first login",{user_id:T.email,domain:Y,roles:g?.toString()})}const $=Y=>{const J=e.navigateBySchoolLevel(Y,q);window.location.pathname.startsWith("/es")?q==="es"?n(J):window.location.href=J:q==="es"?window.location.href=J:n(J)};ge?$(ms):g.includes("Admin")?$(cs):g.includes("Teacher")||g.includes("Assistant")||g.includes("Counselor")||g.includes("SecondaryTeacher")?$(ls):g.includes("Student")?$(Ne):g.includes("Parent")?$(ds):g.includes("EduTeacher")&&$(gs),t(e.setLoading(!1))},[t,n,ge]),ce=a.useCallback((o,l,c)=>x&&o?.includes("Student")&&(l==="es"||c==="ES")?(t(e.setAlert({type:"danger",message:"Unable to sign in with SSO. Please contact your admin or teacher."})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN),t(e.setLoading(!1)),!0):!1,[x,t]),he=a.useCallback(o=>x&&o&&e.ES_GRADES.includes(o.trim())?(t(e.setAlert({type:"danger",message:"Unable to sign in with SSO. Please contact your admin or teacher."})),t(e.setLoading(!1)),!0):!1,[x,t]);async function pe(o){t(e.setLoading(!0));try{const l=await e.getInfo();let{id:c,firstName:f,lastName:g,roles:U,email:A,profileImageFileName:F,isLoginFirst:q,schoolLevel:T,appType:R,preferredAppType:$,needsAppTypeChoice:Y}=l.data;if(Y){ue({email:A}),le(!0),t(e.setLoading(!1));return}T||(R==="ES"||R==="ES, MS"&&$==="ES")&&(T="es"),te(o,c,f,g,U,A,F,q,T,{email:A})}catch(l){t(e.setAlert({type:"danger",message:l.response?.data?.title||l.message||"Login failed"})),t(e.setLoading(!1))}}const Pe=a.useCallback(async o=>{if(le(!1),!Q)return;t(e.setLoading(!0));const l=o==="es"?"ES":o==="ms"?"MS":"ES, MS";try{const c=await e.logIn({...Q,email:Q?.email?.trim(),password:Q?.password?.trim(),preferredAppType:l});let{token:f,id:g,firstName:U,lastName:A,roles:F,email:q,profileImageFileName:T,isLoginFirst:R,schoolLevel:$}=c.data;if(!$&&o==="es"&&($="es"),ce(F,$,c.data.appType))return;te(f,g,U,A,F,q,T,R,$,Q)}catch(c){t(e.setAlert({type:"danger",message:c.response?.data?.title||c.message||"Login failed"})),t(e.setLoading(!1))}},[Q,te,ce,t]),K=a.useCallback(async o=>{t(e.setLoading(!0));try{const l=await e.logIn({...o,email:o?.email?.trim(),password:o?.password?.trim()});let{token:c,id:f,firstName:g,lastName:U,roles:A,email:F,profileImageFileName:q,isLoginFirst:T,schoolLevel:R}=l.data;if(l.data.needsAppTypeChoice){ue(o),le(!0),t(e.setLoading(!1));return}if(R||(l.data.appType==="ES"||l.data.appType==="ES, MS"&&l.data.preferredAppType==="ES")&&(R="es"),ce(A,R,l.data.appType))return;te(c,f,g,U,A,F,q,T,R,o)}catch(l){t(e.setAlert({type:"danger",message:l.response?.data?.title||l.message||"Login failed"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN),t(e.setLoading(!1))}},[te,ce,t]),Ae=async()=>{try{const o=await e.getGoogleClientId();h(o.data.googleClientId),E(o.data.googleCaptchaId),L(o.data.extensionEmail),k(o.data.isRestrictedLogin)}catch(o){t(e.setAlert({type:"danger",message:o.response?.data?.title||o.message||"Login failed"}))}},fe=a.useCallback(async(o,l,c,f)=>{t(e.setLoading(!0));try{if((await e.checkUserGoogle(o,l)).data){const A={email:l.email,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:c,captcha:"",loginType:X.LoginType.Google};if(f!=null){const F=await f();A.captcha=F}await K(A),t(e.setIsLoginGoogle(!1))}else me({...l,token:c}),G()}catch(g){t(e.setAlert({type:"danger",message:g.response?.data?.title||g.message||"Login failed"}))}t(e.setLoading(!1))},[K,t,G]),Re=a.useCallback(async(o,l)=>{t(e.setLoading(!0));try{if(he(o))return;if((await e.registerUserStudent({...H,gradeLevel:o}))?.data){const f={email:H.email,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:H.accessToken,captcha:"",loginType:X.LoginType.Google};if(l!=null){const g=await l();f.captcha=g}await K(f),G()}}catch(c){t(e.setAlert({type:"danger",message:c.response?.data?.title||c.message||"Login failed"}))}t(e.setLoading(!1))},[he,H,K,G,t]),$e=async(o,l)=>{t(e.setLoading(!0));try{const c={firstName:w.firstName,lastName:w.lastName,imageUrl:w.imageUrl,fullName:w.fullName,email:w.email,accessToken:w.accessToken,teacherId:o};if((await e.registerUserStudent(c)).data){const g=await l(),U={email:w.email,captcha:g,isLoginGoogle:!0,rememberMe:!1,password:"default",accessToken:w.accessToken,loginType:X.LoginType.Google};t(e.setIsLoginGoogle(!1)),await K(U),n(Ne)}}catch(c){t(e.setAlert({type:"danger",message:c.response?.data?.title||c.message||"Login failed"}))}t(e.setIsLoginGoogle(!1)),t(e.setLoading(!1))},Oe=async()=>{try{const o=await as();t(e.setSandboxMode(o.data.isSandboxMode))}catch(o){console.error(o)}},xe=async o=>{S.handleRedirectPromise().then(async l=>{if(v?.schoolId)if(l){let c=l.account;await we(c,o)}else{const c=S.getAllAccounts();if(c.length===0){const f=B==="PreProduction"?"https://mario1.marioforme.com":e.isLocalhost?"https://brightsoft.marioforme.com":"https://sso.marioforme.com";window.location.href=(window.location.hostname==="localhost"?window.location.origin:f)+`/microsoft-login.html?redirect-uri=${window.location.origin}&schoolId=${v.schoolId}`}else{let f=c[0];await we(f,o)}}}).catch(l=>{console.error(l)})},we=async(o,l)=>{let c=o.name,f={firstName:c.split(" ").slice(0,-1).join(" "),lastName:c.split(" ").slice(-1).join(" "),fullName:c,imageUrl:"",email:o.username,accessToken:o.idTokenClaims.aio,googleId:o.tenantId};t(e.setInforUserGoogle(f)),await fe(X.TypeLogin.MicrosoftSSO,f,o.idTokenClaims.aio,l)},Ge=async()=>{const o=new ae.PublicClientApplication(rs);await o.initialize(),b(o)};return a.useEffect(()=>{let o=window.location.href;S&&o.includes("code")&&o.includes("client_info")&&xe()},[JSON.stringify(S)]),a.useEffect(()=>{Oe(),Ge(),Te()},[]),{defaultInfo:is,userLogin:K,openLogin:r,toggle:P,isShowPassword:M,setIsShowPassword:V,fnIsCheckLogin:fe,isLoginGoogle:d,infoUser:w,submitLogin:$e,googleClientId:p,googleRecaptchaId:y,handleCancelModelAssign:ie,openModelAssign:C,fnLoginSSO:xe,school:v,extensionEmail:N,handleLoginWidthClever:be,openModalSelectGrade:se,handleRegisterUser:Re,handleToggleModelGrade:G,openModalSelectTier:_e,handleSelectTier:Pe,setOpenModalSelectTier:le}},je="/",ps="/login",Ce="Log in",fs=()=>{const t=Z.useDispatch(),n=ee.useNavigate(),r=location.search,d=new URLSearchParams(r).get("userId"),[p,h]=a.useState(!1),[y,E]=a.useState(!1),[N,L]=a.useState({password:"",reEnterPassword:"",email:"",userId:d??"",token:""}),{executeRecaptcha:x}=re.useGoogleReCaptcha(),k=a.useCallback(async j=>{t(e.setLoading(!0));try{const I=await e.getUserNewPassword(j);L({...N,email:I.data})}catch(I){t(e.setAlert({type:"danger",message:I.message}))}t(e.setLoading(!1))},[]),w=a.useCallback(async j=>{t(e.setLoading(!0));try{await e.createPassword(j),n(ps),t(e.setAlert({type:"success",message:"Create password sucessfully"}))}catch(I){t(e.setAlert({type:"danger",message:I.response?.data?.title||I.message||"Error occured"})),localStorage.removeItem(e.ACCESS_TOKEN),sessionStorage.removeItem(e.ACCESS_TOKEN)}t(e.setLoading(!1))},[]),B=a.useCallback(async()=>{if(!x){console.log("execute recaptcha undefined");return}return await x("forgetPass")},[x]),_=a.useCallback(()=>{},[]);return a.useEffect(()=>{document.title=Ce,e.getAccessToken()&&n(je),d&&k(d)},[d]),a.useEffect(()=>{document.title=Ce,e.getAccessToken()&&n(je)},[]),{createPasswordRequest:w,isShowNewPassword:p,setIsShowNewPassword:h,isShowReTypePassword:y,setIsShowReTypePassword:E,clickHandler:B,handleVerify:_,initialValues:N}},xs=O.object({password:O.string().required("Password is required"),reEnterPassword:O.string().required("Please re-enter Password").test("matching","Passwords do not match",function(){return this.parent.password===this.parent.reEnterPassword})}),ws=()=>{const{createPasswordRequest:t,isShowNewPassword:n,setIsShowNewPassword:r,isShowReTypePassword:i,setIsShowReTypePassword:d,initialValues:p}=fs();return s.jsx(de.Formik,{initialValues:p,enableReinitialize:!0,validationSchema:xs,onSubmit:h=>{t(h)},children:h=>{const{setFieldValue:y,handleSubmit:E,touched:N,errors:L,values:x}=h;return s.jsx(m.Row,{className:`${e.styles["box-login"]}`,children:s.jsxs(m.Col,{className:"p-0",children:[s.jsx("div",{hidden:!x.email,className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"Create Your Password"}),s.jsx("div",{className:"w-100",children:s.jsxs(a.Fragment,{children:[s.jsx(m.FormGroup,{className:`${e.styles["form-user-name"]}`,children:s.jsx(m.Input,{disabled:!0,type:"text",name:"email",placeholder:"Email",value:x.email,autocomplete:"email",required:!0,className:`${e.styles.input}`})}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(ne,{isShowPassword:n,togglePasswordVisible:()=>r(!n),onChange:k=>y("password",k.target.value)}),N.password&&L.password&&s.jsx(e.ErrorHandler,{text:L.password})]}),s.jsxs("div",{className:`${e.styles["form-user-name"]}`,children:[s.jsx(ne,{placeholder:"Confirm Password",isShowPassword:i,togglePasswordVisible:()=>d(!i),onChange:k=>y("reEnterPassword",k.target.value)}),N.reEnterPassword&&L.reEnterPassword&&s.jsx(e.ErrorHandler,{text:L.reEnterPassword})]})]})}),s.jsx("button",{className:`${e.styles["btn-login"]} ${e.styles["btn-rounder"]} mt-4`,onClick:()=>E(),children:"CREATE YOUR PASSWORD"})]})}),s.jsx("div",{hidden:!!x.email,className:`${e.styles["block-login"]}`,children:s.jsxs("div",{className:`${e.styles["block-form"]}`,children:[s.jsx("img",{src:`${e.getStaticFileUrl("/images/horizontal-logo-blue.svg")}`,className:`${e.styles["img-login-rectangle"]}`}),s.jsx("p",{className:`${e.styles["title-login"]}`,children:"You cannot regenerate the password"})]})})]})})}})},Ss="_modalContent_1pxxz_1",ys="_closeButton_1pxxz_6",Ns="_modalBody_1pxxz_17",js="_iconWrapper_1pxxz_22",Cs="_title_1pxxz_38",vs="_subtitle_1pxxz_45",Ls="_tierCard_1pxxz_51",Es="_es_1pxxz_60",ks="_tierTitle_1pxxz_71",bs="_tierDesc_1pxxz_76",Is="_arrow_1pxxz_81",Ts="_ms_1pxxz_85",_s="_both_1pxxz_110",Ps="_cardLeft_1pxxz_134",As="_cardText_1pxxz_138",u={modalContent:Ss,closeButton:ys,modalBody:Ns,iconWrapper:js,title:Cs,subtitle:vs,tierCard:Ls,es:Es,tierTitle:ks,tierDesc:bs,arrow:Is,ms:Ts,both:_s,cardLeft:Ps,cardText:As},Rs=({open:t,onSelectTier:n,onClose:r})=>s.jsxs(m.Modal,{isOpen:t,style:{zIndex:1201,maxWidth:450},centered:!0,autoFocus:!1,returnFocusAfterClose:!1,contentClassName:u.modalContent,children:[s.jsx("div",{className:u.closeButton,children:r&&s.jsx(e.MdClose,{onClick:()=>r(),size:24})}),s.jsxs(m.ModalBody,{className:u.modalBody,children:[s.jsx("div",{className:u.iconWrapper,children:s.jsx("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"})})}),s.jsx("h4",{className:u.title,children:"Select Grade Level"}),s.jsx("p",{className:u.subtitle,children:"Select the grade levels you support"}),s.jsxs("div",{onClick:()=>n("es"),className:`${u.tierCard} ${u.es}`,children:[s.jsxs("div",{className:u.cardLeft,children:[s.jsx("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"})}),s.jsxs("div",{className:u.cardText,children:[s.jsx("div",{className:u.tierTitle,children:"Elementary / Primary"}),s.jsx("div",{className:u.tierDesc,children:"Grades 2-5 / Years 3-6"})]})]}),s.jsx("div",{className:u.arrow,children:">"})]}),s.jsxs("div",{onClick:()=>n("ms"),className:`${u.tierCard} ${u.ms}`,children:[s.jsxs("div",{className:u.cardLeft,children:[s.jsx("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"})}),s.jsxs("div",{className:u.cardText,children:[s.jsx("div",{className:u.tierTitle,children:"Middle & High / Secondary"}),s.jsx("div",{className:u.tierDesc,children:"Grades 6-12 / Years 7-13"})]})]}),s.jsx("div",{className:u.arrow,children:">"})]}),s.jsxs("div",{onClick:()=>n("both"),className:`${u.tierCard} ${u.both}`,children:[s.jsxs("div",{className:u.cardLeft,children:[s.jsx("svg",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:s.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M17 14v6m-3-3h6M6 10h2a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2zm10 0h2a2 2 0 002-2V6a2 2 0 00-2-2h-2a2 2 0 00-2 2v2a2 2 0 002 2zM6 20h2a2 2 0 002-2v-2a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2z"})}),s.jsxs("div",{className:u.cardText,children:[s.jsx("div",{className:u.tierTitle,children:"Both Tiers"}),s.jsx("div",{className:u.tierDesc,children:"Access all grade levels"})]})]}),s.jsx("div",{className:u.arrow,children:">"})]})]})]}),$s=a.memo(Rs),Os="Log in",Gs="Forgot password",Ms="Reset password",Us=t=>{const{isLogin:n,isForgotPassword:r,isResetPassword:i,isCreatePassword:d}=t,{defaultInfo:p,userLogin:h,googleRecaptchaId:y,handleCancelModelAssign:E,school:N,openModelAssign:L,setIsShowPassword:x,fnIsCheckLogin:k,isLoginGoogle:w,submitLogin:B,infoUser:_,googleClientId:j,isShowPassword:I,fnLoginSSO:z,extensionEmail:C,handleLoginWidthClever:v,openModalSelectGrade:D,handleRegisterUser:S,handleToggleModelGrade:b,openModalSelectTier:P,handleSelectTier:M,setOpenModalSelectTier:V}=hs();return a.useEffect(()=>{n&&(document.title=Os),r&&(document.title=Gs),i&&(document.title=Ms)},[n,r,i]),s.jsxs("div",{className:`${e.styles.login} container-fluid font-family-lato`,children:[s.jsxs(m.Row,{className:"h-100",children:[s.jsxs(m.Col,{lg:8,md:12,xs:12,className:"d-flex justify-content-center h-100 align-items-center p-3 flex-column",children:[!!y&&s.jsxs(re.GoogleReCaptchaProvider,{useRecaptchaNet:!0,reCaptchaKey:y,scriptProps:{async:!0,defer:!0,appendTo:"body"},children:[n&&s.jsx(Ye,{userLogin:h,defaultInfo:p,onCancelModelAssign:E,openModelAssign:L,school:N,fnIsCheckLogin:k,googleClientId:j,infoUser:_,isLoginGoogle:w,isShowPassword:I,setIsShowPassword:x,submitLogin:B,fnLoginSSO:z,extensionEmail:C,onLoginWidthClever:v,openModalSelectGrade:D,handleRegisterUser:S,onToggleModelGrade:b}),r&&s.jsx(ss,{school:N})]}),i&&s.jsx(os,{}),d&&s.jsx(ws,{}),s.jsx("a",{href:"/privacy-policy/",target:"blank",className:`${e.styles["privacy-policy"]}`,children:"Privacy Policy"})]}),s.jsx(m.Col,{className:"p-3 mh-100 d-flex justify-content-end",lg:4,md:12,xs:12,children:s.jsx("img",{src:`${e.getStaticFileUrl(window.innerWidth>992?"/images/img-login.png":"/images/img-login-tablet.png")}`,className:`${e.styles["img-login"]}`})})]}),s.jsx($s,{open:P,onSelectTier:M,onClose:()=>V(!1)})]})};exports.default=Us;