Merge pull request #270 from nakazawakan/fe_fix

Copy of p-acccount/child/add.
このコミットが含まれているのは:
chankan77 2022-01-15 10:55:57 -05:00 committed by GitHub
コミット 2d810f26d5
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: 4AEE18F83AFDEB23
6個のファイルの変更390行の追加216行の削除

ファイルの表示

@ -5364,11 +5364,6 @@
"string-width": "^4.2.0"
}
},
"clipboard-copy": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clipboard-copy/-/clipboard-copy-4.0.1.tgz",
"integrity": "sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng=="
},
"cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@ -5626,6 +5621,14 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"copy-to-clipboard": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
"integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
"requires": {
"toggle-selection": "^1.0.6"
}
},
"core-js": {
"version": "3.20.2",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.2.tgz",
@ -7141,6 +7144,20 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"event-stream": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz",
"integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==",
"requires": {
"duplexer": "^0.1.1",
"from": "^0.1.7",
"map-stream": "0.0.7",
"pause-stream": "^0.0.11",
"split": "^1.0.1",
"stream-combiner": "^0.2.2",
"through": "^2.3.8"
}
},
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@ -7587,6 +7604,11 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"from": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4="
},
"fs-extra": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
@ -9682,6 +9704,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.assign": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
},
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@ -9778,6 +9805,11 @@
"tmpl": "1.0.5"
}
},
"map-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
"integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg="
},
"md5": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
@ -9898,6 +9930,11 @@
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
},
"mingo": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/mingo/-/mingo-1.3.3.tgz",
"integrity": "sha1-aSLE0Ufvx3GgFCWixMj3eER4xUY="
},
"mini-css-extract-plugin": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
@ -10430,6 +10467,14 @@
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
},
"pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"requires": {
"through": "~2.3"
}
},
"pbkdf2": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
@ -12528,6 +12573,17 @@
}
}
},
"save": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/save/-/save-2.4.0.tgz",
"integrity": "sha512-wd5L2uVnsKYkIUaK6i8Ie66IOHaI328gMF0MPuTJtYOjXgUolC33LSIk7Qr8WVA55QHaGwfiVS8a7EFIeGOR3w==",
"requires": {
"async": "^2.6.2",
"event-stream": "^4.0.1",
"lodash.assign": "^4.2.0",
"mingo": "1"
}
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@ -12927,6 +12983,14 @@
}
}
},
"split": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
"requires": {
"through": "2"
}
},
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@ -12978,6 +13042,15 @@
"readable-stream": "^2.0.2"
}
},
"stream-combiner": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
"integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
"requires": {
"duplexer": "~0.1.1",
"through": "~2.3.4"
}
},
"stream-http": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
@ -13431,6 +13504,11 @@
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz",
"integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ=="
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@ -13487,6 +13565,11 @@
"is-number": "^7.0.0"
}
},
"toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
"integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
},
"toidentifier": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",

ファイルの表示

