in website/src/pages/ShowcaseCardPage.tsx [123:178]
function FilterAppliedBar({
clearAll,
selectedTags,
readSearchTags,
replaceSearchTags,
}: {
clearAll;
selectedTags: TagType[];
readSearchTags: (search: string) => TagType[];
replaceSearchTags: (search: string, newTags: TagType[]) => string;
}) {
const history = useHistory();
const toggleTag = (tag: TagType, location: Location) => {
const tags = readSearchTags(location.search);
const newTags = toggleListItem(tags, tag);
const newSearch = replaceSearchTags(location.search, newTags);
history.push({
...location,
search: newSearch,
state: prepareUserState(),
});
}
return selectedTags && selectedTags.length > 0 ? (
<div className={styles.filterAppliedBar}>
<Body1>
Filters applied:
</Body1>
{selectedTags.map((tag, index) => {
const tagObject = Tags[tag];
const key = `showcase_checkbox_key_${tag}`;
const id = `showcase_checkbox_id_${tag}`;
return (
<Badge
appearance="tint"
size="extra-large"
color="brand"
shape="rounded"
icon={<Dismiss20Filled />}
iconPosition="after"
className={styles.filterBadge}
onClick={() => {
toggleTag(tag, location);
}}
>
{tagObject.label}
</Badge>
);
})}
<div className={styles.clearAll} onClick={clearAll}>
Clear all
</div>
</div>
) : null;
}