contentoh-components-library 21.0.43 → 21.0.46

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.
@@ -75,13 +75,6 @@ var RegistrationFirstStep = function RegistrationFirstStep(props) {
75
75
  regError = _useState18[0],
76
76
  setRegError = _useState18[1];
77
77
 
78
- var name = document.querySelector("#nameInput").value;
79
- var lastName = document.querySelector("#lastNameInput").value;
80
- var email = document.querySelector("#emailInput").value;
81
- var job = document.querySelector("#jobInput").value;
82
- var phone = document.querySelector("#phoneInput").value;
83
- var country = document.querySelector("#countrySelect").value;
84
- var countryCode = document.querySelector("#countryCodeSelect").value;
85
78
  (0, _react.useEffect)(function () {
86
79
  JSON.parse(sessionStorage.getItem("nuevoRegistro")).name === "" && sessionStorage.removeItem("registrationError");
87
80
  sessionStorage.getItem("registrationError") && setRegError(true);
@@ -99,6 +92,13 @@ var RegistrationFirstStep = function RegistrationFirstStep(props) {
99
92
  }, []);
100
93
 
101
94
  var validate = function validate(evt) {
95
+ var name = document.querySelector("#nameInput").value;
96
+ var lastName = document.querySelector("#lastNameInput").value;
97
+ var email = document.querySelector("#emailInput").value;
98
+ var job = document.querySelector("#jobInput").value;
99
+ var phone = document.querySelector("#phoneInput").value;
100
+ var country = document.querySelector("#countrySelect").value;
101
+ var countryCode = document.querySelector("#countryCodeSelect").value;
102
102
  var valid = true;
103
103
  evt.preventDefault();
104
104
  name === "" ? setEmptyName(true) : setEmptyName(false);
@@ -118,11 +118,6 @@ var RegistrationFirstStep = function RegistrationFirstStep(props) {
118
118
  valid = false;
119
119
  } else valid = true;
120
120
 
121
- return valid;
122
- };
123
-
124
- var validateForm = function validateForm(evt, valid) {
125
- evt.preventDefault();
126
121
  var nuevoUsuario = JSON.parse(sessionStorage.getItem("nuevoRegistro"));
127
122
 
128
123
  if (valid) {
@@ -274,8 +269,7 @@ var RegistrationFirstStep = function RegistrationFirstStep(props) {
274
269
  buttonType: "general-default-button",
275
270
  label: "Enviar",
276
271
  onClick: function onClick(e) {
277
- var flag = validate(e);
278
- validateForm(e, flag);
272
+ validate(e);
279
273
  }
280
274
  })
281
275
  }, "4"), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
@@ -124,8 +124,6 @@ var RegistrationSecondStep = function RegistrationSecondStep(props) {
124
124
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScreenHeader.ScreenHeader, {
125
125
  text: "Todos los datos estan protegidos.",
126
126
  headerType: "date-header"
127
- }), !termsCheck && !!privacyCheck && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
128
- children: "Seleccione los terminos y condiciones y el Aviso de privacidad"
129
127
  })]
130
128
  }, "7"), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
