feat(admin): add self-host setup and user management page (#7537)

This commit is contained in:
JimmFly
2024-08-13 14:11:03 +08:00
committed by GitHub
parent dc519348c5
commit ccf225c8f9
47 changed files with 2793 additions and 551 deletions

View File

@@ -4,3 +4,29 @@ import { twMerge } from 'tailwind-merge';
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
export const emailRegex =
/^(?:(?:[^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@(?:(?:\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|((?:[a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
interface PasswordLimits {
minLength: number;
maxLength: number;
}
export const validateEmailAndPassword = (
email: string,
password: string,
passwordLimits: PasswordLimits,
setInvalidEmail?: (invalid: boolean) => void,
setInvalidPassword?: (invalid: boolean) => void
) => {
const isValidEmail = emailRegex.test(email);
const isValidPassword =
password.length >= passwordLimits.minLength &&
password.length <= passwordLimits.maxLength;
setInvalidEmail?.(!isValidEmail);
setInvalidPassword?.(!isValidPassword);
return isValidEmail && isValidPassword;
};