import styles from './styles.module.scss'; import {useDispatch, useSelector} from "react-redux"; import {ReactComponent as EmptyAvatar} from '@assets/avatar_empty.svg'; import {getLogoutStatus, getUserInfo, isLogined} from "@features/mainSlice"; import Spring from "@components/Spring"; import {useNavigate} from "react-router-dom"; import {ROUTE_PATH} from "@constants/routes"; import LazyImage from "@components/LazyImage"; import USD from "@assets/lvicon/USD.black.png"; import {numFormatter} from "@utils/helpers"; import SvgIcon from "@components/SvgIcon"; import {ReactComponent as Male} from '@assets/singlesvg/gener/male.svg'; import {ReactComponent as FeMale} from '@assets/singlesvg/gener/female.svg'; import {ReactComponent as GenderIcon} from '@assets/singlesvg/gener/gender.svg'; import {ReactComponent as MobileIcon} from '@assets/singlesvg/mobile.svg'; import {ReactComponent as EmailIcon} from '@assets/singlesvg/email.svg'; import {CopyToClipboard} from 'react-copy-to-clipboard'; import {toast} from "react-toastify"; import ToggleButtonGroup from "@mui/material/ToggleButtonGroup"; import {StyledThemeTabs} from "@layout/Sidebar/styles"; import {useThemeProvider} from "@contexts/themeContext"; import ToggleButton from "@mui/material/ToggleButton"; import {reqChangeInfo, reqLogout} from "@features/api"; import {REQ_STATUS} from "@api/config"; import SmallLoading from "@components/SmallLoading"; import {APP_GENDER, APP_THEME} from "@constants/app"; const i18n=global.i18n; const UserSettings=()=>{ const isLogin=useSelector(isLogined); const user=useSelector(getUserInfo); const logoutStatus=useSelector(getLogoutStatus); const dispatch = useDispatch(); const navigate=useNavigate(); const {theme, toggleTheme,setIsShowLang} = useThemeProvider(); const renderEmpty=()=>{ return (
{i18n.t("settings.user_info.welcome")} {i18n.t("settings.user_info.tips")}
) } const getPhone=()=>{ let loc=user.RegisterLocation; let phone=user.Phone; if (phone.startsWith(loc)){ phone=phone.replace(loc,""); } return phone; } const getEmail=()=>{ let email=user.Email; if (email==null||email==""){ return "--"; } return email; } const renderPhone=()=>{ return (
{i18n.t("settings.phone")}
{"+"+user.RegisterLocation}
{getPhone()}
) } const renderEmail=()=>{ return (
{i18n.t("settings.email")}
{getEmail()}
) } const renderUser=()=>{ let gender=(<>); if (user.Gender===APP_GENDER.FEMALE){ gender=(); } else if (user.Gender===APP_GENDER.MALE){ gender=(); } return (
{user.NickName}
{gender}
{ toast.success(i18n.t("copy_success")); }}>
{i18n.t("settings.user_info.id")}
{user.UserID}
{global.DOLLAR+""+numFormatter(user.Score)}
{/*
*/} {/*{renderPhone()}*/} {/*{renderEmail()}*/}
) } const renderUserInfo=()=>{ return ( <> { isLogin?renderUser():renderEmpty() } ) } const renderItemSecurity=()=>{ return ( <> { isLogin?( ):(<>) } ) } const renderItemLang=()=>{ return ( ) } const handleTheme=(theme)=>{ toggleTheme(); // "DefaultLanguage": "en", // "ThemeColor": "dark" if (!isLogin)return; dispatch(reqChangeInfo({ ThemeColor:theme })); } const renderItemTheme=()=>{ return ( ) } const renderItemGender=()=>{ return (
{i18n.t("settings.gender")}
{ user.Gender===APP_GENDER.FEMALE?():() }
) } const renderSetting=()=>{ return (
{renderItemSecurity()} {renderItemLang()} {/*{renderItemGender()}*/} {renderItemTheme()}
) } const renderLogout=()=>{ return ( <> { isLogin?( ):(<>) } ) } return (
{renderUserInfo()} {renderSetting()} {renderLogout()}
) } export default UserSettings;