Files
bodyshop/client/src/components/shop-users-auth-edit/shop-users-auth-edit.component.jsx

48 lines
1.3 KiB
JavaScript

import { InputNumber, notification } from "antd";
import React, { useState } from "react";
import { useMutation } from "@apollo/client";
import { useTranslation } from "react-i18next";
import { UPDATE_ASSOCIATION } from "../../graphql/user.queries";
export default function ShopUsersAuthEdit({ association }) {
const { t } = useTranslation();
const [updateAssociation] = useMutation(UPDATE_ASSOCIATION);
const [open, setOpen] = useState(false);
const [value, setValue] = useState(association.authlevel);
const handleSave = async () => {
setOpen(false);
const result = await updateAssociation({
variables: {
assocId: association.id,
assoc: { authlevel: value }
}
});
if (!!result.errors) {
notification["error"]({
message: t("user.errors.updating", {
message: JSON.stringify(result.errors)
})
});
}
};
return (
<div>
{open && (
<div>
<InputNumber
min={0}
value={value}
onChange={(val) => setValue(val)}
defaultValue={association.authlevel}
onBlur={handleSave}
/>
</div>
)}
{!open && <div style={{ cursor: "pointer" }}>{association.authlevel || t("general.labels.na")}</div>}
</div>
);
}