import { PageSection } from "@patternfly/react-core";
import { useTranslation } from "react-i18next";
import { useAdminClient } from "@keycloakify/keycloak-admin-ui/admin-client";
import { useRealm } from "@keycloakify/keycloak-admin-ui/context/realm-context/RealmContext";
import SessionsTable from "@keycloakify/keycloak-admin-ui/sessions/SessionsTable";
import { useParams } from "@keycloakify/keycloak-admin-ui/utils/useParams";
import type { UserParams } from "@keycloakify/keycloak-admin-ui/user/routes/User";

export const UserSessions = () => {
  const { adminClient } = useAdminClient();

  const { id } = useParams<UserParams>();
  const { realm } = useRealm();
  const { t } = useTranslation();

  const loader = () => adminClient.users.listSessions({ id, realm });

  return (
    <PageSection variant="light" className="pf-v5-u-p-0">
      <SessionsTable
        loader={loader}
        hiddenColumns={["username", "type"]}
        emptyInstructions={t("noSessionsForUser")}
        logoutUser={id}
      />
    </PageSection>
  );
};
