fixed invite url parent

このコミットが含まれているのは:
dragon1211 2022-01-14 01:29:19 -08:00
コミット 276dde9362
6個のファイルの変更1716行の追加3435行の削除

ファイルの表示

@ -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.11.338",
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.11.338.tgz",
"integrity": "sha512-Ti5VTB0VvSdtTtc7TG71ghMx0SEuNcEs4ghVuZxW0p6OqLjMc0xekZV1B+MmlxEG2Du2e5jgazucWIG/SXTcdA=="
},
"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.11.338",
"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"
},

4957
backend/public/js/app.js vendored

ファイル差分が大きすぎるため省略します 差分を読み込み

ファイルの表示

@ -1,5 +1,6 @@
import React, { useEffect, useState } from 'react';
import { Document, Page} from "react-pdf";
import { Document, Page, pdfjs} from "react-pdf";
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`;
const PreviewPDF = ({pdf_url}) => {

ファイルの表示

@ -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,66 @@ 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){
switch(response.data.status_code){
case 200: {
clipboardCopy(document.getElementById('inviteurl').value)
.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 +132,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/pdf.worker.js') }}"></script>
<script src="{{ asset('js/app.js') }}"></script>
<!-- V1, 2022/1/13 -->
</html>