diff --git a/frontend/src/ts/controllers/profile-search-controller.ts b/frontend/src/ts/controllers/profile-search-controller.ts index a21491b0b..e5e021586 100644 --- a/frontend/src/ts/controllers/profile-search-controller.ts +++ b/frontend/src/ts/controllers/profile-search-controller.ts @@ -24,12 +24,12 @@ const searchIndicator = new InputIndicator( ); function disableInputs(): void { - $(".page.pageProfileSearch .search .button").addClass("disabled"); + $(".page.pageProfileSearch .search button").addClass("disabled"); $(".page.pageProfileSearch .search input").attr("disabled", "disabled"); } function enableInputs(): void { - $(".page.pageProfileSearch .search .button").removeClass("disabled"); + $(".page.pageProfileSearch .search button").removeClass("disabled"); $(".page.pageProfileSearch .search input").removeAttr("disabled"); } @@ -39,6 +39,10 @@ function areInputsDisabled(): boolean { ); } +function focusInput(): void { + $(".page.pageProfileSearch .search input").trigger("focus"); +} + async function lookupProfile(): Promise { searchIndicator.hide(); const name = $(".page.pageProfileSearch .search input").val() as string; @@ -52,9 +56,11 @@ async function lookupProfile(): Promise { const response = await Ape.users.getProfileByName(name); enableInputs(); if (response.status === 404) { + focusInput(); searchIndicator.show("notFound", "User not found"); return; } else if (response.status !== 200) { + focusInput(); searchIndicator.show("error", `Error: ${response.message}`); return; } @@ -64,11 +70,8 @@ async function lookupProfile(): Promise { }); } -$(".page.pageProfileSearch .search input").on("keyup", (e) => { - if (e.key === "Enter" && !areInputsDisabled()) lookupProfile(); -}); - -$(".page.pageProfileSearch .search .button").on("click", () => { +$(".page.pageProfileSearch form").on("submit", (e) => { + e.preventDefault(); if (areInputsDisabled()) return; lookupProfile(); }); diff --git a/frontend/static/html/pages/profile.html b/frontend/static/html/pages/profile.html index 30a583aed..2a580c4ff 100644 --- a/frontend/static/html/pages/profile.html +++ b/frontend/static/html/pages/profile.html @@ -1,11 +1,11 @@