import { Badge } from "@medusajs/ui"
import { TextCell } from "../../../../../components/table/table-cells/common/text-cell"
import {
defineCellRenderer,
registerCellResolver,
} from "../../../../../lib/table/cell-renderers"
import {
getApiKeyStatusProps,
getApiKeyTypeProps,
prettifyRedactedToken,
} from "../../../common/utils"
/**
* Api-key-specific cell renderers, registered in the GLOBAL registry so
* consuming apps can override them under the same render mode key. Imported for
* its side effect by the configurable api key table.
*/
// Redacted token, shown as a badge.
defineCellRenderer("api_key_token", {
render: (value) => (
{prettifyRedactedToken(String(value ?? ""))}
),
})
// Publishable / secret type label.
defineCellRenderer("api_key_type", {
render: (value, _row, _column, t) => (
),
})
// Active / revoked status derived from revoked_at. Value resolver.
registerCellResolver("api_key_status", (value, _row, t) => {
const { color, label } = getApiKeyStatusProps(value, t)
return { color, label }
})