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 {
}}
>