131
129
  className: "button-end",
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.SignInLoginCreationAppDefault = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+
12
+ var _index = require("./index");
13
+
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+
16
+ var _default = {
17
+ title: "Components/molecules/SignInLoginCreationApp",
18
+ component: _index.SignInLoginCreationApp
19
+ };
20
+ exports.default = _default;
21
+
22
+ var Template = function Template(args) {
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.SignInLoginCreationApp, (0, _objectSpread2.default)({}, args));
24
+ };
25
+
26
+ var SignInLoginCreationAppDefault = Template.bind({});
27
+ exports.SignInLoginCreationAppDefault = SignInLoginCreationAppDefault;
28
+ SignInLoginCreationAppDefault.args = {};
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SignInLoginCreationApp = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
+
16
+ var _styles = require("./styles");
17
+
18
+ var _index = require("../../atoms/LogoImage/index");
19
+
20
+ var _index2 = require("../../atoms/ScreenHeader/index");
21
+
22
+ var _index3 = require("../../atoms/GeneralButton/index");
23
+
24
+ var _index4 = require("../../atoms/CheckBox/index");
25
+
26
+ var _TagAndInput = require("../TagAndInput");
27
+
28
+ var _variables = require("../../../global-files/variables");
29
+
30
+ var _react = require("react");
31
+
32
+ var _Loading = require("../../atoms/Loading");
33
+
34
+ var _reactRouterDom = require("react-router-dom");
35
+
36
+ var _axios = _interopRequireDefault(require("axios"));
37
+
38
+ var _index5 = require("../../atoms/GradientPanel/index");
39
+
40
+ var _jsxRuntime = require("react/jsx-runtime");
41
+
42
+ var SignInLoginCreationApp = function SignInLoginCreationApp(props) {
43
+ var _useState = (0, _react.useState)(false),
44
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
+ emptyEmail = _useState2[0],
46
+ setEmptyEmail = _useState2[1];
47
+
48
+ var _useState3 = (0, _react.useState)(false),
49
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
50
+ invalidEmail = _useState4[0],
51
+ setInvalidEmail = _useState4[1];
52
+
53
+ var _useState5 = (0, _react.useState)(false),
54
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
55
+ emptyPassword = _useState6[0],
56
+ setEmptyPassword = _useState6[1];
57
+
58
+ var _useState7 = (0, _react.useState)(true),
59
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
60
+ showErrors = _useState8[0],
61
+ setShowErrors = _useState8[1];
62
+
63
+ var _useState9 = (0, _react.useState)(""),
64
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
65
+ signInError = _useState10[0],
66
+ setSignInError = _useState10[1];
67
+
68
+ var _useState11 = (0, _react.useState)(false),
69
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
70
+ loading = _useState12[0],
71
+ setLoading = _useState12[1];
72
+
73
+ var _useState13 = (0, _react.useState)(false),
74
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
75
+ upgradePlanRedirect = _useState14[0],
76
+ setUpgradePlanRedirect = _useState14[1];
77
+
78
+ var validate = /*#__PURE__*/function () {
79
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
80
+ var valid, email, password, session, userGroup, response, userGroupValue, user, company;
81
+ return _regenerator.default.wrap(function _callee$(_context) {
82
+ while (1) {
83
+ switch (_context.prev = _context.next) {
84
+ case 0:
85
+ setSignInError("");
86
+ setShowErrors(true);
87
+ e.preventDefault();
88
+ valid = true;
89
+ email = document.querySelector("#emailInput").value;
90
+ password = document.querySelector("#passwordInput").value;
91
+ !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(email) ? setInvalidEmail(true) : setInvalidEmail(false);
92
+
93
+ if (email === "") {
94
+ valid = false;
95
+ setEmptyEmail(true);
96
+ } else {
97
+ setEmptyEmail(false);
98
+ }
99
+
100
+ if (password === "") {
101
+ valid = false;
102
+ setEmptyPassword(true);
103
+ } else {
104
+ setEmptyPassword(false);
105
+ }
106
+
107
+ if (!valid) {
108
+ _context.next = 34;
109
+ break;
110
+ }
111
+
112
+ _context.prev = 10;
113
+ setLoading(true);
114
+ _context.next = 14;
115
+ return props.Auth.signIn(email, password);
116
+
117
+ case 14:
118
+ session = _context.sent;
119
+
120
+ if (!(session.challengeName === "NEW_PASSWORD_REQUIRED")) {
121
+ _context.next = 20;
122
+ break;
123
+ }
124
+
125
+ props.setUser(session);
126
+ props.setPaso(8);
127
+ _context.next = 26;
128
+ break;
129
+
130
+ case 20:
131
+ userGroup = session.signInUserSession.accessToken.payload["cognito:groups"];
132
+ _context.next = 23;
133
+ return _axios.default.get(process.env.REACT_APP_USER_ENDPOINT, {
134
+ headers: {
135
+ Authorization: session.signInUserSession.idToken.jwtToken
136
+ }
137
+ });
138
+
139
+ case 23:
140
+ response = _context.sent;
141
+ userGroupValue = typeof userGroup === "string" ? userGroup : userGroup[0];
142
+
143
+ if (userGroupValue === "usuario_contentoh") {
144
+ sessionStorage.setItem("auth", true);
145
+ sessionStorage.setItem("jwt", session.signInUserSession.idToken.jwtToken);
146
+ user = JSON.parse(response.data.body).data[0];
147
+ company = JSON.parse(response.data.body).data[1];
148
+ caches.keys().then(function (names) {
149
+ names.forEach(function (name) {
150
+ caches.delete(name);
151
+ });
152
+ });
153
+ user.src = "https://".concat(process.env.REACT_APP_IMAGES_PROFILE_BUCKET, ".s3.amazonaws.com/id-").concat(user.id_user, "/").concat(user.id_user, ".png?").concat(new Date().getTime());
154
+ sessionStorage.setItem("user", JSON.stringify(user));
155
+ sessionStorage.setItem("company", JSON.stringify(company));
156
+ setUpgradePlanRedirect(true);
157
+ } else {
158
+ setSignInError("NotAuthorizedException");
159
+ setLoading(false);
160
+ }
161
+
162
+ case 26:
163
+ _context.next = 34;
164
+ break;
165
+
166
+ case 28:
167
+ _context.prev = 28;
168
+ _context.t0 = _context["catch"](10);
169
+ console.log(_context.t0);
170
+ setLoading(false);
171
+ console.log("error 1");
172
+
173
+ if (_context.t0.code === "NotAuthorizedException") {
174
+ setSignInError("NotAuthorizedException");
175
+ } else if (_context.t0.code === "UserNotConfirmedException") {
176
+ sessionStorage.setItem("email", JSON.stringify(document.querySelector("#usernameInput").value.trim()));
177
+ sessionStorage.setItem("email", JSON.stringify(email));
178
+ props.setPaso(5);
179
+ } else {
180
+ setSignInError("Error");
181
+ console.log("error 2");
182
+ }
183
+
184
+ case 34:
185
+ case "end":
186
+ return _context.stop();
187
+ }
188
+ }
189
+ }, _callee, null, [[10, 28]]);
190
+ }));
191
+
192
+ return function validate(_x) {
193
+ return _ref.apply(this, arguments);
194
+ };
195
+ }();
196
+
197
+ (0, _react.useEffect)(function () {
198
+ sessionStorage.getItem("resetPasswordProcess") && sessionStorage.removeItem("resetPasswordProcess");
199
+ }, []);
200
+ (0, _react.useEffect)(function () {
201
+ if (upgradePlanRedirect) setLoading(false);
202
+ }, [upgradePlanRedirect]);
203
+ var loginRight = [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
204
+ className: "main-container",
205
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.LogoImage, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
206
+ className: "credenciales",
207
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.ScreenHeader, {
208
+ fontFamily: _variables.FontFamily.AvenirNext,
209
+ color: _variables.GlobalColors.s5,
210
+ text: "Ingresa tus credenciales"
211
+ })
212
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
213
+ className: "user",
214
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TagAndInput.TagAndInput, {
215
+ inputType: "text",
216
+ label: "Nombre de usuario",
217
+ inputPlaceHolder: "username@contentoh.com",
218
+ inputId: "emailInput"
219
+ }), showErrors && emptyEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
220
+ children: "Ingrese su correo"
221
+ }), invalidEmail && !emptyEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
222
+ children: "Ingrese un correo v\xE1lido"
223
+ })]
224
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
225
+ className: "password",
226
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TagAndInput.TagAndInput, {
227
+ inputType: "password",
228
+ label: "Contraseña",
229
+ inputPlaceHolder: "Escribe tu contraseña",
230
+ inputId: "passwordInput"
231
+ }), showErrors && emptyPassword && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
232
+ children: "Ingrese su contrase\xF1a"
233
+ })]
234
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
235
+ className: "select",
236
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index4.CheckBox, {
237
+ label: "Mantener sesión activada",
238
+ id: "chk-default",
239
+ className: "active-left"
240
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
241
+ onClick: function onClick() {
242
+ return props.setPaso(10);
243
+ },
244
+ className: "active-right",
245
+ children: "Olvide mi contrase\xF1a"
246
+ }), showErrors && signInError === "NotAuthorizedException" && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
247
+ children: "Correo o contrase\xF1a incorrectos"
248
+ }), showErrors && signInError === "Error" && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
249
+ children: "Ha habido un problema al iniciar sesi\xF3n"
250
+ })]
251
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
252
+ className: "button-right",
253
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index3.Button, {
254
+ buttonType: "general-default-button",
255
+ label: "Iniciar sesión",
256
+ onClick: function onClick(e) {
257
+ return validate(e);
258
+ }
259
+ })
260
+ })]
261
+ })];
262
+ return loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.Loading, {}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
263
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.Container, {
264
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index5.GradientPanel, {
265
+ componentsArray: loginRight,
266
+ panelType: "home-login",
267
+ panelColor: _variables.GlobalColors.white
268
+ })
269
+ }), upgradePlanRedirect && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Redirect, {
270
+ to: {
271
+ pathname: "/dashboard"
272
+ }
273
+ })]
274
+ });
275
+ };
276
+
277
+ exports.SignInLoginCreationApp = SignInLoginCreationApp;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Container = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _variables = require("../../../global-files/variables");
15
+
16
+ var _templateObject;
17
+
18
+ var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: \"white\";\n display: flex;\n height: 100vh;\n width: 50%;\n"])));
19
+
20
+ exports.Container = Container;
@@ -15,6 +15,6 @@ var _variables = require("../../../global-files/variables");
15
15
 
