Skeleton: Trim login data + fix undefined firstname when updating profile
All checks were successful
Build Formula11 Docker Image / pocketbase-docker (push) Successful in 26s

This commit is contained in:
2025-03-14 00:39:16 +01:00
parent 8c18cef7aa
commit 2536126ead

View File

@ -193,24 +193,24 @@
try { try {
if (create) { if (create) {
if (!username_value || username_value === "") { if (!username_value || username_value.trim() === "") {
toastStore.trigger(get_error_toast("Please enter a username!")); toastStore.trigger(get_error_toast("Please enter a username!"));
return; return;
} }
if (!firstname_value || firstname_value === "") { if (!firstname_value || firstname_value.trim() === "") {
toastStore.trigger(get_error_toast("Please enter your first name!")); toastStore.trigger(get_error_toast("Please enter your first name!"));
return; return;
} }
if (!password_value || password_value === "") { if (!password_value || password_value.trim() === "") {
toastStore.trigger(get_error_toast("Please enter a password!")); toastStore.trigger(get_error_toast("Please enter a password!"));
return; return;
} }
await pb.collection("users").create({ await pb.collection("users").create({
username: username_value, username: username_value.trim(),
firstname: firstname_value, firstname: firstname_value.trim(),
password: password_value, password: password_value.trim(),
passwordConfirm: password_value, // lol passwordConfirm: password_value.trim(), // lol
admin: false, admin: false,
}); });
@ -222,8 +222,9 @@
} }
await pb.collection("users").update(data.user.id, { await pb.collection("users").update(data.user.id, {
username: username_value.length > 0 ? username_value : undefined, username: username_value.trim().length > 0 ? username_value.trim() : data.user.username,
firstname: firstname_value.length > 0 ? firstname_value : undefined, firstname:
firstname_value.trim().length > 0 ? firstname_value.trim() : data.user.firstname,
avatar: avatar_avif, avatar: avatar_avif,
}); });
drawerStore.close(); drawerStore.close();
@ -322,7 +323,14 @@
<!-- Login Drawer --> <!-- Login Drawer -->
<div class="flex flex-col gap-2 p-2 pt-3"> <div class="flex flex-col gap-2 p-2 pt-3">
<h4 class="h4 select-none">Enter Username and Password</h4> <h4 class="h4 select-none">Enter Username and Password</h4>
<Input bind:value={username_value} placeholder="Username" autocomplete="username" required> <Input
bind:value={username_value}
placeholder="Username"
autocomplete="username"
minlength={3}
maxlength={10}
required
>
<UserIcon /> <UserIcon />
</Input> </Input>
<Input <Input