snort/packages/app/src/Components/User/MutedList.tsx

43 lines
1.1 KiB
TypeScript

import { HexKey, NostrPrefix } from "@snort/system";
import { FormattedMessage } from "react-intl";
import MuteButton from "@/Components/User/MuteButton";
import ProfilePreview from "@/Components/User/ProfilePreview";
import useModeration from "@/Hooks/useModeration";
import messages from "../messages";
export interface MutedListProps {
pubkeys: HexKey[];
}
export default function MutedList() {
const { muteList } = useModeration();
return (
<div className="p">
<div className="flex justify-between">
<div className="bold">
<FormattedMessage {...messages.MuteCount} values={{ n: muteList?.length }} />
</div>
</div>
{muteList?.map(a => {
switch (a.type) {
case NostrPrefix.Profile:
case NostrPrefix.PublicKey: {
return (
<ProfilePreview
actions={<MuteButton pubkey={a.id} />}
pubkey={a.id}
options={{ about: false }}
key={a.id}
/>
);
}
}
return undefined;
})}
</div>
);
}