contentoh-components-library 21.1.20 → 21.1.23
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.
- package/dist/assets/images/sliderToolTip/slide21.svg +9 -0
- package/dist/assets/images/sliderToolTip/slide22.svg +9 -0
- package/dist/assets/images/sliderToolTip/slide23.svg +9 -0
- package/dist/components/atoms/CheckBox/styles.js +1 -1
- package/dist/components/atoms/ListCommercialRetailers/ListCommercialRetailers.stories.js +36 -0
- package/dist/components/atoms/ListCommercialRetailers/index.js +64 -0
- package/dist/components/atoms/ListCommercialRetailers/styles.js +20 -0
- package/dist/components/atoms/MenuCommercialRetailers/MenuCommercialRetailers.stories.js +37 -0
- package/dist/components/atoms/MenuCommercialRetailers/index.js +25 -0
- package/dist/components/atoms/MenuCommercialRetailers/styles.js +20 -0
- package/dist/components/atoms/MenuProductImage/MenuProductImage.stories.js +28 -0
- package/dist/components/atoms/MenuProductImage/index.js +88 -0
- package/dist/components/atoms/MenuProductImage/styles.js +20 -0
- package/dist/components/atoms/SliderToolTip/SliderToolTip.stories.js +67 -13
- package/dist/components/atoms/SliderToolTip/index.js +64 -134
- package/dist/components/atoms/SliderToolTip/styles.js +2 -2
- package/dist/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +44 -1
- package/dist/components/atoms/VerticalSideMenuMainPage/index.js +49 -48
- package/dist/components/atoms/VerticalSideMenuMainPage/styles.js +12 -3
- package/dist/components/molecules/ApproveRejetPanel/ApproveRejetPanel.stories.js +25 -0
- package/dist/components/molecules/ApproveRejetPanel/index.js +49 -0
- package/dist/components/molecules/ApproveRejetPanel/styles.js +18 -0
- package/dist/components/molecules/SignInLoginCreationApp/SignInLogin.stories.js +28 -0
- package/dist/components/molecules/SignInLoginCreationApp/index.js +270 -0
- package/dist/components/molecules/SignInLoginCreationApp/styles.js +20 -0
- package/dist/components/molecules/StatusAsignationInfo/index.js +35 -1
- package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +54 -18
- package/dist/components/pages/ProviderProductEdition/index.js +13 -5
- package/dist/global-files/global-styles.css +0 -1
- package/package.json +1 -1
- package/src/assets/images/sliderToolTip/slide21.svg +9 -0
- package/src/assets/images/sliderToolTip/slide22.svg +9 -0
- package/src/assets/images/sliderToolTip/slide23.svg +9 -0
- package/src/components/atoms/CheckBox/styles.js +0 -1
- package/src/components/atoms/SliderToolTip/SliderToolTip.stories.js +77 -11
- package/src/components/atoms/SliderToolTip/index.js +91 -154
- package/src/components/atoms/SliderToolTip/styles.js +48 -22
- package/src/components/atoms/VerticalSideMenuMainPage/VerticalSideMenuMainPage.stories.js +24 -1
- package/src/components/atoms/VerticalSideMenuMainPage/index.js +41 -30
- package/src/components/atoms/VerticalSideMenuMainPage/styles.js +70 -18
- package/src/components/molecules/StatusAsignationInfo/index.js +37 -0
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +60 -18
- package/src/components/pages/ProviderProductEdition/index.js +13 -4
- package/dist/components/atoms/Percent/Percent.stories.js +0 -39
- package/dist/components/atoms/Percent/index.js +0 -39
- package/dist/components/atoms/Percent/styles.js +0 -20
- package/dist/components/molecules/TextAndGradient/TextAndGradient.stories.js +0 -31
- package/dist/components/molecules/TextAndGradient/index.js +0 -36
- package/dist/components/molecules/TextAndGradient/styles.js +0 -18
- package/src/components/pages/RegistrationLoginFirstStep/RegistrationLoginFirstStep.stories.js +0 -17
- package/src/components/pages/RegistrationLoginFirstStep/index.js +0 -160
- package/src/components/pages/RegistrationLoginFirstStep/styles.js +0 -85
|
@@ -0,0 +1,270 @@
|
|
|
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 _jsxRuntime = require("react/jsx-runtime");
|
|
39
|
+
|
|
40
|
+
var SignInLoginCreationApp = function SignInLoginCreationApp(props) {
|
|
41
|
+
var _useState = (0, _react.useState)(false),
|
|
42
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
43
|
+
emptyEmail = _useState2[0],
|
|
44
|
+
setEmptyEmail = _useState2[1];
|
|
45
|
+
|
|
46
|
+
var _useState3 = (0, _react.useState)(false),
|
|
47
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
48
|
+
invalidEmail = _useState4[0],
|
|
49
|
+
setInvalidEmail = _useState4[1];
|
|
50
|
+
|
|
51
|
+
var _useState5 = (0, _react.useState)(false),
|
|
52
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
53
|
+
emptyPassword = _useState6[0],
|
|
54
|
+
setEmptyPassword = _useState6[1];
|
|
55
|
+
|
|
56
|
+
var _useState7 = (0, _react.useState)(true),
|
|
57
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
58
|
+
showErrors = _useState8[0],
|
|
59
|
+
setShowErrors = _useState8[1];
|
|
60
|
+
|
|
61
|
+
var _useState9 = (0, _react.useState)(""),
|
|
62
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
63
|
+
signInError = _useState10[0],
|
|
64
|
+
setSignInError = _useState10[1];
|
|
65
|
+
|
|
66
|
+
var _useState11 = (0, _react.useState)(false),
|
|
67
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
68
|
+
loading = _useState12[0],
|
|
69
|
+
setLoading = _useState12[1];
|
|
70
|
+
|
|
71
|
+
var _useState13 = (0, _react.useState)(false),
|
|
72
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
73
|
+
upgradePlanRedirect = _useState14[0],
|
|
74
|
+
setUpgradePlanRedirect = _useState14[1];
|
|
75
|
+
|
|
76
|
+
var validate = /*#__PURE__*/function () {
|
|
77
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
|
|
78
|
+
var valid, email, password, session, userGroup, response, userGroupValue, user, company;
|
|
79
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context.prev = _context.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
setSignInError("");
|
|
85
|
+
setShowErrors(true);
|
|
86
|
+
valid = true;
|
|
87
|
+
email = document.querySelector("#emailInput").value.trim();
|
|
88
|
+
password = document.querySelector("#passwordInput").value;
|
|
89
|
+
!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(email) ? setInvalidEmail(true) : setInvalidEmail(false);
|
|
90
|
+
|
|
91
|
+
if (email === "") {
|
|
92
|
+
valid = false;
|
|
93
|
+
setEmptyEmail(true);
|
|
94
|
+
} else {
|
|
95
|
+
setEmptyEmail(false);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (password === "") {
|
|
99
|
+
valid = false;
|
|
100
|
+
setEmptyPassword(true);
|
|
101
|
+
} else {
|
|
102
|
+
setEmptyPassword(false);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (!valid) {
|
|
106
|
+
_context.next = 35;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
_context.prev = 10;
|
|
111
|
+
setLoading(true);
|
|
112
|
+
_context.next = 14;
|
|
113
|
+
return props.Auth.signIn(email, password);
|
|
114
|
+
|
|
115
|
+
case 14:
|
|
116
|
+
session = _context.sent;
|
|
117
|
+
|
|
118
|
+
if (!(session.challengeName === "NEW_PASSWORD_REQUIRED")) {
|
|
119
|
+
_context.next = 20;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
props.setUser(session);
|
|
124
|
+
props.setPaso(8);
|
|
125
|
+
_context.next = 28;
|
|
126
|
+
break;
|
|
127
|
+
|
|
128
|
+
case 20:
|
|
129
|
+
userGroup = session.signInUserSession.accessToken.payload["cognito:groups"];
|
|
130
|
+
_context.next = 23;
|
|
131
|
+
return _axios.default.get(process.env.REACT_APP_USER_ENDPOINT, {
|
|
132
|
+
headers: {
|
|
133
|
+
Authorization: session.signInUserSession.idToken.jwtToken
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
case 23:
|
|
138
|
+
response = _context.sent;
|
|
139
|
+
console.log(userGroup);
|
|
140
|
+
console.log(userGroup[0]);
|
|
141
|
+
userGroupValue = typeof userGroup === "string" ? userGroup : userGroup[0];
|
|
142
|
+
|
|
143
|
+
if (userGroupValue === "colaboradores_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 28:
|
|
163
|
+
_context.next = 35;
|
|
164
|
+
break;
|
|
165
|
+
|
|
166
|
+
case 30:
|
|
167
|
+
_context.prev = 30;
|
|
168
|
+
_context.t0 = _context["catch"](10);
|
|
169
|
+
console.log(_context.t0);
|
|
170
|
+
setLoading(false);
|
|
171
|
+
|
|
172
|
+
if (_context.t0.code === "NotAuthorizedException") {
|
|
173
|
+
setSignInError("NotAuthorizedException");
|
|
174
|
+
} else if (_context.t0.code === "UserNotConfirmedException") {
|
|
175
|
+
sessionStorage.setItem("email", JSON.stringify(document.querySelector("#usernameInput").value));
|
|
176
|
+
props.setPaso(5);
|
|
177
|
+
} else {
|
|
178
|
+
setSignInError("Error");
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
case 35:
|
|
182
|
+
case "end":
|
|
183
|
+
return _context.stop();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}, _callee, null, [[10, 30]]);
|
|
187
|
+
}));
|
|
188
|
+
|
|
189
|
+
return function validate(_x) {
|
|
190
|
+
return _ref.apply(this, arguments);
|
|
191
|
+
};
|
|
192
|
+
}();
|
|
193
|
+
|
|
194
|
+
(0, _react.useEffect)(function () {
|
|
195
|
+
sessionStorage.getItem("resetPasswordProcess") && sessionStorage.removeItem("resetPasswordProcess");
|
|
196
|
+
}, []);
|
|
197
|
+
(0, _react.useEffect)(function () {
|
|
198
|
+
if (upgradePlanRedirect) setLoading(false);
|
|
199
|
+
}, [upgradePlanRedirect]);
|
|
200
|
+
return loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.Loading, {}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
201
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.Container, {
|
|
202
|
+
className: "home-login",
|
|
203
|
+
children: /*#__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.jsx)("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
|
+
})
|
|
220
|
+
}), showErrors && emptyEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
221
|
+
children: "Ingrese su correo"
|
|
222
|
+
}), invalidEmail && !emptyEmail && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
223
|
+
children: "Ingrese un correo v\xE1lido"
|
|
224
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("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
|
+
})
|
|
232
|
+
}), showErrors && emptyPassword && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
233
|
+
children: "Ingrese su contrase\xF1a"
|
|
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
|
+
})]
|
|
247
|
+
}), showErrors && signInError === "NotAuthorizedException" && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
248
|
+
children: "Correo o contrase\xF1a incorrectos"
|
|
249
|
+
}), showErrors && signInError === "Error" && /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
|
|
250
|
+
children: "Ha habido un problema al iniciar sesi\xF3n"
|
|
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
|
+
}), upgradePlanRedirect && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Redirect, {
|
|
263
|
+
to: {
|
|
264
|
+
pathname: "/dashboard"
|
|
265
|
+
}
|
|
266
|
+
})]
|
|
267
|
+
});
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
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 justify-content: center;\n align-items: center;\n label {\n color: red;\n margin-top: 3px;\n margin-left: 15px;\n font-family: ", ";\n font-size: 11px;\n & + * {\n margin-top: 12px;\n }\n }\n\n &.home-login {\n .credenciales {\n & + * {\n margin-top: 30px;\n }\n }\n .user {\n & + * {\n margin-top: 20px;\n }\n }\n .password {\n & + * {\n margin-top: 20px;\n }\n }\n .select {\n display: flex;\n justify-content: space-between;\n .active-right {\n font-family: ", ";\n font-weight: 500;\n font-size: 13px;\n line-height: 24px;\n letter-spacing: -0.015em;\n color: ", ";\n cursor: pointer;\n }\n & + * {\n margin-top: 50px;\n }\n }\n .button-right {\n text-align: right;\n & + * {\n margin-top: 55px;\n }\n }\n .new-login {\n p {\n font-family: ", ";\n text-align: right;\n font-weight: 500;\n font-size: 13px;\n line-height: 24px;\n color: ", ";\n cursor: pointer;\n span {\n color: ", ";\n }\n }\n }\n }\n .main-container {\n max-width: 80%;\n max-height: 80%;\n }\n"])), _variables.FontFamily.Raleway_700, _variables.FontFamily.AvenirNext, _variables.GlobalColors.s5, _variables.FontFamily.AvenirNext, _variables.GlobalColors.s5, _variables.GlobalColors.secondary_magenta);
|
|
19
|
+
|
|
20
|
+
exports.Container = Container;
|
|
@@ -25,6 +25,16 @@ var _index3 = require("../../atoms/AsignationOption/index");
|
|
|
25
25
|
|
|
26
26
|
var _data = require("../../../global-files/data");
|
|
27
27
|
|
|
28
|
+
var _SliderToolTip = require("../../atoms/SliderToolTip");
|
|
29
|
+
|
|
30
|
+
var _infoIcon = _interopRequireDefault(require("../../../assets/images/sliderToolTip/infoIcon.svg"));
|
|
31
|
+
|
|
32
|
+
var _slide = _interopRequireDefault(require("../../../assets/images/sliderToolTip/slide21.svg"));
|
|
33
|
+
|
|
34
|
+
var _slide2 = _interopRequireDefault(require("../../../assets/images/sliderToolTip/slide22.svg"));
|
|
35
|
+
|
|
36
|
+
var _slide3 = _interopRequireDefault(require("../../../assets/images/sliderToolTip/slide23.svg"));
|
|
37
|
+
|
|
28
38
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
39
|
|
|
30
40
|
var StatusAsignationInfo = function StatusAsignationInfo(_ref) {
|
|
@@ -68,6 +78,25 @@ var StatusAsignationInfo = function StatusAsignationInfo(_ref) {
|
|
|
68
78
|
}
|
|
69
79
|
};
|
|
70
80
|
|
|
81
|
+
var slidefront = [{
|
|
82
|
+
slide: _slide.default,
|
|
83
|
+
id: "slide1",
|
|
84
|
+
id_link: "slidea1",
|
|
85
|
+
title: "Valida tu producto en cada activo digital",
|
|
86
|
+
description: "Al solicitar a Content-oh! podrás validar la información, imágenes y documentación de tu producto, esto hará más sencillo que puedas aprobar o rechazar el contenido."
|
|
87
|
+
}, {
|
|
88
|
+
slide: _slide2.default,
|
|
89
|
+
id: "slide2",
|
|
90
|
+
id_link: "slidea2",
|
|
91
|
+
title: "Aprueba o rechaza con un clic",
|
|
92
|
+
description: "Cuando termines de revisar tu información, elige si aproebas o rechazas, esto enviara una notificiación a nuestro equipo, para continuar o corregir el producto."
|
|
93
|
+
}, {
|
|
94
|
+
slide: _slide3.default,
|
|
95
|
+
id: "slide3",
|
|
96
|
+
id_link: "slidea3",
|
|
97
|
+
title: "Estatus de tu producto en el proceso",
|
|
98
|
+
description: "La mayor parte del proceso podrás identificar que estatus tiene tu producto, esto dara visibilidad a todo tu equipo para saber la etapa se encuentra."
|
|
99
|
+
}];
|
|
71
100
|
(0, _react.useEffect)(function () {
|
|
72
101
|
if (showAsignationPanel) {
|
|
73
102
|
document.addEventListener("click", closeAsignations, false);
|
|
@@ -75,7 +104,12 @@ var StatusAsignationInfo = function StatusAsignationInfo(_ref) {
|
|
|
75
104
|
}, [showAsignationPanel]);
|
|
76
105
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styles.Container, {
|
|
77
106
|
id: id,
|
|
78
|
-
children: [
|
|
107
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SliderToolTip.SliderToolTip, {
|
|
108
|
+
infoIcon: _infoIcon.default,
|
|
109
|
+
slidefront: slidefront,
|
|
110
|
+
iconSize: "medium-image",
|
|
111
|
+
slidePosition: "bottom-slide"
|
|
112
|
+
}), status !== "-" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.StatusTag, {
|
|
79
113
|
statusType: status,
|
|
80
114
|
ovalForm: true
|
|
81
115
|
}), showSaveButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GeneralButton.Button, {
|
|
@@ -36,45 +36,81 @@ ProviderProductEditionDefault.args = {
|
|
|
36
36
|
category: 846,
|
|
37
37
|
version: 2,
|
|
38
38
|
productSelected: {
|
|
39
|
-
id_article:
|
|
40
|
-
id_category: "
|
|
41
|
-
name: "
|
|
42
|
-
upc: "
|
|
43
|
-
timestamp: "2022-06-
|
|
39
|
+
id_article: 55070,
|
|
40
|
+
id_category: "2976",
|
|
41
|
+
name: "TOALLERO CORTO ACCESS NEGRO ÉBANO",
|
|
42
|
+
upc: "161788",
|
|
43
|
+
timestamp: "2022-06-17T17:31:14.000Z",
|
|
44
44
|
status: "NULL",
|
|
45
|
-
categoryName: "
|
|
45
|
+
categoryName: "BAÑOS|ACCESORIOS PARA BAÑO|TOALLEROS",
|
|
46
46
|
asignations: [],
|
|
47
|
-
version:
|
|
48
|
-
version_status:
|
|
47
|
+
version: 1,
|
|
48
|
+
version_status: null,
|
|
49
49
|
retailersAvailable: [{
|
|
50
50
|
id: 58,
|
|
51
51
|
name: "The Home Depot Golden",
|
|
52
52
|
country: "México",
|
|
53
53
|
id_region: 1,
|
|
54
54
|
active: 1
|
|
55
|
+
}, {
|
|
56
|
+
id: 59,
|
|
57
|
+
name: "The Home Depot Platinum",
|
|
58
|
+
country: "México",
|
|
59
|
+
id_region: 1,
|
|
60
|
+
active: 1
|
|
61
|
+
}, {
|
|
62
|
+
id: 60,
|
|
63
|
+
name: "The Home Depot Resizing",
|
|
64
|
+
country: "México",
|
|
65
|
+
id_region: 1,
|
|
66
|
+
active: 1
|
|
67
|
+
}, {
|
|
68
|
+
id: 61,
|
|
69
|
+
name: "Home Depot TAB",
|
|
70
|
+
country: "México",
|
|
71
|
+
id_region: 1,
|
|
72
|
+
active: 1
|
|
55
73
|
}],
|
|
56
74
|
missing: {}
|
|
57
75
|
},
|
|
58
76
|
productToEdit: {
|
|
59
|
-
idCategory: "
|
|
60
|
-
ArticleId:
|
|
77
|
+
idCategory: "2976",
|
|
78
|
+
ArticleId: 55070,
|
|
61
79
|
product: [{
|
|
62
|
-
id_article:
|
|
63
|
-
id_category: "
|
|
64
|
-
name: "
|
|
65
|
-
upc: "
|
|
66
|
-
timestamp: "2022-06-
|
|
80
|
+
id_article: 55070,
|
|
81
|
+
id_category: "2976",
|
|
82
|
+
name: "TOALLERO CORTO ACCESS NEGRO ÉBANO",
|
|
83
|
+
upc: "161788",
|
|
84
|
+
timestamp: "2022-06-17T17:31:14.000Z",
|
|
67
85
|
status: "NULL",
|
|
68
|
-
categoryName: "
|
|
86
|
+
categoryName: "BAÑOS|ACCESORIOS PARA BAÑO|TOALLEROS",
|
|
69
87
|
asignations: [],
|
|
70
|
-
version:
|
|
71
|
-
version_status:
|
|
88
|
+
version: 1,
|
|
89
|
+
version_status: null,
|
|
72
90
|
retailersAvailable: [{
|
|
73
91
|
id: 58,
|
|
74
92
|
name: "The Home Depot Golden",
|
|
75
93
|
country: "México",
|
|
76
94
|
id_region: 1,
|
|
77
95
|
active: 1
|
|
96
|
+
}, {
|
|
97
|
+
id: 59,
|
|
98
|
+
name: "The Home Depot Platinum",
|
|
99
|
+
country: "México",
|
|
100
|
+
id_region: 1,
|
|
101
|
+
active: 1
|
|
102
|
+
}, {
|
|
103
|
+
id: 60,
|
|
104
|
+
name: "The Home Depot Resizing",
|
|
105
|
+
country: "México",
|
|
106
|
+
id_region: 1,
|
|
107
|
+
active: 1
|
|
108
|
+
}, {
|
|
109
|
+
id: 61,
|
|
110
|
+
name: "Home Depot TAB",
|
|
111
|
+
country: "México",
|
|
112
|
+
id_region: 1,
|
|
113
|
+
active: 1
|
|
78
114
|
}],
|
|
79
115
|
missing: {}
|
|
80
116
|
}]
|
|
@@ -1465,11 +1465,19 @@ var ProviderProductEdition = function ProviderProductEdition(_ref) {
|
|
|
1465
1465
|
};
|
|
1466
1466
|
|
|
1467
1467
|
var enableActions = function enableActions(versionStatus) {
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1468
|
+
try {
|
|
1469
|
+
var userIsRetailer = user.is_retailer;
|
|
1470
|
+
if (userIsRetailer) return false;
|
|
1471
|
+
|
|
1472
|
+
if (versionStatus) {
|
|
1473
|
+
return ["AP", "AC", "RC", null].includes(versionStatus);
|
|
1474
|
+
}
|
|
1471
1475
|
|
|
1472
|
-
|
|
1476
|
+
return true;
|
|
1477
|
+
} catch (err) {
|
|
1478
|
+
console.log(err, "Unable de check if user is retailer");
|
|
1479
|
+
return false;
|
|
1480
|
+
}
|
|
1473
1481
|
};
|
|
1474
1482
|
|
|
1475
1483
|
(0, _react.useEffect)(function () {
|
|
@@ -1585,7 +1593,7 @@ var ProviderProductEdition = function ProviderProductEdition(_ref) {
|
|
|
1585
1593
|
assig: assig,
|
|
1586
1594
|
setAssignation: setAssignation,
|
|
1587
1595
|
isRetailer: isRetailer,
|
|
1588
|
-
showSaveButton:
|
|
1596
|
+
showSaveButton: enableActions(product.version_status),
|
|
1589
1597
|
onClickSave: function onClickSave() {
|
|
1590
1598
|
switch (activeTab) {
|
|
1591
1599
|
case "Descripción":
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<svg width="242" height="68" viewBox="0 0 242 68" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
+
<rect width="242" height="68" fill="url(#pattern0)"/>
|
|
3
|
+
<defs>
|
|
4
|
+
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
5
|
+
<use xlink:href="#image0_11191_45209" transform="translate(0 -0.0217824) scale(0.0037594 0.013379)"/>
|
|
6
|
+
</pattern>
|
|
7
|
+
<image id="image0_11191_45209" width="266" height="78" xlink:href="data:image/png;base64,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"/>
|
|
8
|
+
</defs>
|
|
9
|
+
</svg>
|