diff --git a/src/components/ProfileCard.tsx b/src/components/ProfileCard.tsx
index 47f31649c..3b719861f 100644
--- a/src/components/ProfileCard.tsx
+++ b/src/components/ProfileCard.tsx
@@ -38,7 +38,10 @@ import {
ButtonText,
} from '#/components/Button'
import {EphemeralAccountSwitcher} from '#/components/EphemeralAccountSwitcher'
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {
+ Check_Stroke2_Corner0_Rounded as Check,
+ DoubleCheck_Stroke2_Corner0_Rounded as DoubleCheck,
+} from '#/components/icons/Check'
import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
import {Link as InternalLink, type LinkProps} from '#/components/Link'
import * as Pills from '#/components/Pills'
@@ -586,7 +589,10 @@ export function FollowButtonInner({
void onPressUnfollow(e)
}}>
{withIcon && (
-
+
)}
{isRound ? null : {unfollowLabel}}
diff --git a/src/components/ProfileHoverCard/index.web.tsx b/src/components/ProfileHoverCard/index.web.tsx
index af5d258b4..15cb1864b 100644
--- a/src/components/ProfileHoverCard/index.web.tsx
+++ b/src/components/ProfileHoverCard/index.web.tsx
@@ -30,7 +30,10 @@ import {atoms as a, useTheme} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {useFollowMethods} from '#/components/hooks/useFollowMethods'
import {useRichText} from '#/components/hooks/useRichText'
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {
+ Check_Stroke2_Corner0_Rounded as Check,
+ DoubleCheck_Stroke2_Corner0_Rounded as DoubleCheck,
+} from '#/components/icons/Check'
import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
import {
KnownFollowers,
@@ -513,7 +516,14 @@ function Inner({
onPress={profileShadow.viewer?.following ? unfollow : follow}>
{profileShadow.viewer?.following
diff --git a/src/components/icons/Check.tsx b/src/components/icons/Check.tsx
index fe9883baf..3c0c46ac3 100644
--- a/src/components/icons/Check.tsx
+++ b/src/components/icons/Check.tsx
@@ -7,3 +7,7 @@ export const Check_Stroke2_Corner0_Rounded = createSinglePathSVG({
export const CheckThick_Stroke2_Corner0_Rounded = createSinglePathSVG({
path: 'M21.474 2.98a2.5 2.5 0 0 1 .545 3.494l-10.222 14a2.5 2.5 0 0 1-3.528.52L2.49 16.617a2.5 2.5 0 0 1 3.018-3.986l3.75 2.84L17.98 3.525a2.5 2.5 0 0 1 3.493-.545Z',
})
+
+export const DoubleCheck_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M 18.850814,2.9270055 C 18.544206,2.9339155 18.258318,3.083265 18.077499,3.330976 L 9.3863645,15.392379 10.93107,16.617756 19.668374,4.4928718 C 19.988818,4.053997 19.893267,3.4385137 19.454847,3.1174487 19.279961,2.9891973 19.067634,2.9222535 18.850814,2.9270055 Z m 4.143583,0.055787 C 22.687789,2.9897025 22.4019,3.1390521 22.221082,3.386763 L 11.298491,18.318279 5.9026003,14.030422 C 4.8739764,13.212603 3.6485994,14.755385 4.6772234,15.573204 l 6.1980606,4.924592 c 0.438229,0.348133 1.078115,0.26159 1.408126,-0.190444 L 23.811956,4.5486583 C 24.1324,4.1097833 24.03685,3.4943001 23.598429,3.1732351 23.423543,3.0449836 23.211217,2.9780399 22.994397,2.9827925 Z M 0.97800837,14.174697 c -0.93232486,0.0069 -1.3340716,1.185102 -0.60018465,1.760156 L 6.5758845,20.859445 C 7.0141139,21.207578 7.6539998,21.121037 7.98401,20.669002 L 8.5341792,19.914924 C 6.2110596,18.089081 3.9159262,16.229985 1.6032007,14.392071 1.4261197,14.24966 1.2052421,14.172863 0.97800837,14.174697 Z',
+})
diff --git a/src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx b/src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx
index d639bcc44..70009f87e 100644
--- a/src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx
+++ b/src/screens/PostThread/components/ThreadItemAnchorFollowButton.tsx
@@ -17,7 +17,10 @@ import {atoms as a, useBreakpoints} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {EphemeralAccountSwitcher} from '#/components/EphemeralAccountSwitcher'
import {useEphemeralFollowAction} from '#/components/hooks/useEphemeralFollowAction'
-import {Check_Stroke2_Corner0_Rounded as CheckIcon} from '#/components/icons/Check'
+import {
+ Check_Stroke2_Corner0_Rounded as CheckIcon,
+ DoubleCheck_Stroke2_Corner0_Rounded as DoubleCheckIcon,
+} from '#/components/icons/Check'
import {PlusLarge_Stroke2_Corner0_Rounded as PlusIcon} from '#/components/icons/Plus'
import * as Toast from '#/components/Toast'
import {IS_IOS} from '#/env'
@@ -161,7 +164,16 @@ function PostThreadFollowBtnLoaded({
color={isFollowing ? 'secondary' : 'secondary_inverted'}
style={enableSquareButtons ? [a.rounded_sm] : [a.rounded_full]}>
{gtMobile && (
-
+
)}
{!isFollowing ? (
@@ -179,21 +191,19 @@ function PostThreadFollowBtnLoaded({
)
- return (
- currentAccount && hasAlternateAccounts ? (
- {
- void onSelectEphemeralAccount(account)
- }}
- renderTrigger={({triggerProps}) =>
- renderFollowButton(triggerProps.onLongPress)
- }
- />
- ) : (
- renderFollowButton()
- )
+ return currentAccount && hasAlternateAccounts ? (
+ {
+ void onSelectEphemeralAccount(account)
+ }}
+ renderTrigger={({triggerProps}) =>
+ renderFollowButton(triggerProps.onLongPress)
+ }
+ />
+ ) : (
+ renderFollowButton()
)
}
diff --git a/src/screens/Profile/Header/ProfileHeaderStandard.tsx b/src/screens/Profile/Header/ProfileHeaderStandard.tsx
index 084009882..0b6604954 100644
--- a/src/screens/Profile/Header/ProfileHeaderStandard.tsx
+++ b/src/screens/Profile/Header/ProfileHeaderStandard.tsx
@@ -42,9 +42,14 @@ import {SubscribeProfileButton} from '#/components/activity-notifications/Subscr
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {DebugFieldDisplay} from '#/components/DebugFieldDisplay'
import {useDialogControl} from '#/components/Dialog'
-import {EphemeralAccountSwitcher} from '#/components/EphemeralAccountSwitcher'
import {MessageProfileButton} from '#/components/dms/MessageProfileButton'
+import {EphemeralAccountSwitcher} from '#/components/EphemeralAccountSwitcher'
+import {useEphemeralFollowAction} from '#/components/hooks/useEphemeralFollowAction'
import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
+import {
+ Check_Stroke2_Corner0_Rounded as Check,
+ DoubleCheck_Stroke2_Corner0_Rounded as DoubleCheck,
+} from '#/components/icons/Check'
import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
import {
@@ -65,7 +70,6 @@ import {ProfileHeaderHandle} from './Handle'
import {ProfileHeaderMetrics} from './Metrics'
import {ProfileHeaderShell} from './Shell'
import {ProfileHeaderSuggestedFollows} from './SuggestedFollows'
-import {useEphemeralFollowAction} from '#/components/hooks/useEphemeralFollowAction'
interface Props {
profile: AppBskyActorDefs.ProfileViewDetailed
@@ -472,82 +476,91 @@ export function HeaderStandardButtons({
)}
{(!minimal || !profile.viewer?.following) &&
- !(minimal && hideScaryFollowButtons) && (
- (currentAccount && hasAlternateAccounts ? (
- {
- void onSelectEphemeralAccount(account)
- }}
- renderTrigger={({triggerProps}) => (
-
+ ))}
>
) : null}
diff --git a/src/view/com/notifications/NotificationFeedItem.tsx b/src/view/com/notifications/NotificationFeedItem.tsx
index b9613ec8e..327e05a34 100644
--- a/src/view/com/notifications/NotificationFeedItem.tsx
+++ b/src/view/com/notifications/NotificationFeedItem.tsx
@@ -47,7 +47,10 @@ import {PreviewableUserAvatar, UserAvatar} from '#/view/com/util/UserAvatar'
import {atoms as a, platform, useTheme} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {BellRinging_Filled_Corner0_Rounded as BellRingingIcon} from '#/components/icons/BellRinging'
-import {Check_Stroke2_Corner0_Rounded as CheckIcon} from '#/components/icons/Check'
+import {
+ Check_Stroke2_Corner0_Rounded as CheckIcon,
+ DoubleCheck_Stroke2_Corner0_Rounded as DoubleCheckIcon,
+} from '#/components/icons/Check'
import {
ChevronBottom_Stroke2_Corner0_Rounded as ChevronDownIcon,
ChevronTop_Stroke2_Corner0_Rounded as ChevronUpIcon,
@@ -835,7 +838,7 @@ function FollowBackButton({profile}: {profile: AppBskyActorDefs.ProfileView}) {
size="small"
style={[a.self_start]}
onPress={onPressUnfollow}>
-
+
{isFollowedBy ? Mutuals : Following}