Skip to content

Commit d24789f

Browse files
committed
Fix some UI messages
1 parent f190940 commit d24789f

3 files changed

Lines changed: 25 additions & 5 deletions

File tree

src/lib/components/input/UsernameInput.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import {
66
UsernameCheckingAvailabilityValRes,
77
UsernameInternalServerErrorValRes,
8-
mapUsernameAvailability,
8+
mapUsernameCheckResponse,
99
validateUsername,
1010
} from '$lib/inputvalidation/usernameValidator';
1111
import type { AnyComponent } from '$lib/types/AnyComponent';
@@ -53,7 +53,7 @@
5353
const response = await accountV2Api.accountCheckUsername({ username: value });
5454
5555
// Map the response to a validation result
56-
validationResult = mapUsernameAvailability(response.availability);
56+
validationResult = mapUsernameCheckResponse(response);
5757
} catch (error) {
5858
// Show an error toast
5959
await handleApiError(error);

src/lib/inputvalidation/usernameValidator.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { type UsernameCheckResponse, UsernameErrorType } from '$lib/api/internal/v1';
12
import { UsernameAvailability } from '$lib/api/internal/v2';
23
import { isEmailAddress } from '$lib/inputvalidation/emailValidator';
34
import type { ValidationResult } from '$lib/types/ValidationResult';
@@ -61,6 +62,11 @@ export const UsernameTakenValRes: ValidationResult = {
6162
message: 'Username is already taken',
6263
};
6364

65+
export const UsernameInvalidValRes: ValidationResult = {
66+
valid: false,
67+
message: 'Username invalid',
68+
};
69+
6470
export const UsernameAvailabilityUnknownValRes: ValidationResult = {
6571
valid: false,
6672
message: 'Unknown username availability',
@@ -108,13 +114,27 @@ export function validateUsername(value: string): ValidationResult | null {
108114
return { valid: true };
109115
}
110116

111-
export function mapUsernameAvailability(availability: UsernameAvailability): ValidationResult {
117+
export function mapUsernameCheckResponse({
118+
availability,
119+
error,
120+
}: UsernameCheckResponse): ValidationResult {
112121
switch (availability) {
113122
case UsernameAvailability.Available:
114123
return UsernameAvailableValRes;
115124
case UsernameAvailability.Taken:
116125
return UsernameTakenValRes;
126+
case UsernameAvailability.Invalid:
127+
break;
117128
default:
118129
return UsernameAvailabilityUnknownValRes;
119130
}
131+
132+
if (!error) {
133+
return UsernameInvalidValRes;
134+
}
135+
136+
return {
137+
valid: false,
138+
message: error.message,
139+
};
120140
}

src/routes/(authenticated)/admin/blacklists/+page.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
MatchTypeEnum,
77
type UserNameBlacklistDto,
88
} from '$lib/api/internal/v1';
9+
import EmailInput from '$lib/components/input/EmailInput.svelte';
910
import TextInput from '$lib/components/input/TextInput.svelte';
1011
import { Button } from '$lib/components/ui/button';
1112
import { Card, CardContent, CardHeader, CardTitle } from '$lib/components/ui/card';
@@ -14,7 +15,6 @@
1415
import { Separator } from '$lib/components/ui/separator';
1516
import { handleApiError } from '$lib/errorhandling/apiErrorHandling';
1617
import type { TimeoutHandle } from '$lib/types/WAPI';
17-
import EmailInput from '$lib/components/input/EmailInput.svelte';
1818
1919
// --- state ---
2020
let usernameEntry = $state<string>('');
@@ -144,7 +144,7 @@
144144
loadEmails('');
145145
return;
146146
}
147-
147+
148148
if (!emailEntryValid) return;
149149
150150
emailDebounce = setTimeout(() => loadEmails(emailEntry), 400);

0 commit comments

Comments
 (0)