| import React, { useState, useRef, useEffect, useMemo } from "react"; | 
| import { useTranslate } from "react-admin"; | 
| import { | 
|     Fab, | 
| } from '@mui/material'; | 
| import LensBlurIcon from '@mui/icons-material/LensBlur'; | 
| import { getFakeSign, setFakeSign } from "../http"; | 
| import { VERIFY_PASSWORD } from '@/config/setting'; | 
|   | 
| const FakeFab = (props) => { | 
|     const translate = useTranslate(); | 
|     const [fakeRun, setFakeRun] = useState(false); | 
|   | 
|     useEffect(() => { | 
|         getFakeSign(null, (res) => { | 
|             setFakeRun(res); | 
|         }); | 
|     }, [props]); | 
|   | 
|     const handleToggle = () => { | 
|         getFakeSign(null, (res) => { | 
|             let pass = true; | 
|             if (!res) { | 
|                 const pwd = prompt("please enter password:"); | 
|                 if (pwd === VERIFY_PASSWORD) { | 
|                     pass = true; | 
|                 } else { | 
|                     pass = false; | 
|                     if (pwd) { | 
|                         alert('Incorrect password'); | 
|                     } | 
|                 } | 
|             } | 
|             if (pass) { | 
|                 setFakeSign(!res, (updatedSign) => { | 
|                     setFakeRun(updatedSign); | 
|                 }); | 
|             } | 
|         }); | 
|     } | 
|   | 
|     return ( | 
|         <> | 
|             <Fab | 
|                 variant="extended" | 
|                 color={fakeRun ? 'primary' : 'default'} | 
|                 size="small" | 
|                 onClick={handleToggle} | 
|             > | 
|                 <LensBlurIcon /> | 
|                  {translate('page.map.action.fake')}  | 
|             </Fab> | 
|         </> | 
|     ) | 
| } | 
|   | 
| export default FakeFab; |