Files
2024-02-15 17:01:50 +00:00

55 lines
1.5 KiB
TypeScript

import type {JsonFormObject} from 'sentry/components/forms/types';
import {t} from 'sentry/locale';
const getUserIsNotManaged = ({user}) => !user.isManaged;
const formGroups: JsonFormObject[] = [
{
// Form "section"/"panel"
title: 'Password',
fields: [
{
name: 'password',
type: 'secret',
autoComplete: 'current-password',
label: t('Current Password'),
help: t('Your current password'),
placeholder: '',
visible: getUserIsNotManaged,
required: true,
},
{
name: 'passwordNew',
type: 'secret',
autoComplete: 'new-password',
label: t('New Password'),
placeholder: '',
required: true,
visible: getUserIsNotManaged,
validate: ({id, form}) => (form[id] !== form.passwordVerify ? [[id, '']] : []),
},
{
name: 'passwordVerify',
type: 'secret',
autoComplete: 'new-password',
label: t('Verify New Password'),
help: t('Verify your new password'),
placeholder: '',
required: true,
visible: getUserIsNotManaged,
validate: ({id, form}) => {
// If password is set, and passwords don't match, then return an error
if (form.passwordNew && form.passwordNew !== form[id]) {
return [[id, t('Passwords do not match')]];
}
return [];
},
},
],
},
];
export const route = '/settings/account/security/';
export default formGroups;