pomerium/ui/src/components/ClaimValue.tsx
Caleb Doxsey 2824faecbf
frontend: react+mui (#3004)
* mui v5 wip

* wip

* wip

* wip

* use compressor for all controlplane endpoints

* wip

* wip

* add deps

* fix authenticate URL

* fix test

* fix test

* fix build

* maybe fix build

* fix integration test

* remove image asset test

* add yarn.lock
2022-02-07 08:47:58 -07:00

24 lines
674 B
TypeScript

import IDField from "./IDField";
import { DateTime } from "luxon";
import React, { FC } from "react";
const unixSecondTimestampFields = new Set(["exp", "iat", "nbf", "auth_time"]);
const idFields = new Set(["groups", "jti", "oid", "tid", "wids"]);
type ClaimValueProps = {
claimKey: string;
claimValue: unknown;
};
const ClaimValue: FC<ClaimValueProps> = ({ claimKey, claimValue }) => {
if (unixSecondTimestampFields.has(claimKey)) {
return <>{DateTime.fromMillis((claimValue as number) * 1000).toISO()}</>;
}
if (idFields.has(claimKey)) {
return <IDField value={`${claimValue}`} />;
}
return <>{`${claimValue}`}</>;
};
export default ClaimValue;