import type {RouteComponentProps} from 'react-router'; import styled from '@emotion/styled'; import Access from 'sentry/components/acl/access'; import {Button} from 'sentry/components/button'; import Form from 'sentry/components/forms/form'; import JsonForm from 'sentry/components/forms/jsonForm'; import formGroups from 'sentry/data/forms/replay'; import {t} from 'sentry/locale'; import {space} from 'sentry/styles/space'; import type {Organization, Project} from 'sentry/types'; import routeTitleGen from 'sentry/utils/routeTitle'; import DeprecatedAsyncView from 'sentry/views/deprecatedAsyncView'; import SettingsPageHeader from 'sentry/views/settings/components/settingsPageHeader'; import PermissionAlert from 'sentry/views/settings/project/permissionAlert'; type RouteParams = { projectId: string; }; type Props = RouteComponentProps & { organization: Organization; project: Project; }; class ProjectUserFeedbackSettings extends DeprecatedAsyncView { submitTimeout: number | undefined = undefined; getEndpoints(): ReturnType { const {organization} = this.props; const {projectId} = this.props.params; return [['project', `/projects/${organization.slug}/${projectId}/`]]; } getTitle(): string { const {projectId} = this.props.params; return routeTitleGen(t('Replays'), projectId, false); } renderBody() { const {organization, project} = this.props; const {projectId} = this.props.params; return (
} />
{({hasAccess}) => }
); } } export default ProjectUserFeedbackSettings; const ButtonList = styled('div')` display: inline-grid; grid-auto-flow: column; gap: ${space(1)}; `;