Spaces:
Runtime error
Runtime error
Update src/components/menu-bar/google-drive-save.jsx
Browse files
src/components/menu-bar/google-drive-save.jsx
CHANGED
|
@@ -17,6 +17,7 @@ class GoogleDriveSave extends React.Component {
|
|
| 17 |
isModalOpen: false,
|
| 18 |
isLoading: false
|
| 19 |
};
|
|
|
|
| 20 |
}
|
| 21 |
|
| 22 |
componentDidMount() {
|
|
@@ -30,7 +31,12 @@ class GoogleDriveSave extends React.Component {
|
|
| 30 |
handleCloseModal = () => {
|
| 31 |
this.setState({isModalOpen: false});
|
| 32 |
};
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
startGoogleLogin = () => {
|
| 35 |
const CLIENT_ID = "1033286471224-n9mv8l869fqikubj2e8q92n8ige3qr6r.apps.googleusercontent.com";
|
| 36 |
const REDIRECT_URI = "https://soiz1-s4s-upload.hf.space/close2";
|
|
@@ -94,7 +100,7 @@ class GoogleDriveSave extends React.Component {
|
|
| 94 |
if (!this.state.isModalOpen) return null;
|
| 95 |
|
| 96 |
return (
|
| 97 |
-
<div className={styles.modalOverlay}>
|
| 98 |
<div className={styles.modalContent}>
|
| 99 |
<div className={styles.modalHeader}>
|
| 100 |
<h2>Googleドライブに保存</h2>
|
|
|
|
| 17 |
isModalOpen: false,
|
| 18 |
isLoading: false
|
| 19 |
};
|
| 20 |
+
this.modalContentRef = React.createRef();
|
| 21 |
}
|
| 22 |
|
| 23 |
componentDidMount() {
|
|
|
|
| 31 |
handleCloseModal = () => {
|
| 32 |
this.setState({isModalOpen: false});
|
| 33 |
};
|
| 34 |
+
handleOverlayClick = (e) => {
|
| 35 |
+
// モーダルコンテンツ内をクリックした場合は閉じない
|
| 36 |
+
if (this.modalContentRef.current && !this.modalContentRef.current.contains(e.target)) {
|
| 37 |
+
this.handleCloseModal();
|
| 38 |
+
}
|
| 39 |
+
};
|
| 40 |
startGoogleLogin = () => {
|
| 41 |
const CLIENT_ID = "1033286471224-n9mv8l869fqikubj2e8q92n8ige3qr6r.apps.googleusercontent.com";
|
| 42 |
const REDIRECT_URI = "https://soiz1-s4s-upload.hf.space/close2";
|
|
|
|
| 100 |
if (!this.state.isModalOpen) return null;
|
| 101 |
|
| 102 |
return (
|
| 103 |
+
<div className={styles.modalOverlay} onClick={this.handleOverlayClick}>
|
| 104 |
<div className={styles.modalContent}>
|
| 105 |
<div className={styles.modalHeader}>
|
| 106 |
<h2>Googleドライブに保存</h2>
|