Fix auth modal feedback and production deploy config
Some checks failed
Build & Push Docker Image to Gitea Registry / build-and-push (push) Failing after 6s
Some checks failed
Build & Push Docker Image to Gitea Registry / build-and-push (push) Failing after 6s
This commit is contained in:
@@ -16,69 +16,68 @@ export default function AuthModal() {
|
||||
const [buttonLoading, setButtonLoading] = useState(false);
|
||||
const modalToggleRef = useRef<HTMLInputElement>(null);
|
||||
|
||||
function closeModal() {
|
||||
if (modalToggleRef.current?.checked) {
|
||||
modalToggleRef.current.checked = false;
|
||||
}
|
||||
}
|
||||
|
||||
async function submitAuth(e: FormEvent<HTMLFormElement>) {
|
||||
e.preventDefault();
|
||||
|
||||
const target = e.target as HTMLFormElement;
|
||||
if (activeTab === "guest") {
|
||||
const guestName = target.elements.namedItem("guestName") as HTMLInputElement;
|
||||
if (!guestName || !guestName.value) return;
|
||||
setServerMessage(null);
|
||||
setButtonLoading(true);
|
||||
|
||||
setButtonLoading(true);
|
||||
const user = await setGuestSession(guestName.value);
|
||||
if (user) {
|
||||
session?.setUser(user);
|
||||
if (modalToggleRef.current?.checked) {
|
||||
modalToggleRef.current.checked = false;
|
||||
}
|
||||
}
|
||||
guestName.value = "";
|
||||
} else if (activeTab === "login") {
|
||||
const loginName = target.elements.namedItem("loginName") as HTMLInputElement;
|
||||
const loginPassword = target.elements.namedItem("loginPassword") as HTMLInputElement;
|
||||
if (!loginName || !loginName.value || !loginPassword || !loginPassword.value) return;
|
||||
|
||||
setButtonLoading(true);
|
||||
const user = await login(loginName.value, loginPassword.value);
|
||||
if (typeof user === "string") {
|
||||
setServerMessage(user);
|
||||
} else if (user?.id) {
|
||||
session?.setUser(user);
|
||||
if (serverMessage) {
|
||||
setServerMessage(null);
|
||||
}
|
||||
if (modalToggleRef.current?.checked) {
|
||||
modalToggleRef.current.checked = false;
|
||||
}
|
||||
}
|
||||
} else if (activeTab === "register") {
|
||||
const registerName = target.elements.namedItem("registerName") as HTMLInputElement;
|
||||
const registerEmail = target.elements.namedItem("registerEmail") as HTMLInputElement;
|
||||
const registerPassword = target.elements.namedItem("registerPassword") as HTMLInputElement;
|
||||
if (!registerName || !registerName.value || !registerPassword || !registerPassword.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
setButtonLoading(true);
|
||||
const user = await register(
|
||||
registerName.value,
|
||||
registerPassword.value,
|
||||
registerEmail.value || undefined
|
||||
);
|
||||
|
||||
if (typeof user === "string") {
|
||||
setServerMessage(user);
|
||||
} else if (user?.id) {
|
||||
session?.setUser(user);
|
||||
if (serverMessage) {
|
||||
setServerMessage(null);
|
||||
}
|
||||
if (modalToggleRef.current?.checked) {
|
||||
modalToggleRef.current.checked = false;
|
||||
try {
|
||||
if (activeTab === "guest") {
|
||||
const guestName = target.elements.namedItem("guestName") as HTMLInputElement;
|
||||
if (!guestName || !guestName.value) return;
|
||||
|
||||
const user = await setGuestSession(guestName.value);
|
||||
if (typeof user === "string") {
|
||||
setServerMessage(user);
|
||||
} else if (user?.id) {
|
||||
session?.setUser(user);
|
||||
closeModal();
|
||||
guestName.value = "";
|
||||
}
|
||||
} else if (activeTab === "login") {
|
||||
const loginName = target.elements.namedItem("loginName") as HTMLInputElement;
|
||||
const loginPassword = target.elements.namedItem("loginPassword") as HTMLInputElement;
|
||||
if (!loginName || !loginName.value || !loginPassword || !loginPassword.value) return;
|
||||
|
||||
const user = await login(loginName.value, loginPassword.value);
|
||||
if (typeof user === "string") {
|
||||
setServerMessage(user);
|
||||
} else if (user?.id) {
|
||||
session?.setUser(user);
|
||||
closeModal();
|
||||
}
|
||||
} else if (activeTab === "register") {
|
||||
const registerName = target.elements.namedItem("registerName") as HTMLInputElement;
|
||||
const registerEmail = target.elements.namedItem("registerEmail") as HTMLInputElement;
|
||||
const registerPassword = target.elements.namedItem("registerPassword") as HTMLInputElement;
|
||||
if (!registerName || !registerName.value || !registerPassword || !registerPassword.value) {
|
||||
return;
|
||||
}
|
||||
|
||||
const user = await register(
|
||||
registerName.value,
|
||||
registerPassword.value,
|
||||
registerEmail.value || undefined
|
||||
);
|
||||
|
||||
if (typeof user === "string") {
|
||||
setServerMessage(user);
|
||||
} else if (user?.id) {
|
||||
session?.setUser(user);
|
||||
closeModal();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
setButtonLoading(false);
|
||||
}
|
||||
setButtonLoading(false);
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user