@ -38,7 +38,7 @@
"@mui/material": "^5.2.7",
"@react-pdf-viewer/core": "^3.0.0",
"@react-pdf-viewer/default-layout": "^3.0.0",
"clipboard-copy": "^4.0.1",
"copy-to-clipboard": "^3.3.1",
"date-fns": "^2.28.0",
"es7-shim": "^6.0.0",
"history": "^5.0.0",
@ -52,7 +52,8 @@
"react-infinite-scroll-component": "^6.1.0",
"react-pdf": "^5.4.0",
"react-router-dom": "^6.2.1",
"react-scripts": "^5.0.0"
"react-scripts": "^5.0.0",
"save": "^2.4.0"
},
"devDependencies": {
"@babel/core": "^7.16.7",

ファイルの表示

@ -36282,8 +36282,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var _material_ui_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core */ "./node_modules/@material-ui/core/Button/Button.js");
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../component/alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clipboard-copy */ "./node_modules/clipboard-copy/index.js");
/* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(clipboard_copy__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! copy-to-clipboard */ "./node_modules/copy-to-clipboard/index.js");
/* harmony import */ var copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __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(); }
@ -36318,11 +36318,11 @@ var ContactComplete = function ContactComplete() {
setError = _useState4[1];
var saveStorage = function saveStorage() {
clipboard_copy__WEBPACK_IMPORTED_MODULE_2___default()(contactEmail).then(function () {
return setSuccess('メールアドレスのコビーに成功しました');
})["catch"](function () {
return setError('コピー失敗しました。');
});
if (copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2___default()(contactEmail)) {
setSuccess('メールアドレスのコビーに成功しました');
} else {
setError('コピー失敗しました。');
}
};
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
@ -38093,8 +38093,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _component_alert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../component/alert */ "./resources/js/component/alert.jsx");
/* harmony import */ var _component_notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../component/notification */ "./resources/js/component/notification.jsx");
/* harmony import */ var _component_page_loader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../component/page_loader */ "./resources/js/component/page_loader.jsx");
/* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clipboard-copy */ "./node_modules/clipboard-copy/index.js");
/* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(clipboard_copy__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var copy_to_clipboard__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! copy-to-clipboard */ "./node_modules/copy-to-clipboard/index.js");
/* harmony import */ var copy_to_clipboard__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(copy_to_clipboard__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __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(); }
@ -38162,14 +38162,13 @@ var ParentChildAdd = function ParentChildAdd() {
submit = _useState16[0],
setSubmit = _useState16[1];
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
_useState18 = _slicedToArray(_useState17, 2),
response = _useState18[0],
setResponse = _useState18[1];
_copyFlag = _useState18[0],
setCopyFlag = _useState18[1];
var isMountedRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true);
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
//check relation onload
isMountedRef.current = false;
return function () {
isMountedRef.current = true;
@ -38213,79 +38212,67 @@ var ParentChildAdd = function ParentChildAdd() {
});
};
var copyInviteURL = function copyInviteURL() {
var handleCheckRelations = function handleCheckRelations(type) {
set401Error('');
setLoaded(false);
if (type == 'invite') {
var inviteurl = document.getElementById('inviteurl').value;
var sentence = '「KIKI」の招待が届いています。' + '\n' + 'まずは以下より仮登録を行ってください。' + '\n' + '※スマホ本体を最新の状態にアップデートしてからURLをクリックしてください。' + '\n\n' + inviteurl + '\n\n' + '▼公式サイトはこちら' + '\n' + 'https://kikikan.jp' + '\n\n' + 'idの箇所は親のidを引っ張るようお願い致します。';
if (!copy_to_clipboard__WEBPACK_IMPORTED_MODULE_4___default()(sentence, {
debug: true
})) {
set400Error('コピー失敗しました。');
return;
}
}
axios.get('/api/fathers/relations/check').then(function (response) {
if (isMountedRef.current) return;
switch (response.data.status_code) {
case 200:
{
if (type == "invite") setSuccess('招待用URLをコピーしました。');else if (type == 'line') copyLineText();
break;
}
case 400:
set400Error(response.data.error_messages);
break;
case 401:
set401Error(response.data.error_messages);
set400Error(response.data.error_messages);
break;
}
setNotice(response.data.notice);
setLoaded(true);
setResponse(response);
})["catch"](function (err) {
return console.log(err);
});
};
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
if (response) {
var inviteurl = document.getElementById('inviteurl').value;
var sentence = '「KIKI」の招待が届いています。' + '\n' + 'まずは以下より仮登録を行ってください。' + '\n' + '※スマホ本体を最新の状態にアップデートしてからURLをクリックしてください。' + '\n\n' + inviteurl + '\n\n' + '▼公式サイトはこちら' + '\n' + 'https://kikikan.jp' + '\n\n' + 'idの箇所は親のidを引っ張るようお願い致します。';
var copyInviteURL = function copyInviteURL() {
var inviteurl = document.getElementById('inviteurl').value;
var sentence = '「KIKI」の招待が届いています。' + '\n' + 'まずは以下より仮登録を行ってください。' + '\n' + '※スマホ本体を最新の状態にアップデートしてからURLをクリックしてください。' + '\n\n' + inviteurl + '\n\n' + '▼公式サイトはこちら' + '\n' + 'https://kikikan.jp' + '\n\n' + 'idの箇所は親のidを引っ張るようお願い致します。';
switch (response.data.status_code) {
case 200:
{
clipboard_copy__WEBPACK_IMPORTED_MODULE_4___default()(sentence).then(function () {
if (isMountedRef.current) return;
setSuccess('招待用URLをコピーしました。');
})["catch"](function () {
if (isMountedRef.current) return;
set400Error('コピー失敗しました。');
});
break;
}
case 400:
set400Error(response.data.error_messages);
break;
case 401:
set401Error(response.data.error_messages);
set400Error(response.data.error_messages);
break;
}
if (copy_to_clipboard__WEBPACK_IMPORTED_MODULE_4___default()(sentence, {
debug: true
})) {
setSuccess('招待用URLをコピーしました。');
} else {
set400Error('コピー失敗しました。');
}
}, [response]);
};
var copyLineText = function copyLineText() {
var inviteUrl = document.getElementById('inviteurl_html').value;
var siteUrl = document.getElementById('siteurl').value;
var lineText = "\u300CKIKI\u300D\u306E\u62DB\u5F85\u304C\u5C4A\u3044\u3066\u3044\u307E\u3059\u3002%0A\u307E\u305A\u306F\u4EE5\u4E0B\u3088\u308A\u4EEE\u767B\u9332\u3092\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002%0A%0A\u203B\u30B9\u30DE\u30DB\u672C\u4F53\u3092\u6700\u65B0\u306E\u72B6\u614B\u306B\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u3066\u304B\u3089URL\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002%0A%0A".concat(inviteUrl, "%0A%0A\u25BC\u516C\u5F0F\u30B5\u30A4\u30C8\u306F\u3053\u3061\u3089%0A").concat(siteUrl);
set401Error('');
setLoaded(false);
axios.get('/api/fathers/relations/check').then(function (response) {
if (isMountedRef.current) return;
setNotice(response.data.notice);
setLoaded(true);
switch (response.data.status_code) {
case 200:
{
window.location.href = 'http://line.me/R/msg/text/?' + lineText;
break;
}
case 400:
set400Error(response.data.error_messages);
break;
case 401:
set401Error(response.data.error_messages);
set400Error(response.data.error_messages);
break;
}
})["catch"](function (err) {
return console.log(err);
});
window.location.href = 'http://line.me/R/msg/text/?' + lineText;
};
var contactMailText = 'mailto:56@zotman.jp?subject=KIKIメンバー追加について&body=' + '名前%3A%0A電話番号%3A%0AログインID%3A%0Aログインパスワード%3A%0A追加したいメンバー数%3A%0A「その他お問合せ内容」';
@ -38366,7 +38353,9 @@ var ParentChildAdd = function ParentChildAdd() {
paddingTop: 40
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("a", {
onClick: copyInviteURL,
onClick: function onClick() {
return handleCheckRelations('invite');
},
children: "\u62DB\u5F85\u7528URL\u3092\u30B3\u30D4\u30FC\u3059\u308B"
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
@ -38378,7 +38367,9 @@ var ParentChildAdd = function ParentChildAdd() {
paddingTop: 20
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("a", {
onClick: copyLineText,
onClick: function onClick() {
return handleCheckRelations('line');
},
children: "\u62DB\u5F85\u7528URL\u3092LINE\u3067\u9001\u4FE1"
})
})]
@ -40329,8 +40320,8 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router/index.js");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/index.js");
/* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clipboard-copy */ "./node_modules/clipboard-copy/index.js");
/* harmony import */ var clipboard_copy__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(clipboard_copy__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! copy-to-clipboard */ "./node_modules/copy-to-clipboard/index.js");
/* harmony import */ var copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _component_modal_edit_memo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../component/modal_edit_memo */ "./resources/js/component/modal_edit_memo.jsx");
/* harmony import */ var _component_modal_confirm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../component/modal_confirm */ "./resources/js/component/modal_confirm.jsx");
/* harmony import */ var _component_pdf_modal_pdf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../component/pdf/modal_pdf */ "./resources/js/component/pdf/modal_pdf.jsx");
@ -40615,11 +40606,12 @@ var ParentMeetingDetail = function ParentMeetingDetail() {
var saveStorage = function saveStorage() {
var txt = "".concat(meeting.father.company, "\u3055\u3093\u3088\u308A\n\u696D\u52D9\u9023\u7D61\u306E\u304A\u77E5\u3089\u305B\n\u65B0\u898F\u696D\u52D9\u9023\u7D61\u306E\u3054\u78BA\u8A8D\u306F\u3053\u3061\u3089\n\nhttps://kikikan.xyz/c-account/meeting/detail/").concat(params === null || params === void 0 ? void 0 : params.meeting_id);
clipboard_copy__WEBPACK_IMPORTED_MODULE_2___default()(txt).then(function () {
return setSuccess('コピーしました。');
})["catch"](function () {
return set400Error('コピー失敗しました。');
});
if (copy_to_clipboard__WEBPACK_IMPORTED_MODULE_2___default()(txt)) {
setSuccess('コピーしました。');
} else {
set400Error('コピー失敗しました。');
}
};
var cloneMeeting = function cloneMeeting(meeting) {
@ -46341,79 +46333,6 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
}());
/***/ }),
/***/ "./node_modules/clipboard-copy/index.js":
/*!**********************************************!*\
!*** ./node_modules/clipboard-copy/index.js ***!
\**********************************************/
/***/ ((module) => {
/*! clipboard-copy. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
/* global DOMException */
module.exports = clipboardCopy
function makeError () {
return new DOMException('The request is not allowed', 'NotAllowedError')
}
async function copyClipboardApi (text) {
// Use the Async Clipboard API when available. Requires a secure browsing
// context (i.e. HTTPS)
if (!navigator.clipboard) {
throw makeError()
}
return navigator.clipboard.writeText(text)
}
async function copyExecCommand (text) {
// Put the text to copy into a <span>
const span = document.createElement('span')
span.textContent = text
// Preserve consecutive spaces and newlines
span.style.whiteSpace = 'pre'
span.style.webkitUserSelect = 'auto'
span.style.userSelect = 'all'
// Add the <span> to the page
document.body.appendChild(span)
// Make a selection object representing the range of text selected by the user
const selection = window.getSelection()
const range = window.document.createRange()
selection.removeAllRanges()
range.selectNode(span)
selection.addRange(range)
// Copy text to the clipboard
let success = false
try {
success = window.document.execCommand('copy')
} finally {
// Cleanup
selection.removeAllRanges()
window.document.body.removeChild(span)
}
if (!success) throw makeError()
}
async function clipboardCopy (text) {
try {
await copyClipboardApi(text)
} catch (err) {
// ...Otherwise, use document.execCommand() fallback
try {
await copyExecCommand(text)
} catch (err2) {
throw (err2 || err || makeError())
}
}
}
/***/ }),
/***/ "./node_modules/clsx/dist/clsx.m.js":
@ -46682,6 +46601,130 @@ function tryDecode(str, decode) {
}
/***/ }),
/***/ "./node_modules/copy-to-clipboard/index.js":
/*!*************************************************!*\
!*** ./node_modules/copy-to-clipboard/index.js ***!
\*************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var deselectCurrent = __webpack_require__(/*! toggle-selection */ "./node_modules/toggle-selection/index.js");
var clipboardToIE11Formatting = {
"text/plain": "Text",
"text/html": "Url",
"default": "Text"
}
var defaultMessage = "Copy to clipboard: #{key}, Enter";
function format(message) {
var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
return message.replace(/#{\s*key\s*}/g, copyKey);
}
function copy(text, options) {
var debug,
message,
reselectPrevious,
range,
selection,
mark,
success = false;
if (!options) {
options = {};
}
debug = options.debug || false;
try {
reselectPrevious = deselectCurrent();
range = document.createRange();
selection = document.getSelection();
mark = document.createElement("span");
mark.textContent = text;
// reset user styles for span element
mark.style.all = "unset";
// prevents scrolling to the end of the page
mark.style.position = "fixed";
mark.style.top = 0;
mark.style.clip = "rect(0, 0, 0, 0)";
// used to preserve spaces and line breaks
mark.style.whiteSpace = "pre";
// do not inherit user-select (it may be `none`)
mark.style.webkitUserSelect = "text";
mark.style.MozUserSelect = "text";
mark.style.msUserSelect = "text";
mark.style.userSelect = "text";
mark.addEventListener("copy", function(e) {
e.stopPropagation();
if (options.format) {
e.preventDefault();
if (typeof e.clipboardData === "undefined") { // IE 11
debug && console.warn("unable to use e.clipboardData");
debug && console.warn("trying IE specific stuff");
window.clipboardData.clearData();
var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]
window.clipboardData.setData(format, text);
} else { // all other browsers
e.clipboardData.clearData();
e.clipboardData.setData(options.format, text);
}
}
if (options.onCopy) {
e.preventDefault();
options.onCopy(e.clipboardData);
}
});
document.body.appendChild(mark);
range.selectNodeContents(mark);
selection.addRange(range);
var successful = document.execCommand("copy");
if (!successful) {
throw new Error("copy command was unsuccessful");
}
success = true;
} catch (err) {
debug && console.error("unable to copy using execCommand: ", err);
debug && console.warn("trying IE specific stuff");
try {
window.clipboardData.setData(options.format || "text", text);
options.onCopy && options.onCopy(window.clipboardData);
success = true;
} catch (err) {
debug && console.error("unable to copy using clipboardData: ", err);
debug && console.error("falling back to prompt");
message = format("message" in options ? options.message : defaultMessage);
window.prompt(message, text);
}
} finally {
if (selection) {
if (typeof selection.removeRange == "function") {
selection.removeRange(range);
} else {
selection.removeAllRanges();
}
}
if (mark) {
document.body.removeChild(mark);
}
reselectPrevious();
}
return success;
}
module.exports = copy;
/***/ }),
/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[2]!./node_modules/react-datepicker/dist/react-datepicker.css":
@ -160307,6 +160350,55 @@ module.exports = function (list, options) {
};
};
/***/ }),
/***/ "./node_modules/toggle-selection/index.js":
/*!************************************************!*\
!*** ./node_modules/toggle-selection/index.js ***!
\************************************************/
/***/ ((module) => {
module.exports = function () {
var selection = document.getSelection();
if (!selection.rangeCount) {
return function () {};
}
var active = document.activeElement;
var ranges = [];
for (var i = 0; i < selection.rangeCount; i++) {
ranges.push(selection.getRangeAt(i));
}
switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
case 'INPUT':
case 'TEXTAREA':
active.blur();
break;
default:
active = null;
break;
}
selection.removeAllRanges();
return function () {
selection.type === 'Caret' &&
selection.removeAllRanges();
if (!selection.rangeCount) {
ranges.forEach(function(range) {
selection.addRange(range);
});
}
active &&
active.focus();
};
};
/***/ }),
/***/ "./node_modules/universal-cookie/es6/Cookies.js":

