mirror of
https://github.com/Unleash/unleash.git
synced 2025-08-09 13:47:13 +02:00
rename frontend components from addons to integrations
This commit is contained in:
parent
9ec8ff9a51
commit
583dc8048a
@ -1,5 +1,5 @@
|
||||
import useAddons from 'hooks/api/getters/useAddons/useAddons';
|
||||
import { AddonForm } from '../AddonForm/AddonForm';
|
||||
import { IntegrationForm } from '../IntegrationForm/IntegrationForm';
|
||||
import cloneDeep from 'lodash.clonedeep';
|
||||
import { IAddon } from 'interfaces/addons';
|
||||
import { useRequiredPathParam } from 'hooks/useRequiredPathParam';
|
||||
@ -14,7 +14,7 @@ export const DEFAULT_DATA = {
|
||||
environments: [],
|
||||
} as unknown as IAddon; // TODO: improve type
|
||||
|
||||
export const CreateAddon = () => {
|
||||
export const CreateIntegration = () => {
|
||||
const providerId = useRequiredPathParam('providerId');
|
||||
const { providers, refetchAddons } = useAddons();
|
||||
|
||||
@ -29,7 +29,7 @@ export const CreateAddon = () => {
|
||||
};
|
||||
|
||||
return (
|
||||
<AddonForm
|
||||
<IntegrationForm
|
||||
editMode={editMode}
|
||||
provider={provider}
|
||||
fetch={refetchAddons}
|
@ -1,11 +1,11 @@
|
||||
import useAddons from 'hooks/api/getters/useAddons/useAddons';
|
||||
import { AddonForm } from '../AddonForm/AddonForm';
|
||||
import { IntegrationForm } from '../IntegrationForm/IntegrationForm';
|
||||
import cloneDeep from 'lodash.clonedeep';
|
||||
import { IAddon } from 'interfaces/addons';
|
||||
import { DEFAULT_DATA } from '../CreateAddon/CreateAddon';
|
||||
import { DEFAULT_DATA } from '../CreateIntegration/CreateIntegration';
|
||||
import { useRequiredPathParam } from 'hooks/useRequiredPathParam';
|
||||
|
||||
export const EditAddon = () => {
|
||||
export const EditIntegration = () => {
|
||||
const addonId = useRequiredPathParam('addonId');
|
||||
const { providers, addons, refetchAddons } = useAddons();
|
||||
|
||||
@ -18,7 +18,7 @@ export const EditAddon = () => {
|
||||
: undefined;
|
||||
|
||||
return (
|
||||
<AddonForm
|
||||
<IntegrationForm
|
||||
editMode={editMode}
|
||||
provider={provider}
|
||||
fetch={refetchAddons}
|
@ -16,8 +16,8 @@ import {
|
||||
import produce from 'immer';
|
||||
import { trim } from 'component/common/util';
|
||||
import { IAddon, IAddonProvider } from 'interfaces/addons';
|
||||
import { AddonParameters } from './AddonParameters/AddonParameters';
|
||||
import { AddonInstall } from './AddonInstall/AddonInstall';
|
||||
import { IntegrationParameters } from './IntegrationParameters/IntegrationParameters';
|
||||
import { IntegrationInstall } from './IntegrationInstall/IntegrationInstall';
|
||||
import cloneDeep from 'lodash.clonedeep';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import useAddonsApi from 'hooks/api/actions/useAddonsApi/useAddonsApi';
|
||||
@ -25,7 +25,7 @@ import useToast from 'hooks/useToast';
|
||||
import { formatUnknownError } from 'utils/formatUnknownError';
|
||||
import useProjects from 'hooks/api/getters/useProjects/useProjects';
|
||||
import { useEnvironments } from 'hooks/api/getters/useEnvironments/useEnvironments';
|
||||
import { AddonMultiSelector } from './AddonMultiSelector/AddonMultiSelector';
|
||||
import { IntegrationMultiSelector } from './IntegrationMultiSelector/IntegrationMultiSelector';
|
||||
import FormTemplate from 'component/common/FormTemplate/FormTemplate';
|
||||
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||
import PermissionButton from 'component/common/PermissionButton/PermissionButton';
|
||||
@ -42,7 +42,7 @@ import {
|
||||
StyledContainer,
|
||||
StyledButtonContainer,
|
||||
StyledButtonSection,
|
||||
} from './AddonForm.styles';
|
||||
} from './IntegrationForm.styles';
|
||||
import { useTheme } from '@mui/system';
|
||||
import { GO_BACK } from 'constants/navigate';
|
||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||
@ -54,7 +54,7 @@ interface IAddonFormProps {
|
||||
editMode: boolean;
|
||||
}
|
||||
|
||||
export const AddonForm: VFC<IAddonFormProps> = ({
|
||||
export const IntegrationForm: VFC<IAddonFormProps> = ({
|
||||
editMode,
|
||||
provider,
|
||||
addon: initialValues,
|
||||
@ -272,7 +272,7 @@ export const AddonForm: VFC<IAddonFormProps> = ({
|
||||
<ConditionallyRender
|
||||
condition={Boolean(installation)}
|
||||
show={() => (
|
||||
<AddonInstall
|
||||
<IntegrationInstall
|
||||
url={installation!.url}
|
||||
title={installation!.title}
|
||||
helpText={installation!.helpText}
|
||||
@ -321,7 +321,7 @@ export const AddonForm: VFC<IAddonFormProps> = ({
|
||||
</StyledFormSection>
|
||||
|
||||
<StyledFormSection>
|
||||
<AddonMultiSelector
|
||||
<IntegrationMultiSelector
|
||||
options={selectableEvents || []}
|
||||
selectedItems={formValues.events}
|
||||
onChange={setEventValues}
|
||||
@ -333,7 +333,7 @@ export const AddonForm: VFC<IAddonFormProps> = ({
|
||||
/>
|
||||
</StyledFormSection>
|
||||
<StyledFormSection>
|
||||
<AddonMultiSelector
|
||||
<IntegrationMultiSelector
|
||||
options={selectableProjects}
|
||||
selectedItems={formValues.projects || []}
|
||||
onChange={setProjects}
|
||||
@ -342,7 +342,7 @@ export const AddonForm: VFC<IAddonFormProps> = ({
|
||||
/>
|
||||
</StyledFormSection>
|
||||
<StyledFormSection>
|
||||
<AddonMultiSelector
|
||||
<IntegrationMultiSelector
|
||||
options={selectableEnvironments}
|
||||
selectedItems={formValues.environments || []}
|
||||
onChange={setEnvironments}
|
||||
@ -351,7 +351,7 @@ export const AddonForm: VFC<IAddonFormProps> = ({
|
||||
/>
|
||||
</StyledFormSection>
|
||||
<StyledFormSection>
|
||||
<AddonParameters
|
||||
<IntegrationParameters
|
||||
provider={provider}
|
||||
config={formValues}
|
||||
parametersErrors={errors.parameters}
|
@ -3,7 +3,7 @@ import {
|
||||
StyledFormSection,
|
||||
StyledHelpText,
|
||||
StyledTitle,
|
||||
} from '../AddonForm.styles';
|
||||
} from '../IntegrationForm.styles';
|
||||
import { Button } from '@mui/material';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
@ -13,7 +13,7 @@ export interface IAddonInstallProps {
|
||||
helpText?: string;
|
||||
}
|
||||
|
||||
export const AddonInstall = ({
|
||||
export const IntegrationInstall = ({
|
||||
url,
|
||||
title = 'Install addon',
|
||||
helpText = 'Click this button to install this addon.',
|
@ -4,15 +4,15 @@ import { screen, waitFor, within } from '@testing-library/react';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import { render } from 'utils/testRenderer';
|
||||
import {
|
||||
IAddonMultiSelectorProps,
|
||||
AddonMultiSelector,
|
||||
} from './AddonMultiSelector';
|
||||
IIntegrationMultiSelectorProps,
|
||||
IntegrationMultiSelector,
|
||||
} from './IntegrationMultiSelector';
|
||||
import { testServerRoute, testServerSetup } from 'utils/testServer';
|
||||
|
||||
const onChange = vi.fn();
|
||||
const onFocus = vi.fn();
|
||||
|
||||
const mockProps: IAddonMultiSelectorProps = {
|
||||
const mockProps: IIntegrationMultiSelectorProps = {
|
||||
options: [
|
||||
{ label: 'Project1', value: 'project1' },
|
||||
{ label: 'Project2', value: 'project2' },
|
||||
@ -35,7 +35,7 @@ describe('AddonMultiSelector', () => {
|
||||
});
|
||||
|
||||
it('renders with default state', () => {
|
||||
render(<AddonMultiSelector {...mockProps} selectedItems={['*']} />);
|
||||
render(<IntegrationMultiSelector {...mockProps} selectedItems={['*']} />);
|
||||
|
||||
const checkbox = screen.getByLabelText(
|
||||
/all current and future projects/i
|
||||
@ -49,7 +49,7 @@ describe('AddonMultiSelector', () => {
|
||||
|
||||
it('can toggle "ALL" checkbox', async () => {
|
||||
const user = userEvent.setup();
|
||||
render(<AddonMultiSelector {...mockProps} selectedItems={['*']} />);
|
||||
render(<IntegrationMultiSelector {...mockProps} selectedItems={['*']} />);
|
||||
|
||||
await user.click(screen.getByTestId('select-all-projects'));
|
||||
|
||||
@ -70,7 +70,7 @@ describe('AddonMultiSelector', () => {
|
||||
|
||||
it('renders with autocomplete enabled if default value is not a wildcard', () => {
|
||||
render(
|
||||
<AddonMultiSelector {...mockProps} selectedItems={['project1']} />
|
||||
<IntegrationMultiSelector {...mockProps} selectedItems={['project1']} />
|
||||
);
|
||||
|
||||
const checkbox = screen.getByLabelText(
|
||||
@ -87,7 +87,7 @@ describe('AddonMultiSelector', () => {
|
||||
it("doesn't show up for less than 3 options", async () => {
|
||||
const user = userEvent.setup();
|
||||
render(
|
||||
<AddonMultiSelector
|
||||
<IntegrationMultiSelector
|
||||
{...mockProps}
|
||||
selectedItems={[]}
|
||||
options={[
|
||||
@ -108,7 +108,7 @@ describe('AddonMultiSelector', () => {
|
||||
it('can filter options', async () => {
|
||||
const user = userEvent.setup();
|
||||
render(
|
||||
<AddonMultiSelector
|
||||
<IntegrationMultiSelector
|
||||
{...mockProps}
|
||||
selectedItems={[]}
|
||||
options={[
|
@ -22,9 +22,9 @@ import {
|
||||
StyledHelpText,
|
||||
StyledSelectAllFormControlLabel,
|
||||
StyledTitle,
|
||||
} from '../AddonForm.styles';
|
||||
} from '../IntegrationForm.styles';
|
||||
|
||||
export interface IAddonMultiSelectorProps {
|
||||
export interface IIntegrationMultiSelectorProps {
|
||||
options: IAutocompleteBoxOption[];
|
||||
selectedItems: string[];
|
||||
onChange: (value: string[]) => void;
|
||||
@ -44,7 +44,7 @@ const StyledCheckbox = styled(Checkbox)(() => ({
|
||||
|
||||
const CustomPaper = ({ ...props }) => <Paper elevation={8} {...props} />;
|
||||
|
||||
export const AddonMultiSelector: VFC<IAddonMultiSelectorProps> = ({
|
||||
export const IntegrationMultiSelector: VFC<IIntegrationMultiSelectorProps> = ({
|
||||
options,
|
||||
selectedItems,
|
||||
onChange,
|
||||
@ -138,7 +138,7 @@ export const AddonMultiSelector: VFC<IAddonMultiSelectorProps> = ({
|
||||
|
||||
const DefaultHelpText = () => (
|
||||
<StyledHelpText>
|
||||
Selecting {entityName}(s) here will filter events so that your addon
|
||||
Selecting {entityName}(s) here will filter events so that your integration
|
||||
will only receive events that are tagged with one of your{' '}
|
||||
{entityName}s.
|
||||
</StyledHelpText>
|
@ -1,7 +1,7 @@
|
||||
import { TextField, Typography } from '@mui/material';
|
||||
import { IAddonConfig, IAddonProviderParams } from 'interfaces/addons';
|
||||
import { ChangeEventHandler } from 'react';
|
||||
import { StyledAddonParameterContainer } from '../../AddonForm.styles';
|
||||
import { StyledAddonParameterContainer } from '../../IntegrationForm.styles';
|
||||
|
||||
const resolveType = ({ type = 'text', sensitive = false }, value: string) => {
|
||||
if (sensitive && value === MASKED_VALUE) {
|
||||
@ -15,19 +15,19 @@ const resolveType = ({ type = 'text', sensitive = false }, value: string) => {
|
||||
|
||||
const MASKED_VALUE = '*****';
|
||||
|
||||
export interface IAddonParameterProps {
|
||||
export interface IIntegrationParameterProps {
|
||||
parametersErrors: Record<string, string>;
|
||||
definition: IAddonProviderParams;
|
||||
setParameterValue: (param: string) => ChangeEventHandler<HTMLInputElement>;
|
||||
config: IAddonConfig;
|
||||
}
|
||||
|
||||
export const AddonParameter = ({
|
||||
export const IntegrationParameter = ({
|
||||
definition,
|
||||
config,
|
||||
parametersErrors,
|
||||
setParameterValue,
|
||||
}: IAddonParameterProps) => {
|
||||
}: IIntegrationParameterProps) => {
|
||||
const value = config.parameters[definition.name] || '';
|
||||
const type = resolveType(definition, value);
|
||||
const error = parametersErrors[definition.name];
|
@ -1,26 +1,26 @@
|
||||
import React from 'react';
|
||||
import { IAddonProvider } from 'interfaces/addons';
|
||||
import {
|
||||
AddonParameter,
|
||||
IAddonParameterProps,
|
||||
} from './AddonParameter/AddonParameter';
|
||||
import { StyledTitle } from '../AddonForm.styles';
|
||||
IntegrationParameter,
|
||||
IIntegrationParameterProps,
|
||||
} from './IntegrationParameter/IntegrationParameter';
|
||||
import { StyledTitle } from '../IntegrationForm.styles';
|
||||
|
||||
interface IAddonParametersProps {
|
||||
interface IIntegrationParametersProps {
|
||||
provider?: IAddonProvider;
|
||||
parametersErrors: IAddonParameterProps['parametersErrors'];
|
||||
parametersErrors: IIntegrationParameterProps['parametersErrors'];
|
||||
editMode: boolean;
|
||||
setParameterValue: IAddonParameterProps['setParameterValue'];
|
||||
config: IAddonParameterProps['config'];
|
||||
setParameterValue: IIntegrationParameterProps['setParameterValue'];
|
||||
config: IIntegrationParameterProps['config'];
|
||||
}
|
||||
|
||||
export const AddonParameters = ({
|
||||
export const IntegrationParameters = ({
|
||||
provider,
|
||||
config,
|
||||
parametersErrors,
|
||||
setParameterValue,
|
||||
editMode,
|
||||
}: IAddonParametersProps) => {
|
||||
}: IIntegrationParametersProps) => {
|
||||
if (!provider) return null;
|
||||
return (
|
||||
<React.Fragment>
|
||||
@ -33,7 +33,7 @@ export const AddonParameters = ({
|
||||
</p>
|
||||
) : null}
|
||||
{provider.parameters.map(parameter => (
|
||||
<AddonParameter
|
||||
<IntegrationParameter
|
||||
key={parameter.name}
|
||||
definition={parameter}
|
||||
parametersErrors={parametersErrors}
|
@ -16,9 +16,9 @@ import { PageHeader } from 'component/common/PageHeader/PageHeader';
|
||||
import { sortTypes } from 'utils/sortTypes';
|
||||
import { IconCell } from 'component/common/Table/cells/IconCell/IconCell';
|
||||
import { ActionCell } from 'component/common/Table/cells/ActionCell/ActionCell';
|
||||
import { ConfigureAddonButton } from './ConfigureAddonButton/ConfigureAddonButton';
|
||||
import { AddonIcon } from '../AddonIcon/AddonIcon';
|
||||
import { AddonNameCell } from '../AddonNameCell/AddonNameCell';
|
||||
import { ConfigureIntegrationButton } from './ConfigureIntegrationButton/ConfigureIntegrationButton';
|
||||
import { IntegrationIcon } from '../IntegrationIcon/IntegrationIcon';
|
||||
import { IntegrationNameCell } from '../IntegrationNameCell/IntegrationNameCell';
|
||||
import { IAddonInstallation } from 'interfaces/addons';
|
||||
|
||||
interface IProvider {
|
||||
@ -32,15 +32,15 @@ interface IProvider {
|
||||
deprecated?: string;
|
||||
}
|
||||
|
||||
interface IAvailableAddonsProps {
|
||||
interface IAvailableIntegrationsProps {
|
||||
providers: IProvider[];
|
||||
loading: boolean;
|
||||
}
|
||||
|
||||
export const AvailableAddons = ({
|
||||
export const AvailableIntegrations = ({
|
||||
providers,
|
||||
loading,
|
||||
}: IAvailableAddonsProps) => {
|
||||
}: IAvailableIntegrationsProps) => {
|
||||
const data = useMemo(() => {
|
||||
if (loading) {
|
||||
return Array(5).fill({
|
||||
@ -70,7 +70,7 @@ export const AvailableAddons = ({
|
||||
},
|
||||
}: any) => {
|
||||
return (
|
||||
<IconCell icon={<AddonIcon name={name as string} />} />
|
||||
<IconCell icon={<IntegrationIcon name={name as string} />} />
|
||||
);
|
||||
},
|
||||
},
|
||||
@ -79,7 +79,7 @@ export const AvailableAddons = ({
|
||||
accessor: 'name',
|
||||
width: '90%',
|
||||
Cell: ({ row: { original } }: any) => (
|
||||
<AddonNameCell provider={original} />
|
||||
<IntegrationNameCell provider={original} />
|
||||
),
|
||||
sortType: 'alphanumeric',
|
||||
},
|
||||
@ -88,7 +88,7 @@ export const AvailableAddons = ({
|
||||
align: 'center',
|
||||
Cell: ({ row: { original } }: any) => (
|
||||
<ActionCell>
|
||||
<ConfigureAddonButton provider={original} />
|
||||
<ConfigureIntegrationButton provider={original} />
|
||||
</ActionCell>
|
||||
),
|
||||
width: 150,
|
@ -3,13 +3,13 @@ import { CREATE_ADDON } from 'component/providers/AccessProvider/permissions';
|
||||
import { IAddonProvider } from 'interfaces/addons';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
|
||||
interface IConfigureAddonButtonProps {
|
||||
interface IConfigureIntegrationButtonProps {
|
||||
provider: IAddonProvider;
|
||||
}
|
||||
|
||||
export const ConfigureAddonButton = ({
|
||||
export const ConfigureIntegrationButton = ({
|
||||
provider,
|
||||
}: IConfigureAddonButtonProps) => {
|
||||
}: IConfigureIntegrationButtonProps) => {
|
||||
const navigate = useNavigate();
|
||||
|
||||
return (
|
@ -13,11 +13,11 @@ import { useTable, useSortBy } from 'react-table';
|
||||
import { PageHeader } from 'component/common/PageHeader/PageHeader';
|
||||
import { SortableTableHeader, TablePlaceholder } from 'component/common/Table';
|
||||
import { IconCell } from 'component/common/Table/cells/IconCell/IconCell';
|
||||
import { AddonIcon } from '../AddonIcon/AddonIcon';
|
||||
import { ConfiguredAddonsActionsCell } from './ConfiguredAddonsActionCell/ConfiguredAddonsActionsCell';
|
||||
import { AddonNameCell } from '../AddonNameCell/AddonNameCell';
|
||||
import { IntegrationIcon } from '../IntegrationIcon/IntegrationIcon';
|
||||
import { ConfiguredAddonsActionsCell } from './ConfiguredIntegrationsActionCell/ConfiguredIntegrationActionsCell';
|
||||
import { IntegrationNameCell } from '../IntegrationNameCell/IntegrationNameCell';
|
||||
|
||||
export const ConfiguredAddons = () => {
|
||||
export const ConfiguredIntegrations = () => {
|
||||
const { refetchAddons, addons, providers, loading } = useAddons();
|
||||
const { updateAddon, removeAddon } = useAddonsApi();
|
||||
const { setToastData, setToastApiError } = useToast();
|
||||
@ -73,7 +73,7 @@ export const ConfiguredAddons = () => {
|
||||
original: { provider },
|
||||
},
|
||||
}: any) => (
|
||||
<IconCell icon={<AddonIcon name={provider as string} />} />
|
||||
<IconCell icon={<IntegrationIcon name={provider as string} />} />
|
||||
),
|
||||
disableSortBy: true,
|
||||
},
|
||||
@ -86,7 +86,7 @@ export const ConfiguredAddons = () => {
|
||||
original: { provider, description },
|
||||
},
|
||||
}: any) => (
|
||||
<AddonNameCell
|
||||
<IntegrationNameCell
|
||||
provider={{
|
||||
...(providers.find(
|
||||
({ name }) => name === provider
|
@ -14,11 +14,11 @@ const style: React.CSSProperties = {
|
||||
marginRight: '16px',
|
||||
};
|
||||
|
||||
interface IAddonIconProps {
|
||||
interface IIntegrationIconProps {
|
||||
name: string;
|
||||
}
|
||||
|
||||
export const AddonIcon = ({ name }: IAddonIconProps) => {
|
||||
export const IntegrationIcon = ({ name }: IIntegrationIconProps) => {
|
||||
switch (name) {
|
||||
case 'slack':
|
||||
case 'slack-app':
|
@ -1,19 +1,19 @@
|
||||
import React from 'react';
|
||||
import { ConfiguredAddons } from './ConfiguredAddons/ConfiguredAddons';
|
||||
import { AvailableAddons } from './AvailableAddons/AvailableAddons';
|
||||
import { ConfiguredIntegrations } from './ConfiguredIntegrations/ConfiguredIntegrations';
|
||||
import { AvailableIntegrations } from './AvailableIntegrations/AvailableIntegrations';
|
||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||
import useAddons from 'hooks/api/getters/useAddons/useAddons';
|
||||
|
||||
export const AddonList = () => {
|
||||
export const IntegrationList = () => {
|
||||
const { providers, addons, loading } = useAddons();
|
||||
|
||||
return (
|
||||
<>
|
||||
<ConditionallyRender
|
||||
condition={addons.length > 0}
|
||||
show={<ConfiguredAddons />}
|
||||
show={<ConfiguredIntegrations />}
|
||||
/>
|
||||
<AvailableAddons loading={loading} providers={providers} />
|
||||
<AvailableIntegrations loading={loading} providers={providers} />
|
||||
</>
|
||||
);
|
||||
};
|
@ -10,14 +10,14 @@ const StyledBadge = styled(Badge)(({ theme }) => ({
|
||||
marginLeft: theme.spacing(1),
|
||||
}));
|
||||
|
||||
interface IAddonNameCellProps {
|
||||
interface IIntegrationNameCellProps {
|
||||
provider: Pick<
|
||||
IAddonProvider,
|
||||
'displayName' | 'description' | 'deprecated'
|
||||
>;
|
||||
}
|
||||
|
||||
export const AddonNameCell = ({ provider }: IAddonNameCellProps) => (
|
||||
export const IntegrationNameCell = ({ provider }: IIntegrationNameCellProps) => (
|
||||
<HighlightCell
|
||||
value={provider.displayName}
|
||||
subtitle={provider.description}
|
@ -2,7 +2,7 @@ import { FeatureToggleListTable } from 'component/feature/FeatureToggleList/Feat
|
||||
import { StrategyView } from 'component/strategies/StrategyView/StrategyView';
|
||||
import { StrategiesList } from 'component/strategies/StrategiesList/StrategiesList';
|
||||
import { TagTypeList } from 'component/tags/TagTypeList/TagTypeList';
|
||||
import { AddonList } from 'component/addons/AddonList/AddonList';
|
||||
import { IntegrationList } from 'component/integrations/IntegrationList/IntegrationList';
|
||||
import Login from 'component/user/Login/Login';
|
||||
import { EEA, P, SE } from 'component/common/flags';
|
||||
import { NewUser } from 'component/user/NewUser/NewUser';
|
||||
@ -22,8 +22,8 @@ import { ApplicationEdit } from 'component/application/ApplicationEdit/Applicati
|
||||
import { ApplicationList } from 'component/application/ApplicationList/ApplicationList';
|
||||
import ContextList from 'component/context/ContextList/ContextList/ContextList';
|
||||
import RedirectFeatureView from 'component/feature/RedirectFeatureView/RedirectFeatureView';
|
||||
import { CreateAddon } from 'component/addons/CreateAddon/CreateAddon';
|
||||
import { EditAddon } from 'component/addons/EditAddon/EditAddon';
|
||||
import { CreateIntegration } from 'component/integrations/CreateIntegration/CreateIntegration';
|
||||
import { EditIntegration } from 'component/integrations/EditIntegration/EditIntegration';
|
||||
import { CopyFeatureToggle } from 'component/feature/CopyFeature/CopyFeature';
|
||||
import { EventPage } from 'component/events/EventPage/EventPage';
|
||||
import { CreateStrategy } from 'component/strategies/CreateStrategy/CreateStrategy';
|
||||
@ -305,7 +305,7 @@ export const routes: IRoute[] = [
|
||||
path: '/addons/create/:providerId',
|
||||
parent: '/addons',
|
||||
title: 'Create',
|
||||
component: CreateAddon,
|
||||
component: CreateIntegration,
|
||||
type: 'protected',
|
||||
menu: {},
|
||||
},
|
||||
@ -313,14 +313,14 @@ export const routes: IRoute[] = [
|
||||
path: '/addons/edit/:addonId',
|
||||
parent: '/addons',
|
||||
title: 'Edit',
|
||||
component: EditAddon,
|
||||
component: EditIntegration,
|
||||
type: 'protected',
|
||||
menu: {},
|
||||
},
|
||||
{
|
||||
path: '/addons',
|
||||
title: 'Addons',
|
||||
component: AddonList,
|
||||
component: IntegrationList,
|
||||
hidden: false,
|
||||
type: 'protected',
|
||||
menu: { mobile: true, advanced: true },
|
||||
@ -329,7 +329,7 @@ export const routes: IRoute[] = [
|
||||
{
|
||||
path: '/integrations',
|
||||
title: 'Integrations',
|
||||
component: AddonList,
|
||||
component: IntegrationList,
|
||||
hidden: false,
|
||||
type: 'protected',
|
||||
menu: { mobile: true, advanced: true },
|
||||
|
Loading…
Reference in New Issue
Block a user