import React, { useState } from "react";
import { useParams } from "react-router-dom";
import { useTranslation } from "react-i18next";
import { Label } from "@patternfly/react-core";
import { ListEmptyState } from "../components/list-empty-state/ListEmptyState";
import { KeycloakDataTable } from "../components/table-toolbar/KeycloakDataTable";
import { emptyFormatter } from "../util";
import { useAdminClient } from "../context/auth/AdminClient";
import { cellWidth } from "@patternfly/react-table";
import _ from "lodash";
import type UserConsentRepresentation from "keycloak-admin/lib/defs/userConsentRepresentation";
import { CubesIcon } from "@patternfly/react-icons";
import moment from "moment";
export const UserConsents = () => {
const { t } = useTranslation("roles");
const adminClient = useAdminClient();
const { id } = useParams<{ id: string }>();
const alphabetize = (consentsList: UserConsentRepresentation[]) => {
return _.sortBy(consentsList, (client) => client.clientId?.toUpperCase());
};
const loader = async () => {
const consents = await adminClient.users.listConsents({ id });
return alphabetize(consents);
};
const [labelClicked, setLabelClicked] = useState(false);
// useEffect(() => {
// console.log(labelClicked)
// }, [key])
const [key, setKey] = useState(0);
const clientScopesRenderer = ({
grantedClientScopes,
}: UserConsentRepresentation) => {
if (grantedClientScopes!.length <= 5 && labelClicked) {
return <>{grantedClientScopes!.join(", ")}>;
} else
return (
<>
{grantedClientScopes!.slice(1, 6).join(", ")}{" "}
>
);
};
const createdRenderer = ({ createDate }: UserConsentRepresentation) => {
return <>{moment(createDate).format("MM/DD/YY hh:MM A")}>;
};
const lastUpdatedRenderer = ({
lastUpdatedDate,
}: UserConsentRepresentation) => {
return <>{moment(lastUpdatedDate).format("MM/DD/YY hh:MM A")}>;
};
return (
<>
{}}
/>
}
/>
>
);
};