Improved the overall stability and speed of the app
This commit is contained in:
@@ -55,7 +55,14 @@ const USER_TYPE_PERMISSIONS: {
|
||||
},
|
||||
};
|
||||
|
||||
export default function BatchCodeGenerator({user, onFinish}: {user: User; onFinish: () => void}) {
|
||||
interface Props {
|
||||
user: User;
|
||||
users: User[];
|
||||
permissions: PermissionType[];
|
||||
onFinish: () => void;
|
||||
}
|
||||
|
||||
export default function BatchCodeGenerator({user, users, permissions, onFinish}: Props) {
|
||||
const [infos, setInfos] = useState<{email: string; name: string; passport_id: string}[]>([]);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
const [expiryDate, setExpiryDate] = useState<Date | null>(
|
||||
@@ -65,9 +72,6 @@ export default function BatchCodeGenerator({user, onFinish}: {user: User; onFini
|
||||
const [type, setType] = useState<Type>("student");
|
||||
const [showHelp, setShowHelp] = useState(false);
|
||||
|
||||
const {users} = useUsers();
|
||||
const {permissions} = usePermissions(user?.id || "");
|
||||
|
||||
const {openFilePicker, filesContent, clear} = useFilePicker({
|
||||
accept: ".xlsx",
|
||||
multiple: false,
|
||||
|
||||
@@ -61,7 +61,14 @@ const USER_TYPE_PERMISSIONS: {
|
||||
},
|
||||
};
|
||||
|
||||
export default function BatchCreateUser({user, onFinish}: {user: User; onFinish: () => void}) {
|
||||
interface Props {
|
||||
user: User;
|
||||
users: User[];
|
||||
permissions: PermissionType[];
|
||||
onFinish: () => void;
|
||||
}
|
||||
|
||||
export default function BatchCreateUser({user, users, permissions, onFinish}: Props) {
|
||||
const [infos, setInfos] = useState<
|
||||
{
|
||||
email: string;
|
||||
@@ -83,9 +90,6 @@ export default function BatchCreateUser({user, onFinish}: {user: User; onFinish:
|
||||
const [type, setType] = useState<Type>("student");
|
||||
const [showHelp, setShowHelp] = useState(false);
|
||||
|
||||
const {users} = useUsers();
|
||||
const {permissions} = usePermissions(user?.id || "");
|
||||
|
||||
const {openFilePicker, filesContent, clear} = useFilePicker({
|
||||
accept: ".xlsx",
|
||||
multiple: false,
|
||||
|
||||
@@ -48,14 +48,19 @@ const USER_TYPE_PERMISSIONS: {
|
||||
},
|
||||
};
|
||||
|
||||
export default function CodeGenerator({user, onFinish}: {user: User; onFinish: () => void}) {
|
||||
interface Props {
|
||||
user: User;
|
||||
permissions: PermissionType[];
|
||||
onFinish: () => void;
|
||||
}
|
||||
|
||||
export default function CodeGenerator({user, permissions, onFinish}: Props) {
|
||||
const [generatedCode, setGeneratedCode] = useState<string>();
|
||||
const [expiryDate, setExpiryDate] = useState<Date | null>(
|
||||
user?.subscriptionExpirationDate ? moment(user.subscriptionExpirationDate).toDate() : null,
|
||||
);
|
||||
const [isExpiryDateEnabled, setIsExpiryDateEnabled] = useState(true);
|
||||
const [type, setType] = useState<Type>("student");
|
||||
const {permissions} = usePermissions(user?.id || "");
|
||||
|
||||
useEffect(() => {
|
||||
if (!isExpiryDateEnabled) setExpiryDate(null);
|
||||
|
||||
@@ -9,10 +9,15 @@ import PackageList from "./PackageList";
|
||||
import UserList from "./UserList";
|
||||
import {checkAccess} from "@/utils/permissions";
|
||||
import usePermissions from "@/hooks/usePermissions";
|
||||
import {PermissionType} from "@/interfaces/permissions";
|
||||
|
||||
export default function Lists({user}: {user: User}) {
|
||||
const {permissions} = usePermissions(user?.id || "");
|
||||
interface Props {
|
||||
user: User;
|
||||
users: User[];
|
||||
permissions: PermissionType[];
|
||||
}
|
||||
|
||||
export default function Lists({user, users, permissions}: Props) {
|
||||
return (
|
||||
<TabGroup>
|
||||
<TabList className="flex space-x-1 rounded-xl bg-mti-purple-ultralight/40 p-1">
|
||||
|
||||
@@ -54,7 +54,14 @@ const USER_TYPE_PERMISSIONS: {
|
||||
},
|
||||
};
|
||||
|
||||
export default function UserCreator({user, onFinish}: {user: User; onFinish: () => void}) {
|
||||
interface Props {
|
||||
user: User;
|
||||
users: User[];
|
||||
permissions: PermissionType[];
|
||||
onFinish: () => void;
|
||||
}
|
||||
|
||||
export default function UserCreator({user, users, permissions, onFinish}: Props) {
|
||||
const [name, setName] = useState<string>();
|
||||
const [email, setEmail] = useState<string>();
|
||||
const [phone, setPhone] = useState<string>();
|
||||
@@ -74,9 +81,7 @@ export default function UserCreator({user, onFinish}: {user: User; onFinish: ()
|
||||
const [type, setType] = useState<Type>("student");
|
||||
const [position, setPosition] = useState<string>();
|
||||
|
||||
const {permissions} = usePermissions(user?.id || "");
|
||||
const {groups} = useGroups({admin: ["developer", "admin"].includes(user?.type) ? undefined : user?.id, userType: user?.type});
|
||||
const {users} = useUsers();
|
||||
|
||||
useEffect(() => {
|
||||
if (!isExpiryDateEnabled) setExpiryDate(null);
|
||||
|
||||
Reference in New Issue
Block a user