import React, { useState } from 'react';
import { Header } from '@buffetjs/custom';
import { Padded } from '@buffetjs/core';
import { Formik } from 'formik';
import { useIntl } from 'react-intl';
import { request } from 'strapi-helper-plugin';
import { useHistory } from 'react-router-dom';
import { useFetchPermissionsLayout } from '../../../../src/hooks';
import BaselineAlignement from '../../../../src/components/BaselineAlignement';
import ContainerFluid from '../../../../src/components/ContainerFluid';
import FormCard from '../../../../src/components/FormBloc';
import { ButtonWithNumber, Permissions } from '../../../../src/components/Roles';
import SizedInput from '../../../../src/components/SizedInput';
import schema from './utils/schema';
const CreatePage = () => {
const { formatMessage } = useIntl();
const [isSubmiting, setIsSubmiting] = useState(false);
// @HichamELBSI Adding the layout since you might need it for the plugins sections
const { isLoading: isLayoutLoading } = useFetchPermissionsLayout();
const { goBack } = useHistory();
const headerActions = (handleSubmit, handleReset) => [
{
label: formatMessage({
id: 'app.components.Button.reset',
defaultMessage: 'Reset',
}),
onClick: handleReset,
color: 'cancel',
type: 'button',
},
{
label: formatMessage({
id: 'app.components.Button.save',
defaultMessage: 'Save',
}),
onClick: handleSubmit,
color: 'success',
type: 'submit',
isLoading: isSubmiting,
},
];
const handleCreateRoleSubmit = async data => {
try {
setIsSubmiting(true);
const res = await request('/admin/roles', {
method: 'POST',
body: data,
});
if (res.data.id) {
strapi.notification.success('Settings.roles.created');
goBack();
}
} catch (err) {
// if (err.response) {
// const data = get(err, 'response.payload', { data: {} });
// const apiErrors = formatAPIErrors(data);
// }
strapi.notification.error('notification.error');
setIsSubmiting(false);
}
};
const actions = [
console.log('Open user modal')} key="user-button">
{formatMessage({
id: 'Settings.roles.form.button.users-with-role',
defaultMessage: 'Users with this role',
})}
,
];
return (
{({ handleSubmit, values, errors, handleReset, handleChange, handleBlur }) => (
)}
);
};
export default CreatePage;