diff --git a/packages/web/components/elements/FormElements.tsx b/packages/web/components/elements/FormElements.tsx index 03f501e7d..f5a391d4a 100644 --- a/packages/web/components/elements/FormElements.tsx +++ b/packages/web/components/elements/FormElements.tsx @@ -66,6 +66,14 @@ export function GeneralFormInput(props: FormInputProps): JSX.Element { ))} ) + } else if (props.type === 'select') { + return ( + + ) } else { return ( - + {input.label} - + diff --git a/packages/web/pages/settings/api.tsx b/packages/web/pages/settings/api.tsx index 38430bf83..5e6fb8396 100644 --- a/packages/web/pages/settings/api.tsx +++ b/packages/web/pages/settings/api.tsx @@ -128,12 +128,31 @@ export default function Api(): JSX.Element { required: true, }, { - label: 'Expired on', + label: 'Expires in', name: 'expiredAt', required: true, - onChange: setExpiresAt, - type: 'date', - min: new Date().toISOString().split('T')[0], // today + onChange: (e) => { + var additionalDays = 0 + switch(e.target.value) { + case '7 days': + additionalDays = 7 + break + case '30 days': + additionalDays = 30 + break + case '90 days': + additionalDays = 90 + break + case '1 year': + additionalDays = 365 + break + } + var newExpires = new Date() + newExpires.setDate(newExpires.getDate() + additionalDays) + setExpiresAt(newExpires) + }, + type: 'select', + options: ['7 days', '30 days', '90 days', '1 year'], value: defaultExpiresAt, }, ]) diff --git a/packages/web/pages/settings/emails.tsx b/packages/web/pages/settings/emails.tsx index 229552e92..2232606e5 100644 --- a/packages/web/pages/settings/emails.tsx +++ b/packages/web/pages/settings/emails.tsx @@ -261,7 +261,7 @@ export default function EmailsPage(): JSX.Element { }} >