Properly handling archived account login

This commit is contained in:
Wind-Explorer
2024-08-13 03:02:05 +08:00
parent 7d9ef25fcd
commit 8a973fbef6
4 changed files with 95 additions and 76 deletions

View File

@@ -1,7 +1,7 @@
import { useNavigate } from "react-router-dom";
import { useEffect, useState } from "react";
import { Button, Card, Link } from "@nextui-org/react";
import { LockClosedIcon, PencilSquareIcon } from "../icons";
import { PencilSquareIcon } from "../icons";
import SpringboardButton from "../components/SpringboardButton";
import { getTimeOfDay } from "../utilities";
import { retrieveUserInformation } from "../security/users";
@@ -16,7 +16,6 @@ export default function SpringboardPage() {
navigate("/signin");
}
const [userInformation, setUserInformation] = useState<any>();
const [accountUnavailable, setAccountUnavaliable] = useState(false);
const [events, setEvents] = useState<any[]>([]);
let timeOfDay = getTimeOfDay();
@@ -38,7 +37,7 @@ export default function SpringboardPage() {
setUserInformation(response);
})
.catch((_) => {
setAccountUnavaliable(true);
navigate("/account-inaccessible");
});
instance.get("/events").then((response) => {
@@ -170,69 +169,6 @@ export default function SpringboardPage() {
</div>
)}
</div>
<div>
{accountUnavailable && (
<div className="m-8 flex flex-col gap-4">
<Card>
<div className="flex flex-col m-8 gap-8">
<div className="rounded-xl flex flex-col gap-8 p-4 justify-center bg-primary-500 text-center text-white">
<div className="pt-10 w-full flex flex-row justify-center scale-150">
<div className="scale-150 pb-2">
<LockClosedIcon />
</div>
</div>
<div className="flex flex-col gap-8">
<div className="flex flex-col">
<p className="text-4xl font-bold">Account unavailable.</p>
<p className="text-xl opacity-70">
This account has been archived.
</p>
</div>
<p>
If you wish to recover the account, please{" "}
<Link className="text-white px-1 rounded-md bg-primary-400">
contact us
</Link>
</p>
<div className="w-min mx-auto"></div>
</div>
</div>
<div className="flex flex-col justify-center">
<div className="w-min mx-auto">
<Button color="primary" onPress={() => navigate("/signin")}>
Sign in with a different account
</Button>
</div>
</div>
</div>
</Card>
<Card>
<div className="p-8 flex flex-col gap-4">
<p className="text-2xl font-semibold">Why am I seeing this?</p>
<div className="flex flex-col gap-2">
<p>
You have attempted to access an account that has been
archived.
</p>
<p>
This may due to, either manual operation by the owner of the
account, or administrative decision from the management
team.
</p>
<p>
The information related to this account remains, however the
access to the account will not be available.
</p>
<p>
If you believe that this is incorrect, or would like to
request an unarchive, please <Link>contact us</Link>.
</p>
</div>
</div>
</Card>
</div>
)}
</div>
</div>
);
}