diff --git a/web/src/components/filterlist-table/columns.tsx b/web/src/components/filterlist-table/columns.tsx index 071d0a895..64f47b958 100644 --- a/web/src/components/filterlist-table/columns.tsx +++ b/web/src/components/filterlist-table/columns.tsx @@ -93,4 +93,24 @@ export const columns = [ ) : null; }, }), + columnHelper.accessor((row) => row.maintainerIds, { + header: "Maintainers", + cell: (info) => { + const meta = info.table.options.meta as FilterListsTableMeta; + const maintainers = + info.getValue()?.flatMap((id) => { + const maintainer = meta.maintainers.find((s) => s.id === id); + return maintainer + ? [ + { + key: maintainer.id, + value: maintainer.name, + href: maintainer.url ?? undefined, + }, + ] + : []; + }) ?? []; + return ; + }, + }), ]; diff --git a/web/src/components/filterlist-table/index.tsx b/web/src/components/filterlist-table/index.tsx index 2b1586813..f70fe14f3 100644 --- a/web/src/components/filterlist-table/index.tsx +++ b/web/src/components/filterlist-table/index.tsx @@ -30,6 +30,7 @@ import { Tag } from "@/services/get-tags"; export interface FilterListsTableMeta extends TableMeta { languages: readonly Language[]; licenses: readonly License[]; + maintainers: readonly Maintainer[]; syntaxes: readonly Syntax[]; tags: readonly Tag[]; } @@ -50,6 +51,7 @@ export function FilterListTable({ initialFilterLists, languages, licenses, + maintainers, syntaxes, tags, }: FilterListTableProps) { @@ -75,6 +77,7 @@ export function FilterListTable({ meta: { languages, licenses, + maintainers, syntaxes, tags, },