Restore workspace prerender and auth errors
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
|
||||||
@if (UseInteractiveApp)
|
@if (UseInteractiveApp)
|
||||||
{
|
{
|
||||||
<HeadOutlet @rendermode="@(new InteractiveServerRenderMode(prerender: false))"/>
|
<HeadOutlet @rendermode="InteractiveServer"/>
|
||||||
}
|
}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<Routes @rendermode="@(new InteractiveServerRenderMode(prerender: false))"/>
|
<Routes @rendermode="InteractiveServer"/>
|
||||||
}
|
}
|
||||||
<script src="js/rpgroller-api.js"></script>
|
<script src="js/rpgroller-api.js"></script>
|
||||||
@if (UseInteractiveApp)
|
@if (UseInteractiveApp)
|
||||||
@@ -38,11 +38,9 @@ else
|
|||||||
</html>
|
</html>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Inject]
|
[Inject] private IGameService GameService { get; set; } = null!;
|
||||||
private IGameService GameService { get; set; } = null!;
|
|
||||||
|
|
||||||
[CascadingParameter]
|
[CascadingParameter] private HttpContext? HttpContext { get; set; }
|
||||||
private HttpContext? HttpContext { get; set; }
|
|
||||||
|
|
||||||
private bool UseInteractiveApp => !UseStaticAuthPage;
|
private bool UseInteractiveApp => !UseStaticAuthPage;
|
||||||
|
|
||||||
|
|||||||
@@ -275,6 +275,11 @@ window.rpgRollerApi = (() => {
|
|||||||
errorElement.textContent = message || "";
|
errorElement.textContent = message || "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setInvalidCredentialsErrors(form) {
|
||||||
|
setFieldError(form, "username", "Invalid username or password.");
|
||||||
|
setFieldError(form, "password", "Invalid username or password.");
|
||||||
|
}
|
||||||
|
|
||||||
function readFormData(form) {
|
function readFormData(form) {
|
||||||
return Object.fromEntries(new FormData(form).entries());
|
return Object.fromEntries(new FormData(form).entries());
|
||||||
}
|
}
|
||||||
@@ -325,6 +330,7 @@ window.rpgRollerApi = (() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (Object.keys(errors).length > 0) {
|
if (Object.keys(errors).length > 0) {
|
||||||
|
setAuthStatus(statusElement, "Resolve validation issues before submitting.", true);
|
||||||
setFormError(form, "Resolve validation issues before submitting.");
|
setFormError(form, "Resolve validation issues before submitting.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -345,12 +351,17 @@ window.rpgRollerApi = (() => {
|
|||||||
try {
|
try {
|
||||||
const response = await request("POST", endpoint, requestBody);
|
const response = await request("POST", endpoint, requestBody);
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
|
setAuthStatus(statusElement, response.error || "Request failed.", true);
|
||||||
|
|
||||||
if (formType === "register" && response.code === "duplicate_username") {
|
if (formType === "register" && response.code === "duplicate_username") {
|
||||||
setFieldError(form, "username", "Username is already taken. Choose another one.");
|
setFieldError(form, "username", "Username is already taken. Choose another one.");
|
||||||
|
} else if (formType === "login" && response.code === "invalid_credentials") {
|
||||||
|
setInvalidCredentialsErrors(form);
|
||||||
} else {
|
} else {
|
||||||
setFormError(form, response.error || "Request failed.");
|
setFormError(form, response.error || "Request failed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setFormError(form, response.error || "Request failed.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user