コミット
104ee0f0c3
|
@ -10444,9 +10444,9 @@
|
|||
}
|
||||
},
|
||||
"pdfjs-dist": {
|
||||
"version": "2.12.313",
|
||||
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.12.313.tgz",
|
||||
"integrity": "sha512-1x6iXO4Qnv6Eb+YFdN5JdUzt4pAkxSp3aLAYPX93eQCyg/m7QFzXVWJHJVtoW48CI8HCXju4dSkhQZwoheL5mA=="
|
||||
"version": "2.10.377",
|
||||
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.10.377.tgz",
|
||||
"integrity": "sha512-i0jRShtvgfsVQUNCoFYH4SVhPO3U0yhtiFLfZ0RR0B+68N+Vnwq+8B3cjWjLEwWGh8wg1XQ/sYMYKUlHn/Qpsw=="
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
|
@ -11532,9 +11532,9 @@
|
|||
"integrity": "sha512-a5Q7CkWznBRUWPmocCvE8b6lEYw1s6+opp/60dCunhO+G6E4tDTO2Sd2jKE+leEnnrLAE2Wj5DlDHNqj5wPv1Q=="
|
||||
},
|
||||
"react-pdf": {
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-5.6.0.tgz",
|
||||
"integrity": "sha512-s2T2ykxI0beC2z+dtfu6EyyrjmeYc8JhtYoD13aXkccBb7Pymd62opw7R4Zb8xMh7VvplBdC4J4V87cizbt+Dw==",
|
||||
"version": "5.4.0",
|
||||
"resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-5.4.0.tgz",
|
||||
"integrity": "sha512-wO+RESP4t9Dwq10ORiE1XSPohnsU/WYTgHf80mDhRxPqwzN2HrbBg1NUZRBqbxkd8ZM3HhBR47apYL4xmweMPg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.0.0",
|
||||
"file-loader": "^6.0.0",
|
||||
|
@ -11542,14 +11542,14 @@
|
|||
"make-event-props": "^1.1.0",
|
||||
"merge-class-names": "^1.1.1",
|
||||
"merge-refs": "^1.0.0",
|
||||
"pdfjs-dist": "2.10.377",
|
||||
"pdfjs-dist": "2.9.359",
|
||||
"prop-types": "^15.6.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"pdfjs-dist": {
|
||||
"version": "2.10.377",
|
||||
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.10.377.tgz",
|
||||
"integrity": "sha512-i0jRShtvgfsVQUNCoFYH4SVhPO3U0yhtiFLfZ0RR0B+68N+Vnwq+8B3cjWjLEwWGh8wg1XQ/sYMYKUlHn/Qpsw=="
|
||||
"version": "2.9.359",
|
||||
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.9.359.tgz",
|
||||
"integrity": "sha512-P2nYtkacdlZaNNwrBLw1ZyMm0oE2yY/5S/GDCAmMJ7U4+ciL/D0mrlEC/o4HZZc/LNE3w8lEVzBEyVgEQlPVKQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -43,14 +43,14 @@
|
|||
"es7-shim": "^6.0.0",
|
||||
"history": "^5.0.0",
|
||||
"moment": "^2.29.1",
|
||||
"pdfjs-dist": "^2.12.313",
|
||||
"pdfjs-dist": "^2.10.377",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^17.0.2",
|
||||
"react-cookie": "^4.1.1",
|
||||
"react-datepicker": "^4.2.1",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-infinite-scroll-component": "^6.1.0",
|
||||
"react-pdf": "^5.6.0",
|
||||
"react-pdf": "^5.4.0",
|
||||
"react-router-dom": "^6.2.1",
|
||||
"react-scripts": "^5.0.0"
|
||||
},
|
||||
|
|
長すぎる行があるためファイル差分は表示されません
長すぎる行があるためファイル差分は表示されません
長すぎる行があるためファイル差分は表示されません
|
@ -15,8 +15,6 @@ import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';
|
|||
import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';
|
||||
import Container from '@mui/material/Container';
|
||||
|
||||
import pdfjsWorker from "pdfjs-dist/build/pdf.worker.entry";
|
||||
|
||||
const Transition = React.forwardRef(function Transition(props, ref) {
|
||||
return <Slide direction="up" ref={ref} {...props} />;
|
||||
});
|
||||
|
|
|
@ -30,7 +30,10 @@ const PreviewPDF = ({pdf_url}) => {
|
|||
}}>
|
||||
{
|
||||
pdf_url &&
|
||||
<Document file={pdf_url} loading={<></>}>
|
||||
<Document
|
||||
file={pdf_url}
|
||||
loading={<></>}
|
||||
>
|
||||
<Page
|
||||
pageNumber={1}
|
||||
loading={<></>}
|
||||
|
|
|
@ -10,7 +10,7 @@ const ParentChildAdd = () => {
|
|||
const [notice, setNotice] = useState(localStorage.getItem('notice'));
|
||||
const father_id = localStorage.getItem('kiki_acc_id');
|
||||
|
||||
const [loaded, setLoaded] = useState(false);
|
||||
const [loaded, setLoaded] = useState(true);
|
||||
|
||||
const [identity, setIdentity] = useState('');
|
||||
const [_success, setSuccess] = useState('');
|
||||
|
@ -25,17 +25,6 @@ const ParentChildAdd = () => {
|
|||
useEffect(() => {
|
||||
//check relation onload
|
||||
isMountedRef.current = false;
|
||||
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));
|
||||
return()=>{
|
||||
isMountedRef.current = true;
|
||||
}
|
||||
|
@ -66,32 +55,76 @@ const ParentChildAdd = () => {
|
|||
|
||||
const copyInviteURL = () => {
|
||||
set401Error('');
|
||||
switch(response.data.status_code){
|
||||
case 200: {
|
||||
clipboardCopy(document.getElementById('inviteurl').value)
|
||||
.then(()=>setSuccess('招待用URLをコピーしました。'))
|
||||
.catch(()=>set400Error('コピー失敗しました。'))
|
||||
break;
|
||||
}
|
||||
case 400: set400Error(response.data.error_messages); break;
|
||||
case 401: set401Error(response.data.error_messages); set400Error(response.data.error_messages); break;
|
||||
}
|
||||
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){
|
||||
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: {
|
||||
clipboardCopy(sentence)
|
||||
.then(()=>{
|
||||
if(isMountedRef.current) return;
|
||||
setSuccess('招待用URLをコピーしました。')
|
||||
})
|
||||
.catch(()=>{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}, [response]);
|
||||
|
||||
|
||||
|
||||
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('');
|
||||
switch(response.data.status_code){
|
||||
case 200: {
|
||||
window.location.href = 'http://line.me/R/msg/text/?'+lineText;
|
||||
break;
|
||||
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;
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
const contactMailText = 'mailto:56@zotman.jp?subject=KIKIメンバー追加について&body='+
|
||||
|
@ -109,53 +142,50 @@ const ParentChildAdd = () => {
|
|||
{
|
||||
!loaded && <PageLoader/>
|
||||
}
|
||||
{
|
||||
loaded &&
|
||||
<div className="l-content-wrap">
|
||||
<section className="edit-container">
|
||||
<div className="edit-wrap">
|
||||
<div className="edit-content">
|
||||
{
|
||||
_401error &&
|
||||
<span className="mb-40-px l-alert__text--error ft-18 ft-md-16 ">
|
||||
追加する場合は<a href={contactMailText} target='_blank' style={{ color:'#4CA6FF', textDecoration:'initial !important' }}>こちらよりお問い合わせ</a>お願いします。
|
||||
</span>
|
||||
}
|
||||
<form className="edit-form" onSubmit={handleSubmit}>
|
||||
<div className="edit-set">
|
||||
<label className="control-label" htmlFor="identify">追加する子のIDを入力</label>
|
||||
<input type="text"
|
||||
name="identity"
|
||||
id="identity"
|
||||
value={identity}
|
||||
onChange={e=>setIdentity(e.target.value)}
|
||||
className={`input-default input-title input-h60 input-w480 ${ _422errors.identity && 'is-invalid c-input__target'} `} />
|
||||
{
|
||||
_422errors.identity &&
|
||||
<span className="l-alert__text--error ft-16 ft-md-14">
|
||||
{_422errors.identity}
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
<LoadingButton
|
||||
type="submit" fullWidth
|
||||
loading={submit}
|
||||
className="btn-edit btn-default btn-h75 bg-yellow rounded-20"
|
||||
style={{marginTop:'50px'}}>
|
||||
<span className={`ft-18 ft-xs-16 font-weight-bold ${!submit && 'text-black'}`}>追加</span>
|
||||
</LoadingButton>
|
||||
</form>
|
||||
<div style={{color:"#49A3FC",display:"flex", justifyContent:"center", alignItems:"center", paddingTop:40}} >
|
||||
<a onClick={copyInviteURL}>招待用URLをコピーする</a>
|
||||
</div>
|
||||
<div style={{color:"#49A3FC",display:"flex", justifyContent:"center", alignItems:"center", paddingTop:20}}>
|
||||
<a onClick={copyLineText}>招待用URLをLINEで送信</a>
|
||||
<div className="l-content-wrap">
|
||||
<section className="edit-container">
|
||||
<div className="edit-wrap">
|
||||
<div className="edit-content">
|
||||
{
|
||||
_401error &&
|
||||
<span className="mb-40-px l-alert__text--error ft-18 ft-md-16 ">
|
||||
追加する場合は<a href={contactMailText} target='_blank' style={{ color:'#4CA6FF', textDecoration:'initial !important' }}>こちらよりお問い合わせ</a>お願いします。
|
||||
</span>
|
||||
}
|
||||
<form className="edit-form" onSubmit={handleSubmit}>
|
||||
<div className="edit-set">
|
||||
<label className="control-label" htmlFor="identify">追加する子のIDを入力</label>
|
||||
<input type="text"
|
||||
name="identity"
|
||||
id="identity"
|
||||
value={identity}
|
||||
onChange={e=>setIdentity(e.target.value)}
|
||||
className={`input-default input-title input-h60 input-w480 ${ _422errors.identity && 'is-invalid c-input__target'} `} />
|
||||
{
|
||||
_422errors.identity &&
|
||||
<span className="l-alert__text--error ft-16 ft-md-14">
|
||||
{_422errors.identity}
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
<LoadingButton
|
||||
type="submit" fullWidth
|
||||
loading={submit}
|
||||
className="btn-edit btn-default btn-h75 bg-yellow rounded-20"
|
||||
style={{marginTop:'50px'}}>
|
||||
<span className={`ft-18 ft-xs-16 font-weight-bold ${!submit && 'text-black'}`}>追加</span>
|
||||
</LoadingButton>
|
||||
</form>
|
||||
<div style={{color:"#49A3FC",display:"flex", justifyContent:"center", alignItems:"center", paddingTop:40}} >
|
||||
<a onClick={copyInviteURL}>招待用URLをコピーする</a>
|
||||
</div>
|
||||
<div style={{color:"#49A3FC",display:"flex", justifyContent:"center", alignItems:"center", paddingTop:20}}>
|
||||
<a onClick={copyLineText}>招待用URLをLINEで送信</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
{ _success && <Alert type="success" hide={()=>setSuccess('')}>{_success}</Alert> }
|
||||
{ _400error && <Alert type="fail" hide={()=>set400Error('')}>{_400error}</Alert> }
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
<script src="{{ asset('js/components/html5shiv-printshiv.min.js') }}"></script>
|
||||
<script src="{{ asset('js/components/html5shiv.min.js') }}"></script>
|
||||
<script src="{{ asset('js/components/es6-promise.js') }}"></script>
|
||||
<script src="{{ asset('js/components/pdf-worker.js') }}"></script> <!-- v2.9.359 -->
|
||||
<script src="{{ asset('js/app.js') }}"></script>
|
||||
<!-- V1, 2022/1/13 -->
|
||||
<!-- V1, 2022/1/15 -->
|
||||
</html>
|
||||
|
|
新しいイシューから参照