mirror of
https://github.com/Unleash/unleash.git
synced 2025-05-08 01:15:49 +02:00
* refactor: refactor addons to TSX and remove unused files * refactor: change AddonIcon to getAddonIcon * refactor: add PermissionButton instead of conditional render * refactor: wrap icon buttons inside PermissionIconButtons * feat: add confirm delete dialog * fix: create addon form * fix: refactor addons * fix: remove addon store folder * fix: update index * fix: rebase * fix: update exports * fix: update snapshot * fix: add dev dep Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
43 lines
1012 B
TypeScript
43 lines
1012 B
TypeScript
import { useParams } from 'react-router-dom';
|
|
import useAddons from '../../../hooks/api/getters/useAddons/useAddons';
|
|
import { AddonForm } from '../AddonForm/AddonForm';
|
|
import cloneDeep from 'lodash.clonedeep';
|
|
|
|
interface IAddonCreateParams {
|
|
providerId: string;
|
|
}
|
|
|
|
const DEFAULT_DATA = {
|
|
provider: '',
|
|
description: '',
|
|
enabled: true,
|
|
parameters: {},
|
|
events: [],
|
|
};
|
|
|
|
export const CreateAddon = () => {
|
|
const { providerId } = useParams<IAddonCreateParams>();
|
|
|
|
const { providers, refetchAddons } = useAddons();
|
|
|
|
const editMode = false;
|
|
const provider = providers.find(
|
|
(providerItem: any) => providerItem.name === providerId
|
|
);
|
|
|
|
const defaultAddon = {
|
|
...cloneDeep(DEFAULT_DATA),
|
|
provider: provider ? provider.name : '',
|
|
};
|
|
|
|
return (
|
|
// @ts-expect-error
|
|
<AddonForm
|
|
editMode={editMode}
|
|
provider={provider}
|
|
fetch={refetchAddons}
|
|
addon={defaultAddon}
|
|
/>
|
|
);
|
|
};
|