feat(web): add Tags column

This commit is contained in:
Collin Barrett 2025-06-28 13:25:43 -05:00
parent 0aea9a9bf5
commit 5f0bfa56e6
2 changed files with 23 additions and 0 deletions

View file

@ -55,6 +55,26 @@ export const columns = [
return <BadgeCloud items={languages} />;
},
}),
columnHelper.accessor((row) => row.tagIds, {
header: "Tags",
cell: (info) => {
const meta = info.table.options.meta as FilterListsTableMeta;
const tags =
info.getValue()?.flatMap((id) => {
const tag = meta.tags.find((s) => s.id === id);
return tag
? [
{
key: tag.id,
value: tag.name,
tooltip: tag.description ?? undefined,
},
]
: [];
}) ?? [];
return <BadgeCloud items={tags} />;
},
}),
columnHelper.accessor((row) => row.licenseId, {
header: "License",
cell: (info) => {

View file

@ -31,6 +31,7 @@ export interface FilterListsTableMeta extends TableMeta<FilterList> {
languages: readonly Language[];
licenses: readonly License[];
syntaxes: readonly Syntax[];
tags: readonly Tag[];
}
type FilterListTableProps = {
@ -50,6 +51,7 @@ export function FilterListTable({
languages,
licenses,
syntaxes,
tags,
}: FilterListTableProps) {
const [data, setData] = useState<FilterList[]>(initialFilterLists);
const [loading, setLoading] = useState(true);
@ -74,6 +76,7 @@ export function FilterListTable({
languages,
licenses,
syntaxes,
tags,
},
});