mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-12 09:36:32 +02:00
add loader to share modal
This commit is contained in:
@ -7,6 +7,7 @@ import { alertsService } from '../notifications';
|
|||||||
import { Button } from './common';
|
import { Button } from './common';
|
||||||
import { Icon } from './Icons';
|
import { Icon } from './Icons';
|
||||||
import { Text } from './Text';
|
import { Text } from './Text';
|
||||||
|
import { LoaderWithText } from './Loader';
|
||||||
|
|
||||||
const FREE_PUBLIC_ITEM_COUNT = 1;
|
const FREE_PUBLIC_ITEM_COUNT = 1;
|
||||||
const BASE_URL = location.origin.includes('chrome-extension://')
|
const BASE_URL = location.origin.includes('chrome-extension://')
|
||||||
@ -34,6 +35,7 @@ export function Share({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const [val, setVal] = useState(item.isPublic);
|
const [val, setVal] = useState(item.isPublic);
|
||||||
|
const [isSyncing, setIsSyncing] = useState(false);
|
||||||
const onChange = async e => {
|
const onChange = async e => {
|
||||||
const newVal = e.target.checked;
|
const newVal = e.target.checked;
|
||||||
setVal(newVal);
|
setVal(newVal);
|
||||||
@ -41,6 +43,7 @@ export function Share({
|
|||||||
const token = await window.user.firebaseUser.getIdToken();
|
const token = await window.user.firebaseUser.getIdToken();
|
||||||
let res;
|
let res;
|
||||||
try {
|
try {
|
||||||
|
setIsSyncing(true);
|
||||||
res = await fetch(
|
res = await fetch(
|
||||||
`${TOGGLE_VISIBILITY_API}?token=${token}&itemId=${item.id}`
|
`${TOGGLE_VISIBILITY_API}?token=${token}&itemId=${item.id}`
|
||||||
);
|
);
|
||||||
@ -50,6 +53,8 @@ export function Share({
|
|||||||
setVal(!newVal);
|
setVal(!newVal);
|
||||||
}, 400);
|
}, 400);
|
||||||
return;
|
return;
|
||||||
|
} finally {
|
||||||
|
setIsSyncing(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.status >= 200 && res.status < 400) {
|
if (res.status >= 200 && res.status < 400) {
|
||||||
@ -95,6 +100,11 @@ export function Share({
|
|||||||
>
|
>
|
||||||
Access
|
Access
|
||||||
</Switch>
|
</Switch>
|
||||||
|
{isSyncing && (
|
||||||
|
<p>
|
||||||
|
<LoaderWithText>Syncing...</LoaderWithText>
|
||||||
|
</p>
|
||||||
|
)}
|
||||||
{item.isPublic && (
|
{item.isPublic && (
|
||||||
<p>
|
<p>
|
||||||
Public at{' '}
|
Public at{' '}
|
||||||
|
Reference in New Issue
Block a user