}
- placeholder={t('strongPasswordPlaceholder')}
+ placeholder={t('strongPasswordPlaceholder', {defaultValue: 'Enter a strong password'})}
size="large"
style={{ borderRadius: 4 }}
+ value={passwordValue}
+ onChange={e => {
+ setPasswordValue(e.target.value);
+ if (!passwordTouched) setPasswordTouched(true);
+ }}
+ onBlur={() => setPasswordTouched(true)}
/>
-
- {t('passwordValidationAltText')}
-
+
+ {passwordChecklistItems.map(item => {
+ const passed = item.test(passwordValue);
+ // Only green if passed, otherwise neutral (never red)
+ let color = passed
+ ? (themeMode === 'dark' ? '#52c41a' : '#389e0d')
+ : (themeMode === 'dark' ? '#b0b3b8' : '#bfbfbf');
+ return (
+
+ {passed ? (
+
+ ) : (
+
+ )}
+ {item.label}
+
+ );
+ })}
+