このコミットが含まれているのは:
dragon1211 2022-02-01 12:04:50 -08:00
コミット 2714a0b9b8
8個のファイルの変更261行の追加59行の削除

ファイルの表示

@ -27379,7 +27379,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var react_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cookie */ "./node_modules/react-cookie/es6/useCookies.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../component/alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@ -27401,10 +27402,16 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var AdminLogin = function AdminLogin() {
var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useLocation)();
var navigator = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useNavigate)();
var _useCookies = (0,react_cookie__WEBPACK_IMPORTED_MODULE_4__["default"])(['auth']),
_useCookies2 = _slicedToArray(_useCookies, 2),
cookies = _useCookies2[0],
setCookie = _useCookies2[1];
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(''),
_useState2 = _slicedToArray(_useState, 2),
email = _useState2[0],
@ -27460,13 +27467,18 @@ var AdminLogin = function AdminLogin() {
};
}, []);
var loginOK = function loginOK(id) {
var loginOK = function loginOK(id, expires) {
var token = {
type: 'admin',
id: id,
from_login: true
};
localStorage.setItem('admin_token', JSON.stringify(token));
var dt = new Date(new Date().getTime() + 1 * 60 * 1000);
console.log(dt);
setCookie('token', token, {
expires: dt,
path: '/admin'
});
if (location.search == '') window.location.href = "/admin/meeting";else window.location.href = location.search.replace('?redirect_to=', '');
};
@ -27488,7 +27500,7 @@ var AdminLogin = function AdminLogin() {
switch (response.data.status_code) {
case 200:
{
loginOK(response.data.params.id);
loginOK(response.data.params.id, response.data.params.expire);
break;
}
@ -27571,7 +27583,7 @@ var AdminLogin = function AdminLogin() {
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
className: "mt-5",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_4__["default"], {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_5__["default"], {
type: "submit",
loading: submit,
fullWidth: true,
@ -30385,9 +30397,23 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var react_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cookie */ "./node_modules/react-cookie/es6/useCookies.js");
/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../context */ "./resources/js/context.js");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
@ -30401,13 +30427,19 @@ function AdminSide() {
var _useLocation = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useLocation)(),
pathname = _useLocation.pathname;
var _useCookies = (0,react_cookie__WEBPACK_IMPORTED_MODULE_4__["default"])(['user']),
_useCookies2 = _slicedToArray(_useCookies, 3),
cookies = _useCookies2[0],
setCookie = _useCookies2[1],
removeCookie = _useCookies2[2];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
SetSelectedItemOfSidebar(pathname.split('/')[2]);
}, []);
var handleLogout = function handleLogout() {
axios.get('/admin/logout').then(function () {
localStorage.removeItem('admin_token');
removeCookie('token', '/admin');
window.location.href = '/admin/login';
});
};
@ -30432,7 +30464,7 @@ function AdminSide() {
onClick: function onClick(e) {
SetSelectedItemOfSidebar('meeting');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/admin/meeting",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -30446,7 +30478,7 @@ function AdminSide() {
onClick: function onClick(e) {
SetSelectedItemOfSidebar('child');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/admin/child",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -30460,7 +30492,7 @@ function AdminSide() {
onClick: function onClick(e) {
SetSelectedItemOfSidebar('parent');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/admin/parent",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -30931,8 +30963,9 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var react_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cookie */ "./node_modules/react-cookie/es6/useCookies.js");
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../component/alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@ -30954,9 +30987,15 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var ChildLogin = function ChildLogin() {
var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useLocation)();
var _useCookies = (0,react_cookie__WEBPACK_IMPORTED_MODULE_4__["default"])(['auth']),
_useCookies2 = _slicedToArray(_useCookies, 2),
cookies = _useCookies2[0],
setCookie = _useCookies2[1];
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
submit = _useState2[0],
@ -31014,13 +31053,17 @@ var ChildLogin = function ChildLogin() {
var loginOK = function loginOK() {
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var expires = arguments.length > 1 ? arguments[1] : undefined;
var token = {
type: 'c-account',
id: id,
notice: 0,
from_login: true
};
localStorage.setItem('c-account_token', JSON.stringify(token));
setCookie('token', token, {
expires: new Date(expires).toUTCString(),
path: '/c-account'
});
localStorage.setItem('child_id', id);
if (location.search == '') window.location.href = "/c-account/meeting";else window.location.href = location.search.replace('?redirect_to=', '');
};
@ -31043,7 +31086,7 @@ var ChildLogin = function ChildLogin() {
switch (response.data.status_code) {
case 200:
{
loginOK(response.data.params.id);
loginOK(response.data.params.id, response.data.params.expire);
break;
}
@ -31132,7 +31175,7 @@ var ChildLogin = function ChildLogin() {
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
className: "mt-5",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_4__["default"], {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_5__["default"], {
type: "submit",
loading: submit,
fullWidth: true,
@ -31144,7 +31187,7 @@ var ChildLogin = function ChildLogin() {
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
className: "mt-5 text-center",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_6__.Link, {
to: "/c-account/forgot-password",
className: "ft-16 text-black text-decoration-none",
children: "\u30D1\u30B9\u30EF\u30FC\u30C9\u7D1B\u5931\u306E\u65B9\u306F\u30B3\u30C1\u30E9"
@ -34526,9 +34569,23 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var react_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cookie */ "./node_modules/react-cookie/es6/useCookies.js");
/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../context */ "./resources/js/context.js");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
@ -34542,13 +34599,19 @@ function ChildSide() {
var _useLocation = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useLocation)(),
pathname = _useLocation.pathname;
var _useCookies = (0,react_cookie__WEBPACK_IMPORTED_MODULE_4__["default"])(['user']),
_useCookies2 = _slicedToArray(_useCookies, 3),
cookies = _useCookies2[0],
setCookie = _useCookies2[1],
removeCookie = _useCookies2[2];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
SetSelectedItemOfSidebar(pathname.split('/')[2]);
}, []);
var handleLogout = function handleLogout() {
axios.get('/c-account/logout').then(function () {
localStorage.removeItem('c-account_token');
removeCookie('token', '/c-account');
window.location.href = '/c-account/login';
});
};
@ -34573,7 +34636,7 @@ function ChildSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('meeting');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/c-account/meeting",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -34587,7 +34650,7 @@ function ChildSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('search');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/c-account/search",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -34601,7 +34664,7 @@ function ChildSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('parent');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/c-account/parent",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -34615,7 +34678,7 @@ function ChildSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('profile');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "user-icon mypage-nav-list__link",
to: "/c-account/profile",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("figure", {
@ -34780,6 +34843,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var react_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cookie */ "./node_modules/react-cookie/es6/useCookies.js");
/* harmony import */ var _alert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@ -34799,6 +34863,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function CheckLoginStatus() {
var _useLocation = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useLocation)(),
pathname = _useLocation.pathname;
@ -34809,19 +34874,25 @@ function CheckLoginStatus() {
setSuccess = _useState2[1];
var navigator = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useNavigate)();
var _useCookies = (0,react_cookie__WEBPACK_IMPORTED_MODULE_4__["default"])(['user']),
_useCookies2 = _slicedToArray(_useCookies, 3),
cookies = _useCookies2[0],
setCookie = _useCookies2[1],
removeCookie = _useCookies2[2];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
var acc_type = pathname.split('/')[1];
var token = localStorage.getItem("".concat(acc_type, "_token"));
console.log(cookies.token);
var token = cookies.token;
if (!token) {
navigator("/".concat(acc_type, "/login"));
} else {
token = JSON.parse(token);
if (token.from_login) {
setSuccess('ログインに成功しました');
token.from_login = false;
localStorage.setItem("".concat(acc_type, "_token"), JSON.stringify(token));
setCookie('token', token, "/".concat(acc_type));
}
}
}, [pathname]);
@ -37533,8 +37604,9 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var _material_ui_lab__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/lab */ "./node_modules/@material-ui/lab/LoadingButton/LoadingButton.js");
/* harmony import */ var react_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cookie */ "./node_modules/react-cookie/es6/useCookies.js");
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../component/alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@ -37556,9 +37628,15 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var ParentLogin = function ParentLogin() {
var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useLocation)();
var _useCookies = (0,react_cookie__WEBPACK_IMPORTED_MODULE_4__["default"])(['auth']),
_useCookies2 = _slicedToArray(_useCookies, 2),
cookies = _useCookies2[0],
setCookie = _useCookies2[1];
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
submit = _useState2[0],
@ -37600,14 +37678,17 @@ var ParentLogin = function ParentLogin() {
};
}, []);
var loginOK = function loginOK(id) {
var loginOK = function loginOK(id, expires) {
var token = {
type: 'p-account',
id: id,
notice: 0,
from_login: true
};
localStorage.setItem('p-account_token', JSON.stringify(token));
setCookie('token', token, {
expires: new Date(expires).toUTCString(),
path: '/p-account'
});
localStorage.setItem('father_id', id);
if (location.search == '') window.location.href = "/p-account/meeting";else window.location.href = location.search.replace('?redirect_to=', '');
};
@ -37630,7 +37711,7 @@ var ParentLogin = function ParentLogin() {
switch (response.data.status_code) {
case 200:
{
loginOK(response.data.params.id);
loginOK(response.data.params.id, response.data.params.expire);
break;
}
@ -37719,7 +37800,7 @@ var ParentLogin = function ParentLogin() {
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
className: "mt-5",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_4__["default"], {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_material_ui_lab__WEBPACK_IMPORTED_MODULE_5__["default"], {
type: "submit",
loading: submit,
fullWidth: true,
@ -37731,7 +37812,7 @@ var ParentLogin = function ParentLogin() {
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
className: "mt-5 text-center",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_router_dom__WEBPACK_IMPORTED_MODULE_6__.Link, {
to: "/p-account/forgot-password",
className: "ft-16 text-black text-decoration-none",
children: "\u30D1\u30B9\u30EF\u30FC\u30C9\u7D1B\u5931\u306E\u65B9\u306F\u30B3\u30C1\u30E9"
@ -43923,9 +44004,23 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var react_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-cookie */ "./node_modules/react-cookie/es6/useCookies.js");
/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../context */ "./resources/js/context.js");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
@ -43941,13 +44036,19 @@ function ParentSide() {
var _useLocation = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_3__.useLocation)(),
pathname = _useLocation.pathname;
var _useCookies = (0,react_cookie__WEBPACK_IMPORTED_MODULE_4__["default"])(['user']),
_useCookies2 = _slicedToArray(_useCookies, 3),
cookies = _useCookies2[0],
setCookie = _useCookies2[1],
removeCookie = _useCookies2[2];
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
SetSelectedItemOfSidebar(pathname.split('/')[2]);
}, []);
var handleLogout = function handleLogout() {
axios.get('/p-account/logout').then(function () {
localStorage.removeItem('p-account_token');
removeCookie('token', '/p-account');
window.location.href = '/p-account/login';
});
};
@ -43972,7 +44073,7 @@ function ParentSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('meeting');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/p-account/meeting",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -43986,7 +44087,7 @@ function ParentSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('favorite');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/p-account/favorite",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -44000,7 +44101,7 @@ function ParentSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('search');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/p-account/search",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -44014,7 +44115,7 @@ function ParentSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('child');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "mypage-nav-list__link",
to: "/p-account/child",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("i", {
@ -44028,7 +44129,7 @@ function ParentSide() {
onClick: function onClick(e) {
return SetSelectedItemOfSidebar('profile');
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_4__.Link, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_router_dom__WEBPACK_IMPORTED_MODULE_5__.Link, {
className: "user-icon mypage-nav-list__link",
to: "/p-account/profile",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("figure", {
@ -96822,6 +96923,86 @@ var CookiesProvider = /** @class */ (function (_super) {
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CookiesProvider);
/***/ }),
/***/ "./node_modules/react-cookie/es6/useCookies.js":
/*!*****************************************************!*\
!*** ./node_modules/react-cookie/es6/useCookies.js ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ useCookies)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var _CookiesContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CookiesContext */ "./node_modules/react-cookie/es6/CookiesContext.js");
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./node_modules/react-cookie/es6/utils.js");
function useCookies(dependencies) {
var cookies = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_CookiesContext__WEBPACK_IMPORTED_MODULE_1__["default"]);
if (!cookies) {
throw new Error('Missing <CookiesProvider>');
}
var initialCookies = cookies.getAll();
var _a = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialCookies), allCookies = _a[0], setCookies = _a[1];
var previousCookiesRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(allCookies);
if ((0,_utils__WEBPACK_IMPORTED_MODULE_2__.isInBrowser)()) {
(0,react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect)(function () {
function onChange() {
var newCookies = cookies.getAll();
if (shouldUpdate(dependencies || null, newCookies, previousCookiesRef.current)) {
setCookies(newCookies);
}
previousCookiesRef.current = newCookies;
}
cookies.addChangeListener(onChange);
return function () {
cookies.removeChangeListener(onChange);
};
}, [cookies]);
}
var setCookie = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () { return cookies.set.bind(cookies); }, [cookies]);
var removeCookie = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () { return cookies.remove.bind(cookies); }, [cookies]);
return [allCookies, setCookie, removeCookie];
}
function shouldUpdate(dependencies, newCookies, oldCookies) {
if (!dependencies) {
return true;
}
for (var _i = 0, dependencies_1 = dependencies; _i < dependencies_1.length; _i++) {
var dependency = dependencies_1[_i];
if (newCookies[dependency] !== oldCookies[dependency]) {
return true;
}
}
return false;
}
/***/ }),
/***/ "./node_modules/react-cookie/es6/utils.js":
/*!************************************************!*\
!*** ./node_modules/react-cookie/es6/utils.js ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "isInBrowser": () => (/* binding */ isInBrowser)
/* harmony export */ });
function isInBrowser() {
return (typeof window !== 'undefined' &&
typeof window.document !== 'undefined' &&
typeof window.document.createElement !== 'undefined');
}
/***/ }),
/***/ "./node_modules/react-datepicker/dist/react-datepicker.min.js":

ファイルの表示

@ -1,5 +1,6 @@
import React, { useState, useRef, useEffect } from 'react';
import { useLocation, useNavigate } from 'react-router-dom';
import { useCookies } from 'react-cookie';
import { LoadingButton } from '@material-ui/lab';
import Alert from '../../component/alert';
@ -8,6 +9,7 @@ const AdminLogin = () => {
const location = useLocation();
const navigator = useNavigate();
const [cookies, setCookie] = useCookies(['auth']);
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
@ -43,13 +45,16 @@ const AdminLogin = () => {
}, [])
const loginOK = (id) => {
const loginOK = (id, expires) => {
let token = {
type: 'admin',
id: id,
from_login: true
};
localStorage.setItem('admin_token', JSON.stringify(token));
var dt = new Date(new Date().getTime() + (1*60*1000));
console.log(dt);
setCookie('token', token, {expires: dt, path: '/admin'});
if(location.search == '')
window.location.href = "/admin/meeting";
@ -73,7 +78,7 @@ const AdminLogin = () => {
setSubmit(false)
switch(response.data.status_code){
case 200: {
loginOK(response.data.params.id);
loginOK(response.data.params.id, response.data.params.expire);
break;
}
case 422: {

ファイルの表示

@ -1,11 +1,13 @@
import React, { useState, useContext, useEffect } from 'react';
import React, { useContext, useEffect } from 'react';
import { Link, useLocation } from 'react-router-dom';
import { useCookies } from 'react-cookie';
import { HeaderContext } from '../context';
export default function AdminSide() {
const {selected_item_sidebar, SetSelectedItemOfSidebar} = useContext(HeaderContext);
const {pathname} = useLocation();
const [cookies, setCookie, removeCookie] = useCookies(['user']);
useEffect(()=>{
SetSelectedItemOfSidebar(pathname.split('/')[2]);
@ -14,7 +16,7 @@ export default function AdminSide() {
const handleLogout = () => {
axios.get('/admin/logout')
.then(() => {
localStorage.removeItem('admin_token');
removeCookie('token', '/admin');
window.location.href = '/admin/login';
})
}

ファイルの表示

@ -1,12 +1,15 @@
import React, { useState, useRef, useEffect } from 'react';
import { Link, useLocation } from 'react-router-dom';
import { LoadingButton } from '@material-ui/lab';
import { useCookies } from 'react-cookie';
import Alert from '../../../component/alert';
const ChildLogin = () => {
const location = useLocation();
const [cookies, setCookie] = useCookies(['auth']);
const [submit, setSubmit] = useState(false);
@ -42,14 +45,14 @@ const ChildLogin = () => {
}, [])
const loginOK = (id = 0) =>{
const loginOK = (id = 0, expires) =>{
let token = {
type: 'c-account',
id: id,
notice: 0,
from_login: true
};
localStorage.setItem('c-account_token', JSON.stringify(token));
setCookie('token', token, {expires: new Date(expires).toUTCString(), path: '/c-account'});
localStorage.setItem('child_id', id);
if(location.search == '')
@ -75,7 +78,7 @@ const ChildLogin = () => {
setSubmit(false)
switch(response.data.status_code){
case 200:{
loginOK(response.data.params.id);
loginOK(response.data.params.id, response.data.params.expire);
break;
}
case 400: set400Error(response.data.error_message); break;

ファイルの表示

@ -1,5 +1,6 @@
import React, { useState, useContext, useEffect } from 'react';
import React, { useContext, useEffect } from 'react';
import { Link, useLocation } from 'react-router-dom';
import { useCookies } from 'react-cookie';
import { HeaderContext } from '../context';
@ -8,7 +9,7 @@ export default function ChildSide() {
const {selected_item_sidebar, SetSelectedItemOfSidebar} = useContext(HeaderContext);
const {pathname} = useLocation();
const [cookies, setCookie, removeCookie] = useCookies(['user']);
useEffect(()=>{
SetSelectedItemOfSidebar(pathname.split('/')[2]);
@ -18,7 +19,7 @@ export default function ChildSide() {
const handleLogout = () => {
axios.get('/c-account/logout')
.then(() => {
localStorage.removeItem('c-account_token');
removeCookie('token', '/c-account');
window.location.href = '/c-account/login';
})
}

ファイルの表示

@ -1,5 +1,6 @@
import { useEffect, useState } from "react";
import { useLocation, useNavigate } from "react-router-dom";
import { useCookies } from 'react-cookie';
import Alert from './alert';
export default function CheckLoginStatus() {
@ -7,19 +8,22 @@ export default function CheckLoginStatus() {
const [_success, setSuccess] = useState('');
const navigator = useNavigate();
const [cookies, setCookie, removeCookie] = useCookies(['user']);
useEffect(() => {
const acc_type = pathname.split('/')[1];
let token = localStorage.getItem(`${acc_type}_token`);
console.log(cookies.token);
let token = cookies.token;
if(!token){
navigator(`/${acc_type}/login`);
}
else{
token = JSON.parse(token);
if(token.from_login) {
setSuccess('ログインに成功しました');
token.from_login = false;
localStorage.setItem(`${acc_type}_token`, JSON.stringify(token));
setCookie('token', token, `/${acc_type}`);
}
}
}, [pathname]);

ファイルの表示

@ -1,6 +1,7 @@
import React, { useState, useRef, useEffect } from 'react';
import { Link, useLocation } from 'react-router-dom';
import { LoadingButton } from '@material-ui/lab';
import { useCookies } from 'react-cookie';
import Alert from '../../../component/alert';
@ -8,6 +9,7 @@ import Alert from '../../../component/alert';
const ParentLogin = () => {
const location = useLocation();
const [cookies, setCookie] = useCookies(['auth']);
const [submit, setSubmit] = useState(false);
@ -28,14 +30,15 @@ const ParentLogin = () => {
}, []);
const loginOK = (id) =>{
const loginOK = (id, expires) =>{
let token = {
type: 'p-account',
id: id,
notice: 0,
from_login: true
};
localStorage.setItem('p-account_token', JSON.stringify(token));
setCookie('token', token, {expires: new Date(expires).toUTCString(), path: '/p-account'});
localStorage.setItem('father_id', id);
if(location.search == '')
@ -61,7 +64,7 @@ const ParentLogin = () => {
setSubmit(false)
switch(response.data.status_code){
case 200:{
loginOK(response.data.params.id);
loginOK(response.data.params.id, response.data.params.expire);
break;
}
case 400: set400Error(response.data.error_message); break;

ファイルの表示

@ -1,13 +1,16 @@
import React, { useState, useContext, useEffect } from 'react';
import React, { useContext, useEffect } from 'react';
import { Link, useLocation } from 'react-router-dom';
import { useCookies } from 'react-cookie';
import { HeaderContext } from '../context';
export default function ParentSide() {
const father_image = document.getElementById('father_image').value;
const {selected_item_sidebar, SetSelectedItemOfSidebar} = useContext(HeaderContext);
const {pathname} = useLocation();
const [cookies, setCookie, removeCookie] = useCookies(['user']);
useEffect(()=>{
@ -18,7 +21,7 @@ export default function ParentSide() {
const handleLogout = () => {
axios.get('/p-account/logout')
.then(() => {
localStorage.removeItem('p-account_token');
removeCookie('token', '/p-account');
window.location.href = '/p-account/login';
})
}