address review feedback: copy clarity, en dashes, reuse existing strings

This commit is contained in:
vineyardbovines
2026-06-10 11:34:15 -04:00
parent 7b24015cba
commit 4b9fa8e82d
3 changed files with 19 additions and 11 deletions
@@ -152,8 +152,9 @@ function Announcement({
{maxWidth: 340}, {maxWidth: 340},
]}> ]}>
<Trans> <Trans>
You can now invite friends with a link or QR code. Share it You can now invite friends with a link or QR code. Share the
anywhere or let them scan to join you on Bluesky. link anywhere, or let them scan the code to join you on
Bluesky.
</Trans> </Trans>
</Text> </Text>
</View> </View>
@@ -57,7 +57,7 @@ export function InviteFriendsDialogInner({
const onShare = async () => { const onShare = async () => {
if (!canonicalShareUrl) { if (!canonicalShareUrl) {
Toast.show(l`Could not share - please try again`, {type: 'error'}) Toast.show(l`Could not share please try again`, {type: 'error'})
return return
} }
ax.metric('invite:action:share', {}) ax.metric('invite:action:share', {})
@@ -71,7 +71,7 @@ export function InviteFriendsDialogInner({
const onDownload = async () => { const onDownload = async () => {
if (!IS_NATIVE) return if (!IS_NATIVE) return
if (!canonicalShareUrl) { if (!canonicalShareUrl) {
Toast.show(l`Could not download - please try again`, {type: 'error'}) Toast.show(l`Could not download please try again`, {type: 'error'})
return return
} }
const uri = await captureRef.current?.capture?.() const uri = await captureRef.current?.capture?.()
@@ -85,7 +85,7 @@ export function InviteFriendsDialogInner({
const permission = await requestPermissionsAsync(true) const permission = await requestPermissionsAsync(true)
if (!permission.granted) { if (!permission.granted) {
Toast.show( Toast.show(
l`You must grant access to your photo library to save the QR code`, l`You must grant access to your photo library to save a QR code`,
{type: 'error'}, {type: 'error'},
) )
return return
@@ -94,10 +94,12 @@ export function InviteFriendsDialogInner({
try { try {
await createAssetAsync(`file://${uri}`) await createAssetAsync(`file://${uri}`)
ax.metric('invite:action:download', {}) ax.metric('invite:action:download', {})
Toast.show(l`QR code saved to your camera roll`) Toast.show(l`QR code saved to your camera roll!`)
} catch (err) { } catch (err) {
logger.error('InviteFriendsDialog: download failed', {safeMessage: err}) logger.error('InviteFriendsDialog: download failed', {safeMessage: err})
Toast.show(l`Could not save QR code`, {type: 'error'}) Toast.show(l`An error occurred while saving the QR code!`, {
type: 'error',
})
} }
} }
@@ -112,7 +114,7 @@ export function InviteFriendsDialogInner({
const onCopy = async () => { const onCopy = async () => {
if (!canonicalShareUrl) { if (!canonicalShareUrl) {
Toast.show(l`Could not copy - please try again`, {type: 'error'}) Toast.show(l`Could not copy please try again`, {type: 'error'})
return return
} }
try { try {
@@ -121,7 +123,7 @@ export function InviteFriendsDialogInner({
Toast.show(l`Invite link copied`) Toast.show(l`Invite link copied`)
} catch (err) { } catch (err) {
logger.error('InviteFriendsDialog: copy failed', {safeMessage: err}) logger.error('InviteFriendsDialog: copy failed', {safeMessage: err})
Toast.show(l`Could not copy link`, {type: 'error'}) Toast.show(l`Failed to copy link`, {type: 'error'})
} }
} }
@@ -205,7 +207,12 @@ export function InviteFriendsDialogInner({
]}> ]}>
<Divider style={[a.flex_1]} /> <Divider style={[a.flex_1]} />
<Text style={[a.text_sm, t.atoms.text_contrast_medium]}> <Text style={[a.text_sm, t.atoms.text_contrast_medium]}>
{l`Invite link`} {l({
message: 'Invite link',
context: 'profile invite',
comment:
'Link that invites someone to follow your profile, distinct from a group chat invite link',
})}
</Text> </Text>
<Divider style={[a.flex_1]} /> <Divider style={[a.flex_1]} />
</View> </View>
@@ -36,7 +36,7 @@ export function ActionButtons({
{l`Download`} {l`Download`}
</StackedButton> </StackedButton>
<StackedButton <StackedButton
label={l({message: 'Open QR scanner'})} label={l({message: 'Open QR code scanner'})}
color="primary_subtle" color="primary_subtle"
icon={CameraIcon} icon={CameraIcon}
onPress={onScan} onPress={onScan}