16
16
  var _templateObject;
17
17
 
18
- var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n height: 100%;\n width: 50%;\n .button-center {\n text-align: center;\n .general-default-button {\n width: 160px;\n }\n }\n .reset-password {\n text-align: center;\n margin: 15px !important;\n color: ", ";\n cursor: pointer;\n font-weight: bold;\n font-family: ", ";\n font-size: 13px;\n }\n .resend-code {\n margin-top: 8px !important;\n color: ", ";\n font-family: ", ";\n font-size: 11px;\n text-decoration: underline rgb(228, 81, 172);\n cursor: pointer;\n & + * {\n margin-top: 30px;\n }\n }\n .verification-code {\n display: flex;\n text-align: center;\n margin: auto;\n margin-top: 10px;\n input[type=\"number\"]::-webkit-inner-spin-button,\n input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n input {\n width: 70%;\n text-align: center;\n }\n }\n"])), _variables.GlobalColors.secondary_magenta, _variables.FontFamily.Raleway, _variables.GlobalColors.magenta_s2, _variables.FontFamily.AvenirNext);
18
+ var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n height: 100vh;\n width: 50%;\n align-items: center;\n justify-content: center;\n .button-center {\n text-align: center;\n .general-default-button {\n width: 160px;\n }\n }\n .reset-password {\n text-align: center;\n margin: 15px !important;\n color: ", ";\n cursor: pointer;\n font-weight: bold;\n font-family: ", ";\n font-size: 13px;\n }\n .resend-code {\n margin-top: 8px !important;\n color: ", ";\n font-family: ", ";\n font-size: 11px;\n text-decoration: underline rgb(228, 81, 172);\n cursor: pointer;\n & + * {\n margin-top: 30px;\n }\n }\n .verification-code {\n display: flex;\n text-align: center;\n margin: auto;\n margin-top: 10px;\n input[type=\"number\"]::-webkit-inner-spin-button,\n input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n input {\n width: 70%;\n text-align: center;\n }\n }\n"])), _variables.GlobalColors.secondary_magenta, _variables.FontFamily.Raleway, _variables.GlobalColors.magenta_s2, _variables.FontFamily.AvenirNext);
19
19
 
