36 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-08-21 02:01:20 +02:00
import {List, Tag, Tooltip} from "antd";
import React from "react";
import {Domain} from "../../utils/api";
2024-08-23 21:19:34 +02:00
import {rdapRoleDetailTranslation, rdapRoleTranslation} from "../../utils/functions/rdapTranslation";
2024-08-22 01:44:50 +02:00
import {roleToAvatar} from "../../utils/functions/roleToAvatar";
import {rolesToColor} from "../../utils/functions/rolesToColor";
import {entityToName} from "../../utils/functions/entityToName";
import {sortDomainEntities} from "../../utils/functions/sortDomainEntities";
2024-08-16 13:56:52 +02:00
export function EntitiesList({domain}: { domain: Domain }) {
2024-08-20 17:32:58 +02:00
const rdapRoleTranslated = rdapRoleTranslation()
const rdapRoleDetailTranslated = rdapRoleDetailTranslation()
2024-08-21 02:01:20 +02:00
const roleToTag = (r: string) => <Tooltip
title={r in rdapRoleDetailTranslated ? rdapRoleDetailTranslated[r as keyof typeof rdapRoleDetailTranslated] : undefined}>
<Tag
color={rolesToColor([r])}>{rdapRoleTranslated[r as keyof typeof rdapRoleTranslated]}</Tag>
</Tooltip>
return <List
className="demo-loadmore-list"
itemLayout="horizontal"
2024-08-21 02:01:20 +02:00
dataSource={sortDomainEntities(domain)}
renderItem={(e) =>
<List.Item>
<List.Item.Meta
2024-08-21 02:01:20 +02:00
avatar={roleToAvatar(e)}
title={e.entity.handle}
2024-08-21 02:01:20 +02:00
description={entityToName(e)}
/>
2024-08-21 02:01:20 +02:00
{e.roles.map(roleToTag)}
</List.Item>
2024-08-21 02:01:20 +02:00
}
/>
}