Ensure `/start` navigates to `/starter-pack` when clicking a link internally (#4745)

* remove temporary metadata removal

* ensure proper navigation
zio/stable
Hailey 2024-07-07 05:07:28 -07:00 committed by GitHub
parent 6b5e3181fb
commit a6b3c97df0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 34 additions and 30 deletions

View File

@ -5,6 +5,7 @@ import TLDs from 'tlds'
import {logger} from '#/logger' import {logger} from '#/logger'
import {BSKY_SERVICE} from 'lib/constants' import {BSKY_SERVICE} from 'lib/constants'
import {isInvalidHandle} from 'lib/strings/handles' import {isInvalidHandle} from 'lib/strings/handles'
import {startUriToStarterPackUri} from 'lib/strings/starter-pack'
export const BSKY_APP_HOST = 'https://bsky.app' export const BSKY_APP_HOST = 'https://bsky.app'
const BSKY_TRUSTED_HOSTS = [ const BSKY_TRUSTED_HOSTS = [
@ -187,6 +188,11 @@ export function convertBskyAppUrlIfNeeded(url: string): string {
if (isBskyAppUrl(url)) { if (isBskyAppUrl(url)) {
try { try {
const urlp = new URL(url) const urlp = new URL(url)
if (isBskyStartUrl(url)) {
return startUriToStarterPackUri(urlp.pathname)
}
return urlp.pathname return urlp.pathname
} catch (e) { } catch (e) {
console.error('Unexpected error in convertBskyAppUrlIfNeeded()', e) console.error('Unexpected error in convertBskyAppUrlIfNeeded()', e)

View File

@ -79,37 +79,35 @@ export const ExternalLinkEmbed = ({
) : embedPlayerParams ? ( ) : embedPlayerParams ? (
<ExternalPlayer link={link} params={embedPlayerParams} /> <ExternalPlayer link={link} params={embedPlayerParams} />
) : undefined} ) : undefined}
{!starterPackParsed ? ( <View
<View style={[
style={[ a.flex_1,
a.flex_1, a.py_sm,
a.py_sm, {
{ paddingHorizontal: isMobile ? 10 : 14,
paddingHorizontal: isMobile ? 10 : 14, },
}, ]}>
]}> <Text
<Text type="sm"
type="sm" numberOfLines={1}
numberOfLines={1} style={[pal.textLight, {marginVertical: 2}]}>
style={[pal.textLight, {marginVertical: 2}]}> {toNiceDomain(link.uri)}
{toNiceDomain(link.uri)} </Text>
</Text>
{!embedPlayerParams?.isGif && !embedPlayerParams?.dimensions && ( {!embedPlayerParams?.isGif && !embedPlayerParams?.dimensions && (
<Text type="lg-bold" numberOfLines={3} style={[pal.text]}> <Text type="lg-bold" numberOfLines={3} style={[pal.text]}>
{link.title || link.uri} {link.title || link.uri}
</Text> </Text>
)} )}
{link.description ? ( {link.description ? (
<Text <Text
type="md" type="md"
numberOfLines={link.thumb ? 2 : 4} numberOfLines={link.thumb ? 2 : 4}
style={[pal.text, a.mt_xs]}> style={[pal.text, a.mt_xs]}>
{link.description} {link.description}
</Text> </Text>
) : undefined} ) : undefined}
</View> </View>
) : null}
</LinkWrapper> </LinkWrapper>
</View> </View>
) )