From 52a8794940151a86047842c63be40ceca0025d60 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Thu, 22 May 2025 12:16:06 +0300 Subject: [PATCH] add a/b tested alt icon --- assets/icons/arrowShareRight_stroke2_corner2_rounded.svg | 1 + src/components/PostControls/ShareMenu/index.tsx | 9 ++++++++- src/components/icons/ArrowShareRight.tsx | 5 +++++ src/lib/statsig/gates.ts | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 assets/icons/arrowShareRight_stroke2_corner2_rounded.svg create mode 100644 src/components/icons/ArrowShareRight.tsx diff --git a/assets/icons/arrowShareRight_stroke2_corner2_rounded.svg b/assets/icons/arrowShareRight_stroke2_corner2_rounded.svg new file mode 100644 index 0000000000..40e2a5f253 --- /dev/null +++ b/assets/icons/arrowShareRight_stroke2_corner2_rounded.svg @@ -0,0 +1 @@ + diff --git a/src/components/PostControls/ShareMenu/index.tsx b/src/components/PostControls/ShareMenu/index.tsx index c60f371f4a..d4ea18bb0c 100644 --- a/src/components/PostControls/ShareMenu/index.tsx +++ b/src/components/PostControls/ShareMenu/index.tsx @@ -12,12 +12,14 @@ import type React from 'react' import {makeProfileLink} from '#/lib/routes/links' import {shareUrl} from '#/lib/sharing' +import {useGate} from '#/lib/statsig/statsig' import {toShareUrl} from '#/lib/strings/url-helpers' import {logger} from '#/logger' import {type Shadow} from '#/state/cache/post-shadow' import {EventStopper} from '#/view/com/util/EventStopper' import {native} from '#/alf' import {ArrowOutOfBoxModified_Stroke2_Corner2_Rounded as ArrowOutOfBoxIcon} from '#/components/icons/ArrowOutOfBox' +import {ArrowShareRight_Stroke2_Corner2_Rounded as ArrowShareRightIcon} from '#/components/icons/ArrowShareRight' import {useMenuControl} from '#/components/Menu' import * as Menu from '#/components/Menu' import {PostControlButton, PostControlButtonIcon} from '../PostControlButton' @@ -43,6 +45,11 @@ let ShareMenuButton = ({ onShare: () => void }): React.ReactNode => { const {_} = useLingui() + const gate = useGate() + + const ShareIcon = gate('alt_share_icon') + ? ArrowShareRightIcon + : ArrowOutOfBoxIcon const menuControl = useMenuControl() const [hasBeenOpen, setHasBeenOpen] = useState(false) @@ -86,7 +93,7 @@ let ShareMenuButton = ({ label={props.accessibilityLabel} {...props} onLongPress={native(onNativeLongPress)}> - + ) }} diff --git a/src/components/icons/ArrowShareRight.tsx b/src/components/icons/ArrowShareRight.tsx new file mode 100644 index 0000000000..499034da71 --- /dev/null +++ b/src/components/icons/ArrowShareRight.tsx @@ -0,0 +1,5 @@ +import {createSinglePathSVG} from './TEMPLATE' + +export const ArrowShareRight_Stroke2_Corner2_Rounded = createSinglePathSVG({ + path: 'M11.839 4.744c0-1.488 1.724-2.277 2.846-1.364l.107.094 7.66 7.256.128.134c.558.652.558 1.62 0 2.272l-.128.135-7.66 7.255c-1.115 1.057-2.953.267-2.953-1.27v-2.748c-3.503.055-5.417.41-6.592.97-.997.474-1.525 1.122-2.084 2.14l-.243.46c-.558 1.088-2.09.583-2.08-.515l.015-.748c.111-3.68.777-6.5 2.546-8.415 1.83-1.98 4.63-2.771 8.438-2.884V4.744Zm2 3.256c0 .79-.604 1.41-1.341 1.494l-.149.01c-3.9.057-6.147.813-7.48 2.254-.963 1.043-1.562 2.566-1.842 4.79.38-.327.826-.622 1.361-.877 1.656-.788 4.08-1.14 7.938-1.169l.153.007c.754.071 1.36.704 1.36 1.491v2.675L20.884 12l-7.045-6.676V8Z', +}) diff --git a/src/lib/statsig/gates.ts b/src/lib/statsig/gates.ts index d3334d82f6..c67bb60a3a 100644 --- a/src/lib/statsig/gates.ts +++ b/src/lib/statsig/gates.ts @@ -1,5 +1,6 @@ export type Gate = // Keep this alphabetic please. + | 'alt_share_icon' | 'debug_show_feedcontext' | 'debug_subscriptions' | 'explore_show_suggested_feeds'