feat: show loading when change profile

This commit is contained in:
GyDi
2023-08-05 22:07:30 +08:00
parent 7854775de5
commit 741abc0366
3 changed files with 30 additions and 1 deletions

View File

@@ -27,6 +27,7 @@ export const ProfileBox = styled(Box)(
}[key]!;
return {
position: "relative",
width: "100%",
display: "block",
cursor: "pointer",

View File

@@ -12,6 +12,7 @@ import {
keyframes,
MenuItem,
Menu,
CircularProgress,
} from "@mui/material";
import { RefreshRounded } from "@mui/icons-material";
import { atomLoadingCache } from "@/services/states";
@@ -28,13 +29,14 @@ const round = keyframes`
interface Props {
selected: boolean;
activating: boolean;
itemData: IProfileItem;
onSelect: (force: boolean) => void;
onEdit: () => void;
}
export const ProfileItem = (props: Props) => {
const { selected, itemData, onSelect, onEdit } = props;
const { selected, activating, itemData, onSelect, onEdit } = props;
const { t } = useTranslation();
const [anchorEl, setAnchorEl] = useState<any>(null);
@@ -192,6 +194,25 @@ export const ProfileItem = (props: Props) => {
event.preventDefault();
}}
>
{activating && (
<Box
sx={{
position: "absolute",
display: "flex",
justifyContent: "center",
alignItems: "center",
top: 10,
left: 10,
right: 10,
bottom: 2,
zIndex: 10,
backdropFilter: "blur(2px)",
}}
>
<CircularProgress size={20} />
</Box>
)}
<Box position="relative">
<Typography
width="calc(100% - 36px)"