diff --git a/packages/app/src/Components/Event/EventComponent.css b/packages/app/src/Components/Event/EventComponent.css index 10c348b2..bfcd477b 100644 --- a/packages/app/src/Components/Event/EventComponent.css +++ b/packages/app/src/Components/Event/EventComponent.css @@ -99,16 +99,6 @@ z-index: 1; } -.reaction-pill { - display: flex; - min-width: 1rem; - align-items: center; - justify-content: center; - user-select: none; - font-feature-settings: "tnum"; - gap: 5px; -} - .reaction-pill:not(.reacted):not(:hover) { color: var(--font-secondary-color); } diff --git a/packages/app/src/Components/Event/Note/AsyncFooterIcon.tsx b/packages/app/src/Components/Event/Note/AsyncFooterIcon.tsx new file mode 100644 index 00000000..65dc3b29 --- /dev/null +++ b/packages/app/src/Components/Event/Note/AsyncFooterIcon.tsx @@ -0,0 +1,22 @@ +import classNames from "classnames"; +import React from "react"; + +import { AsyncIcon, AsyncIconProps } from "@/Components/Button/AsyncIcon"; +import { formatShort } from "@/Utils/Number"; + +export const AsyncFooterIcon = (props: AsyncIconProps & { value: number }) => { + const mergedProps = { + ...props, + iconSize: 18, + className: classNames( + "transition duration-200 ease-in-out flex flex-row reaction-pill cursor-pointer gap-2 items-center", + props.className, + ), + }; + + return ( + + {props.value > 0 &&
{formatShort(props.value)}
} +
+ ); +}; diff --git a/packages/app/src/Components/Event/Note/NoteFooter.tsx b/packages/app/src/Components/Event/Note/NoteFooter.tsx index 434d0def..8d4a0d5f 100644 --- a/packages/app/src/Components/Event/Note/NoteFooter.tsx +++ b/packages/app/src/Components/Event/Note/NoteFooter.tsx @@ -3,11 +3,11 @@ import { countLeadingZeros, NostrLink, TaggedNostrEvent } from "@snort/system"; import { useEventReactions, useReactions, useUserProfile } from "@snort/system-react"; import { Menu, MenuItem } from "@szhsin/react-menu"; import classNames from "classnames"; -import React, { forwardRef, useEffect, useMemo, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { useLongPress } from "use-long-press"; -import { AsyncIcon, AsyncIconProps } from "@/Components/Button/AsyncIcon"; +import { AsyncFooterIcon } from "@/Components/Event/Note/AsyncFooterIcon"; import { ZapsSummary } from "@/Components/Event/ZapsSummary"; import Icon from "@/Components/Icons/Icon"; import SendSats from "@/Components/SendSats/SendSats"; @@ -16,7 +16,6 @@ import { useInteractionCache } from "@/Hooks/useInteractionCache"; import useLogin from "@/Hooks/useLogin"; import { useNoteCreator } from "@/State/NoteCreator"; import { findTag, getDisplayName } from "@/Utils"; -import { formatShort } from "@/Utils/Number"; import { Zapper, ZapTarget } from "@/Utils/Zapper"; import { ZapPoolController } from "@/Utils/ZapPoolController"; import { useWallet } from "@/Wallet"; @@ -181,6 +180,7 @@ export default function NoteFooter(props: NoteFooterProps) { if (pow) { return ( +
+
{replyIcon()} {repostIcon()} {reactionIcon()} @@ -302,19 +311,3 @@ export default function NoteFooter(props: NoteFooterProps) {
); } - -const AsyncFooterIcon = forwardRef((props: AsyncIconProps & { value: number }, ref) => { - const mergedProps = { - ...props, - iconSize: 18, - className: classNames("transition duration-200 ease-in-out reaction-pill cursor-pointer", props.className), - }; - - return ( - - {props.value > 0 &&
{formatShort(props.value)}
} -
- ); -}); - -AsyncFooterIcon.displayName = "AsyncFooterIcon";