diff --git a/frontend/src/ts/pages/friends.ts b/frontend/src/ts/pages/friends.ts index 961283355..5d3f4dc46 100644 --- a/frontend/src/ts/pages/friends.ts +++ b/frontend/src/ts/pages/friends.ts @@ -65,7 +65,27 @@ export async function addFriend(friendName: string): Promise { const addFriendModal = new SimpleModal({ id: "addFriend", title: "Add a friend", - inputs: [{ placeholder: "user name", type: "text", initVal: "" }], + inputs: [ + { + placeholder: "user name", + type: "text", + initVal: "", + validation: { + isValid: async (name: string) => { + const checkNameResponse = await Ape.users.getNameAvailability({ + params: { name: name }, + }); + + return ( + (checkNameResponse.status === 200 && + !checkNameResponse.body.data.available) || + "Unknown user" + ); + }, + debounceDelay: 1000, + }, + }, + ], buttonText: "request", onlineOnly: true, execFn: async (_thisPopup, friendName) => {