chore: cleanup AsyncIcon element

This commit is contained in:
2023-10-16 16:54:55 +01:00
parent 497ef7bf9a
commit dec2b9ce2e
10 changed files with 66 additions and 78 deletions

View File

@ -24,6 +24,7 @@ import { getDisplayName } from "Element/User/DisplayName";
import { Day } from "Const";
import Tabs, { Tab } from "Element/Tabs";
import classNames from "classnames";
import { AsyncIcon } from "Element/AsyncIcon";
function notificationContext(ev: TaggedNostrEvent) {
switch (ev.kind) {
@ -194,15 +195,15 @@ function NotificationSummary({ evs }: { evs: Array<TaggedNostrEvent> }) {
);
}, [evs, period]);
const filterIcon = (f: NotificationSummaryFilter, icon: string, iconActiveClass?: string) => {
const filterIcon = (f: NotificationSummaryFilter, icon: string, iconActiveClass: string) => {
const active = hasFlag(filter, f);
return (
<button
type="button"
className={classNames("icon-sm transparent", { active: active })}
onClick={() => setFilter(v => v ^ f)}>
<Icon name={icon} className={active ? iconActiveClass : undefined} />
</button>
<AsyncIcon
className={classNames("button-icon-sm transparent", { active, [iconActiveClass]: active })}
onClick={() => setFilter(v => v ^ f)}
name={""}
iconName={icon}
/>
);
};