import { useParams } from '@gatsbyjs/reach-router';
import React, { useCallback, useEffect, useState } from 'react';
import { Utils } from '../../../utils/utils';
import { gettext } from '../../../utils/constants';
import Loading from '../../../components/loading';
import SetQuotaDialog from '../../../components/dialog/sysadmin-dialog/set-quota';
import instAdminAPI from '../api';
export default function UserInfo() {
const [isLoading, setIsLoading] = useState(true);
const [user, setUser] = useState(null);
const [isShowEditDialog, setIsShowEditDialog] = useState(false);
const params = useParams();
useEffect(() => {
instAdminAPI.getInstitutionUserInfo(decodeURIComponent(params.email)).then(res => {
const user = res.data;
setUser(user);
setIsLoading(false);
});
}, [params.email]);
const toggleSetQuotaDialog = useCallback(() => {
setIsShowEditDialog(!isShowEditDialog);
}, [isShowEditDialog]);
const updateQuota = useCallback((quote) => {
instAdminAPI.setInstitutionUserQuote(user.email, quote).then(res => {
// convert value to mb
const newUser = {...user, quota_total: quote * 1000 * 1000};
setUser(newUser);
});
}, [user]);
if (isLoading) {
return