diff --git a/backend/package-lock.json b/backend/package-lock.json index 6a0458ce..025ff7d6 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -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", diff --git a/backend/package.json b/backend/package.json index d2357c52..02d0fcc2 100644 --- a/backend/package.json +++ b/backend/package.json @@ -38,7 +38,6 @@ "@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", diff --git a/backend/public/js/app.js b/backend/public/js/app.js index 0b515c55..7aac0434 100644 --- a/backend/public/js/app.js +++ b/backend/public/js/app.js @@ -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", { @@ -38112,7 +38112,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - // import clipboardCopy from 'clipboard-copy'; @@ -38219,8 +38218,16 @@ var ParentChildAdd = function ParentChildAdd() { axios.get('/api/fathers/relations/check').then(function (response) { if (isMountedRef.current) return; setNotice(response.data.notice); - setLoaded(true); // setResponse(response); + setLoaded(true); + setResponse(response); + })["catch"](function (err) { + return console.log(err); + }); + }; + (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { + if (response) { + if (isMountedRef.current) return; 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を引っ張るようお願い致します。'; @@ -38245,36 +38252,8 @@ var ParentChildAdd = function ParentChildAdd() { set400Error(response.data.error_messages); break; } - })["catch"](function (err) { - return console.log(err); - }); - }; // useEffect(()=>{ - // if(response){ - // if(isMountedRef.current) return; - // 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を引っ張るようお願い致します。'; - // switch(response.data.status_code){ - // case 200: { - // if(copy(sentence)) - // { - // setSuccess('招待用URLをコピーしました。') - // } else { - // set400Error('コピー失敗しました。'); - // } - // break; - // } - // case 400: set400Error(response.data.error_messages); break; - // case 401: set401Error(response.data.error_messages); set400Error(response.data.error_messages); break; - // } - // } - // }, [response]); - + } + }, [response]); var copyLineText = function copyLineText() { var inviteUrl = document.getElementById('inviteurl_html').value; @@ -40349,8 +40328,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"); @@ -40635,11 +40614,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) { @@ -46361,79 +46341,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 */ -/* 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 - 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 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": diff --git a/backend/resources/js/pages/contact/complete.jsx b/backend/resources/js/pages/contact/complete.jsx index 56f29b7b..98eb4e29 100644 --- a/backend/resources/js/pages/contact/complete.jsx +++ b/backend/resources/js/pages/contact/complete.jsx @@ -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 ( diff --git a/backend/resources/js/parent/child/add.jsx b/backend/resources/js/parent/child/add.jsx index ab20452f..fe9dd243 100644 --- a/backend/resources/js/parent/child/add.jsx +++ b/backend/resources/js/parent/child/add.jsx @@ -3,7 +3,6 @@ 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'; diff --git a/backend/resources/js/parent/meeting/detail.jsx b/backend/resources/js/parent/meeting/detail.jsx index 4a672cfe..38e3b229 100644 --- a/backend/resources/js/parent/meeting/detail.jsx +++ b/backend/resources/js/parent/meeting/detail.jsx @@ -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) => {