ファイルの表示

@ -1,7 +1,7 @@
import React, { useState } from 'react';
import { Button } from '@material-ui/core';
import Alert from '../../component/alert';
import clipboardCopy from 'clipboard-copy';
import copy from 'copy-to-clipboard';
const ContactComplete = () => {
@ -11,9 +11,11 @@ const ContactComplete = () => {
const [_error, setError] = useState('');
const saveStorage = () => {
clipboardCopy(contactEmail)
.then(()=>setSuccess('メールアドレスのコビーに成功しました'))
.catch(()=>setError('コピー失敗しました。'))
if(copy(contactEmail)){
setSuccess('メールアドレスのコビーに成功しました')
} else {
setError('コピー失敗しました。')
}
}
return (

ファイルの表示

@ -3,7 +3,7 @@ import { LoadingButton } from '@material-ui/lab';
import Alert from '../../component/alert';
import Notification from '../../component/notification';
import PageLoader from '../../component/page_loader';
import clipboardCopy from 'clipboard-copy';
import copy from 'copy-to-clipboard';
const ParentChildAdd = () => {
@ -19,11 +19,10 @@ const ParentChildAdd = () => {
const [_422errors, set422Errors] = useState({identity: ''});
const [submit, setSubmit] = useState(false);
const [response, setResponse] = useState(null);
const [_copyFlag, setCopyFlag] = useState(false);
const isMountedRef = useRef(true);
useEffect(() => {
//check relation onload
isMountedRef.current = false;
return()=>{
isMountedRef.current = true;
@ -53,26 +52,14 @@ const ParentChildAdd = () => {
});
}
const copyInviteURL = () => {
const handleCheckRelations = (type) => {
set401Error('');
setLoaded(false);
axios.get('/api/fathers/relations/check')
.then(response=>{
if(isMountedRef.current) return;
setNotice(response.data.notice);
setLoaded(true);
setResponse(response);
})
.catch(err=>console.log(err));
}
useEffect(()=>{
if(response){
if(type == 'invite'){
let inviteurl = document.getElementById('inviteurl').value;
let sentence = '「KIKI」の招待が届いています。' + '\n' +
'まずは以下より仮登録を行ってください。' + '\n' +
'※スマホ本体を最新の状態にアップデートしてからURLをクリックしてください。' + '\n\n' +
@ -80,56 +67,63 @@ const ParentChildAdd = () => {
'▼公式サイトはこちら' + '\n' +
'https://kikikan.jp' + '\n\n' +
'idの箇所は親のidを引っ張るようお願い致します。';
if(!copy(sentence, {debug: true})){
set400Error('コピー失敗しました。');
return;
}
}
axios.get('/api/fathers/relations/check')
.then(response=>{
if(isMountedRef.current) return;
switch(response.data.status_code){
case 200: {
clipboardCopy(sentence)
.then(()=>{
if(isMountedRef.current) return;
setSuccess('招待用URLをコピーしました。')
})
.catch(()=>{
if(isMountedRef.current) return;
set400Error('コピー失敗しました。');
});
if(type == "invite") setSuccess('招待用URLをコピーしました。');
else if(type=='line') copyLineText();
break;
}
case 400: set400Error(response.data.error_messages); break;
case 401: set401Error(response.data.error_messages); set400Error(response.data.error_messages); break;
}
}
}, [response]);
setNotice(response.data.notice);
setLoaded(true);
})
.catch(err=>console.log(err));
}
const copyInviteURL = () => {
let inviteurl = document.getElementById('inviteurl').value;
let sentence = '「KIKI」の招待が届いています。' + '\n' +
'まずは以下より仮登録を行ってください。' + '\n' +
'※スマホ本体を最新の状態にアップデートしてからURLをクリックしてください。' + '\n\n' +
inviteurl + '\n\n' +
'▼公式サイトはこちら' + '\n' +
'https://kikikan.jp' + '\n\n' +
'idの箇所は親のidを引っ張るようお願い致します。';
if(copy(sentence, {debug: true}))
{
setSuccess('招待用URLをコピーしました。');
} else {
set400Error('コピー失敗しました。');
}
}
const copyLineText = () => {
const inviteUrl = document.getElementById('inviteurl_html').value;
const siteUrl = document.getElementById('siteurl').value;
const lineText = `「KIKI」の招待が届いています。%0Aまずは以下より仮登録を行ってください。%0A%0A※スマホ本体を最新の状態にアップデートしてからURLをクリックしてください。%0A%0A${inviteUrl}%0A%0A▼公式サイトはこちら%0A${siteUrl}`;
set401Error('');
setLoaded(false);
axios.get('/api/fathers/relations/check')
.then(response=>{
if(isMountedRef.current) return;
setNotice(response.data.notice);
setLoaded(true);
switch(response.data.status_code){
case 200: {
window.location.href = 'http://line.me/R/msg/text/?'+lineText;
break;
}
case 400: set400Error(response.data.error_messages); break;
case 401: set401Error(response.data.error_messages); set400Error(response.data.error_messages); break;
}
})
.catch(err=>console.log(err));
window.location.href = 'http://line.me/R/msg/text/?'+lineText;
}
const contactMailText = 'mailto:56@zotman.jp?subject=KIKIメンバー追加について&body='+
'名前%3A%0A電話番号%3A%0AログインID%3A%0Aログインパスワード%3A%0A追加したいメンバー数%3A%0A「その他お問合せ内容」'
return (
<div className="l-content">
<div className="l-content-w560">
@ -177,10 +171,10 @@ const ParentChildAdd = () => {
</LoadingButton>
</form>
<div style={{color:"#49A3FC",display:"flex", justifyContent:"center", alignItems:"center", paddingTop:40}} >
<a onClick={copyInviteURL}>招待用URLをコピーする</a>
<a onClick={()=>handleCheckRelations('invite')}>招待用URLをコピーする</a>
</div>
<div style={{color:"#49A3FC",display:"flex", justifyContent:"center", alignItems:"center", paddingTop:20}}>
<a onClick={copyLineText}>招待用URLをLINEで送信</a>
<a onClick={()=>handleCheckRelations('line')}>招待用URLをLINEで送信</a>
</div>
</div>
</div>

ファイルの表示

@ -1,7 +1,7 @@
import React, { useRef, useEffect, useState } from 'react';
import moment from 'moment';
import { useNavigate, Link, useParams } from 'react-router-dom';
import clipboardCopy from 'clipboard-copy';
import copy from 'copy-to-clipboard';
import ModalEditMemo from '../../component/modal_edit_memo';
import ModalConfirm from '../../component/modal_confirm';
@ -176,9 +176,11 @@ const ParentMeetingDetail = () => {
const saveStorage = () => {
let txt = `${meeting.father.company}さんより\n業務連絡のお知らせ\n新規業務連絡のご確認はこちら\n\nhttps://kikikan.xyz/c-account/meeting/detail/${params?.meeting_id}`;
clipboardCopy(txt)
.then(()=>setSuccess('コピーしました。'))
.catch(()=>set400Error('コピー失敗しました。'))
if(copy(txt)){
setSuccess('コピーしました。')
} else {
set400Error('コピー失敗しました。')
}
}
const cloneMeeting = (meeting) => {