import type {Field} from 'sentry/components/forms/types'; import {t, tn} from 'sentry/locale'; // Export route to make these forms searchable by label/help export const route = '/settings/:orgId/projects/:projectId/alerts/'; const formatMinutes = (value: number | '') => { value = Number(value) / 60; return tn('%s minute', '%s minutes', value); }; export const fields: {[key: string]: Field} = { subjectTemplate: { name: 'subjectTemplate', type: 'string', // additional data/props that is related to rendering of form field rather than data label: t('Subject Template'), placeholder: 'e.g. $shortID - $title', help: t( 'The email subject to use (excluding the prefix) for individual alerts. Usable variables include: $title, $shortID, $projectID, $orgID, and ${tag:key}, such as ${tag:environment} or ${tag:release}.' ), }, digestsMinDelay: { name: 'digestsMinDelay', type: 'range', min: 60, max: 3600, step: 60, defaultValue: 300, label: t('Minimum delivery interval'), help: t('Notifications will be delivered at most this often.'), formatLabel: formatMinutes, }, digestsMaxDelay: { name: 'digestsMaxDelay', type: 'range', min: 60, max: 3600, step: 60, defaultValue: 300, label: t('Maximum delivery interval'), help: t('Notifications will be delivered at least this often.'), formatLabel: formatMinutes, }, };