keycloak-scim/js/apps/admin-ui/src/clients/ClientDescription.tsx
2023-09-14 11:01:15 +02:00

47 lines
1.3 KiB
TypeScript

import { useTranslation } from "react-i18next";
import { TextControl, TextAreaControl } from "ui-shared";
import { FormAccess } from "../components/form/FormAccess";
import { DefaultSwitchControl } from "../components/SwitchControl";
type ClientDescriptionProps = {
protocol?: string;
hasConfigureAccess?: boolean;
};
export const ClientDescription = ({
hasConfigureAccess: configure,
}: ClientDescriptionProps) => {
const { t } = useTranslation();
return (
<FormAccess role="manage-clients" fineGrainedAccess={configure} unWrap>
<TextControl
name="clientId"
label={t("clientId")}
labelIcon={t("clientIdHelp")}
rules={{ required: { value: true, message: t("required") } }}
/>
<TextControl
name="name"
label={t("name")}
labelIcon={t("clientNameHelp")}
/>
<TextAreaControl
name="description"
label={t("description")}
labelIcon={t("clientDescriptionHelp")}
rules={{
maxLength: {
value: 255,
message: t("maxLength", { length: 255 }),
},
}}
/>
<DefaultSwitchControl
name="alwaysDisplayInConsole"
label={t("alwaysDisplayInUI")}
labelIcon={t("alwaysDisplayInUIHelp")}
/>
</FormAccess>
);
};