mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-10 00:57:38 +03:00
Some checks are pending
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* mobile button spacing * prevent console warning about div being descendant of p * ensure consistent spacing * add missing i18n keys * i18n fixes - add missing translations - fix dot notation keys * use plain string * add missing key * add i18next-cli commands for extraction and status also add false positives removal for several keys * add i18n key check step to PR workflow * formatting
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { TFunction } from "i18next";
|
|
|
|
export const calculatePasswordStrength = (password: string): number => {
|
|
if (!password) return 0;
|
|
|
|
let strength = 0;
|
|
if (password.length >= 8) strength += 1;
|
|
if (/\d/.test(password)) strength += 1;
|
|
if (/[!@#$%^&*(),.?":{}|<>]/.test(password)) strength += 1;
|
|
if (/[A-Z]/.test(password)) strength += 1;
|
|
|
|
return strength;
|
|
};
|
|
|
|
export const getPasswordRequirements = (password: string) => ({
|
|
length: password?.length >= 12,
|
|
});
|
|
|
|
export const getPasswordStrengthLabel = (
|
|
password: string,
|
|
t: TFunction,
|
|
): string => {
|
|
const strength = calculatePasswordStrength(password);
|
|
|
|
if (!password) return "";
|
|
if (strength < 1)
|
|
return t("users.dialog.form.password.strength.weak", {
|
|
ns: "views/settings",
|
|
});
|
|
return t("users.dialog.form.password.strength.veryStrong", {
|
|
ns: "views/settings",
|
|
});
|
|
};
|
|
|
|
export const getPasswordStrengthColor = (password: string): string => {
|
|
const strength = calculatePasswordStrength(password);
|
|
|
|
if (!password) return "bg-gray-200";
|
|
if (strength === 0) return "bg-red-500";
|
|
return "bg-green-500";
|
|
};
|