JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "create-role-page.tsx"

Full Path: /home/markqprx/iniasli.pro/client/admin/roles/crupdate-role-page/create-role-page.tsx
File size: 990 bytes
MIME-type: text/plain
Charset: utf-8

import {useForm} from 'react-hook-form';
import {CrupdateResourceLayout} from '../../crupdate-resource-layout';
import {Trans} from '../../../i18n/trans';
import {CrupdateRolePageSettingsPanel} from './crupdate-role-settings-panel';
import {CreateRolePayload, useCreateRole} from '../requests/user-create-role';
import {useNavigate} from '../../../utils/hooks/use-navigate';

export function CreateRolePage() {
  const form = useForm<CreateRolePayload>({defaultValues: {type: 'sitewide'}});
  const createRole = useCreateRole(form);
  const navigate = useNavigate();

  return (
    <CrupdateResourceLayout
      form={form}
      onSubmit={values => {
        createRole.mutate(values, {
          onSuccess: response => {
            navigate(`/admin/roles/${response.role.id}/edit`);
          },
        });
      }}
      title={<Trans message="Add new role" />}
      isLoading={createRole.isPending}
    >
      <CrupdateRolePageSettingsPanel />
    </CrupdateResourceLayout>
  );
}