import {Fragment, useMemo} from 'react';
import type {ModalRenderProps} from 'sentry/actionCreators/modal';
import {Alert} from 'sentry/components/core/alert';
import BooleanField from 'sentry/components/forms/fields/booleanField';
import RangeField from 'sentry/components/forms/fields/rangeField';
import type {SerializedOption} from 'admin/views/options';
interface EditAdminOptionModalProps extends ModalRenderProps {
allOptions: SerializedOption[];
option: SerializedOption;
path: string;
}
function EditAdminOptionModal({
Body,
Header,
option,
allOptions,
}: EditAdminOptionModalProps) {
const groupedOptions = useMemo(() => {
const options = option.groupingInfo
? allOptions.filter(o => o.groupingInfo?.name === option.groupingInfo?.name)
: [option];
options.sort((a, b) => (a.groupingInfo?.order || 0) - (b.groupingInfo?.order || 0));
return options;
}, []); // eslint-disable-line react-hooks/exhaustive-deps
return (
Edit Option {option.groupingInfo ? 'Group' : null}
Options setting through _admin is deprecated. Please use the options
automator.
{groupedOptions.map(o => (
))}
);
}
function EditOption({option}: {option: SerializedOption}) {
return option.fieldType === 'bool' ? (
) : (
);
}
// TODO(TS): Type cast added as part of react 18 upgrade, can remove after?
export default EditAdminOptionModal;