20
20
  exports.Container = Container;
@@ -13,6 +13,6 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
 
14
14
  var _templateObject;
15
15
 
16
- var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n width: 50%;\n height: 100vh;\n .button-center {\n position: absolute;\n bottom: 10%;\n left: 65%;\n .general-default-button {\n width: 160px;\n }\n }\n"])));
16
+ var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n width: 50%;\n height: 100vh;\n .button-center {\n position: absolute;\n bottom: 13%;\n left: 18%;\n .general-default-button {\n width: 160px;\n }\n }\n"])));
17
17
 
18
18
  exports.Container = Container;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contentoh-components-library",
3
- "version": "21.0.43",
3
+ "version": "21.0.46",
4
4
  "dependencies": {
5
5
  "@aws-amplify/auth": "^4.5.3",
6
6
  "@aws-amplify/datastore": "^3.11.0",
@@ -18,14 +18,7 @@ export const RegistrationFirstStep = (props) => {
18
18
  const [invalidEmail, setInvalidEmail] = useState(false);
19
19
  const [phoneFormatError, setPhoneFormatError] = useState(false);
20
20
  const [regError, setRegError] = useState(false);
21
- const name = document.querySelector("#nameInput").value;
22
- const lastName = document.querySelector("#lastNameInput").value;
23
- const email = document.querySelector("#emailInput").value;
24
- const job = document.querySelector("#jobInput").value;
25
- const phone = document.querySelector("#phoneInput").value;
26
- const country = document.querySelector("#countrySelect").value;
27
- const countryCode = document.querySelector("#countryCodeSelect").value;
28
-
21
+
29
22
  useEffect(() => {
30
23
  JSON.parse(sessionStorage.getItem("nuevoRegistro")).name === "" &&
31
24
  sessionStorage.removeItem("registrationError");
@@ -42,6 +35,13 @@ export const RegistrationFirstStep = (props) => {
42
35
  sessionStorage.getItem("resetPasswordProcess");
43
36
  }, []);
44
37
  const validate = (evt) => {
38
+ const name = document.querySelector("#nameInput").value;
39
+ const lastName = document.querySelector("#lastNameInput").value;
40
+ const email = document.querySelector("#emailInput").value;
41
+ const job = document.querySelector("#jobInput").value;
42
+ const phone = document.querySelector("#phoneInput").value;
43
+ const country = document.querySelector("#countrySelect").value;
44
+ const countryCode = document.querySelector("#countryCodeSelect").value;
45
45
  let valid = true;
46
46
  evt.preventDefault();
47
47
  name === "" ? setEmptyName(true) : setEmptyName(false);
@@ -78,11 +78,6 @@ export const RegistrationFirstStep = (props) => {
78
78
  ) {
79
79
  valid = false;
80
80
  } else valid = true;
81
-
82
- return valid;
83
- };
84
- const validateForm = (evt, valid) => {
85
- evt.preventDefault();
86
81
  let nuevoUsuario = JSON.parse(sessionStorage.getItem("nuevoRegistro"));
87
82
  if (valid) {
88
83
  sessionStorage.setItem("countryCode", JSON.stringify(countryCode));
@@ -198,8 +193,7 @@ export const RegistrationFirstStep = (props) => {
198
193
  buttonType={"general-default-button"}
199
194
  label={"Enviar"}
200
195
  onClick={(e) => {
201
- let flag = validate(e);
202
- validateForm(e, flag);
196
+ validate(e);
203
197
  }}
204
198
  />
205
199
  </div>,
@@ -46,7 +46,7 @@ export const RegistrationSecondStep = (props) => {
46
46
  password !== confirmPassword
47
47
  ) {
48
48
  valid = false;
49
- }
49
+ }
50
50
  return valid;
51
51
  };
52
52
  const loginRight = [
@@ -90,11 +90,6 @@ export const RegistrationSecondStep = (props) => {
90
90
  text={"Todos los datos estan protegidos."}
91
91
  headerType={"date-header"}
92
92
  />
93
- {!termsCheck && !!privacyCheck && (
94
- <label>
95
- Seleccione los terminos y condiciones y el Aviso de privacidad
96
- </label>
97
- )}
98
93
  </div>,
99
94
  <div className="button-end" key="8">
100
95
  <Button
@@ -0,0 +1,11 @@
1
+ import { SignInLoginCreationApp } from "./index";
2
+
3
+ export default {
4
+ title: "Components/molecules/SignInLoginCreationApp",
5
+ component: SignInLoginCreationApp,
6
+ };
7
+
8
+ const Template = (args) => <SignInLoginCreationApp {...args} />;
9
+
10
+ export const SignInLoginCreationAppDefault = Template.bind({});
11
+ SignInLoginCreationAppDefault.args = {};
@@ -0,0 +1,192 @@
1
+ import { Container } from "./styles";
2
+ import { LogoImage } from "../../atoms/LogoImage/index";
3
+ import { ScreenHeader } from "../../atoms/ScreenHeader/index";
4
+ import { Button } from "../../atoms/GeneralButton/index";
5
+ import { CheckBox } from "../../atoms/CheckBox/index";
6
+ import { TagAndInput } from "../TagAndInput";
7
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
8
+ import { useState, useEffect } from "react";
9
+ import { Loading } from "../../atoms/Loading";
10
+ import { Redirect } from "react-router-dom";
11
+ import axios from "axios";
12
+ import { GradientPanel } from "../../atoms/GradientPanel/index";
13
+
14
+ export const SignInLoginCreationApp = (props) => {
15
+ const [emptyEmail, setEmptyEmail] = useState(false);
16
+ const [invalidEmail, setInvalidEmail] = useState(false);
17
+ const [emptyPassword, setEmptyPassword] = useState(false);
18
+ const [showErrors, setShowErrors] = useState(true);
19
+ const [signInError, setSignInError] = useState("");
20
+ const [loading, setLoading] = useState(false);
21
+ const [upgradePlanRedirect, setUpgradePlanRedirect] = useState(false);
22
+ const validate = async (e) => {
23
+ setSignInError("");
24
+ setShowErrors(true);
25
+ e.preventDefault();
26
+ let valid = true;
27
+ const email = document.querySelector("#emailInput").value;
28
+ const password = document.querySelector("#passwordInput").value;
29
+ !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(
30
+ email
31
+ )
32
+ ? setInvalidEmail(true)
33
+ : setInvalidEmail(false);
34
+ if (email === "") {
35
+ valid = false;
36
+ setEmptyEmail(true);
37
+ } else {
38
+ setEmptyEmail(false);
39
+ }
40
+ if (password === "") {
41
+ valid = false;
42
+ setEmptyPassword(true);
43
+ } else {
44
+ setEmptyPassword(false);
45
+ }
46
+ if (valid) {
47
+ try {
48
+ setLoading(true);
49
+ const session = await props.Auth.signIn(email, password);
50
+ if (session.challengeName === "NEW_PASSWORD_REQUIRED") {
51
+ props.setUser(session);
52
+ props.setPaso(8);
53
+ } else {
54
+ const userGroup =
55
+ session.signInUserSession.accessToken.payload["cognito:groups"];
56
+ const response = await axios.get(
57
+ process.env.REACT_APP_USER_ENDPOINT,
58
+ {
59
+ headers: {
60
+ Authorization: session.signInUserSession.idToken.jwtToken,
61
+ },
62
+ }
63
+ );
64
+ const userGroupValue =
65
+ typeof userGroup === "string" ? userGroup : userGroup[0];
66
+ if (userGroupValue === "usuario_contentoh") {
67
+ sessionStorage.setItem("auth", true);
68
+ sessionStorage.setItem(
69
+ "jwt",
70
+ session.signInUserSession.idToken.jwtToken
71
+ );
72
+ const user = JSON.parse(response.data.body).data[0];
73
+ const company = JSON.parse(response.data.body).data[1];
74
+ caches.keys().then((names) => {
75
+ names.forEach((name) => {
76
+ caches.delete(name);
77
+ });
78
+ });
79
+ user.src = `https://${
80
+ process.env.REACT_APP_IMAGES_PROFILE_BUCKET
81
+ }.s3.amazonaws.com/id-${user.id_user}/${
82
+ user.id_user
83
+ }.png?${new Date().getTime()}`;
84
+ sessionStorage.setItem("user", JSON.stringify(user));
85
+ sessionStorage.setItem("company", JSON.stringify(company));
86
+ setUpgradePlanRedirect(true);
87
+ } else {
88
+ setSignInError("NotAuthorizedException");
89
+ setLoading(false);
90
+ }
91
+ }
92
+ } catch (error) {
93
+ console.log(error);
94
+ setLoading(false);
95
+ console.log("error 1");
96
+ if (error.code === "NotAuthorizedException") {
97
+ setSignInError("NotAuthorizedException");
98
+ } else if (error.code === "UserNotConfirmedException") {
99
+ sessionStorage.setItem(
100
+ "email",
101
+ JSON.stringify(
102
+ document.querySelector("#usernameInput").value.trim()
103
+ )
104
+ );
105
+ sessionStorage.setItem("email", JSON.stringify(email));
106
+ props.setPaso(5);
107
+ } else {
108
+ setSignInError("Error");
109
+ console.log("error 2");
110
+ }
111
+ }
112
+ }
113
+ };
114
+
115
+ useEffect(() => {
116
+ sessionStorage.getItem("resetPasswordProcess") &&
117
+ sessionStorage.removeItem("resetPasswordProcess");
118
+ }, []);
119
+
120
+ useEffect(() => {
121
+ if (upgradePlanRedirect) setLoading(false);
122
+ }, [upgradePlanRedirect]);
123
+
124
+ const loginRight = [
125
+ <div className="main-container">
126
+ <LogoImage />
127
+ <div className="credenciales">
128
+ <ScreenHeader
129
+ fontFamily={FontFamily.AvenirNext}
130
+ color={GlobalColors.s5}
131
+ text={"Ingresa tus credenciales"}
132
+ />
133
+ </div>
134
+ <div className="user">
135
+ <TagAndInput
136
+ inputType={"text"}
137
+ label={"Nombre de usuario"}
138
+ inputPlaceHolder={"username@contentoh.com"}
139
+ inputId={"emailInput"}
140
+ />
141
+ {showErrors && emptyEmail && <label>Ingrese su correo</label>}
142
+ {invalidEmail && !emptyEmail && <label>Ingrese un correo válido</label>}
143
+ </div>
144
+ <div className="password">
145
+ <TagAndInput
146
+ inputType={"password"}
147
+ label={"Contraseña"}
148
+ inputPlaceHolder={"Escribe tu contraseña"}
149
+ inputId={"passwordInput"}
150
+ />
151
+ {showErrors && emptyPassword && <label>Ingrese su contraseña</label>}
152
+ </div>
153
+ <div className="select">
154
+ <CheckBox
155
+ label={"Mantener sesión activada"}
156
+ id={"chk-default"}
157
+ className="active-left"
158
+ />
159
+ <p onClick={() => props.setPaso(10)} className="active-right">
160
+ Olvide mi contraseña
161
+ </p>
162
+ {showErrors && signInError === "NotAuthorizedException" && (
163
+ <label>Correo o contraseña incorrectos</label>
164
+ )}
165
+ {showErrors && signInError === "Error" && (
166
+ <label>Ha habido un problema al iniciar sesión</label>
167
+ )}
168
+ </div>
169
+ <div className="button-right">
170
+ <Button
171
+ buttonType={"general-default-button"}
172
+ label={"Iniciar sesión"}
173
+ onClick={(e) => validate(e)}
174
+ />
175
+ </div>
176
+ </div>,
177
+ ];
178
+ return loading ? (
179
+ <Loading />
180
+ ) : (
181
+ <>
182
+ <Container>
183
+ <GradientPanel
184
+ componentsArray={loginRight}
185
+ panelType={"home-login"}
186
+ panelColor={GlobalColors.white}
187
+ />
188
+ </Container>
189
+ {upgradePlanRedirect && <Redirect to={{ pathname: "/dashboard" }} />}
190
+ </>
191
+ );
192
+ };
@@ -0,0 +1,9 @@
1
+ import styled from "styled-components";
2
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ background: "white";
6
+ display: flex;
7
+ height: 100vh;
8
+ width: 50%;
9
+ `;
@@ -3,8 +3,10 @@ import { FontFamily, GlobalColors } from "../../../global-files/variables";
3
3
 
4
4
  export const Container = styled.div`
5
5
  display: flex;
6
- height: 100%;
6
+ height: 100vh;
7
7
  width: 50%;
8
+ align-items: center;
9
+ justify-content: center;
8
10
  .button-center {
9
11
  text-align: center;
10
12
  .general-default-button {
@@ -6,8 +6,8 @@ export const Container = styled.div`
6
6
  height: 100vh;
7
7
  .button-center {
8
8
  position: absolute;
9
- bottom: 10%;
10
- left: 65%;
9
+ bottom: 13%;
10
+ left: 18%;
11
11
  .general-default-button {
12
12
  width: 160px;
13
13
  }