diff --git a/src/screens/Onboarding/StepAlgoFeeds/index.tsx b/src/screens/Onboarding/StepAlgoFeeds/index.tsx index f2bf7cfb..bc926288 100644 --- a/src/screens/Onboarding/StepAlgoFeeds/index.tsx +++ b/src/screens/Onboarding/StepAlgoFeeds/index.tsx @@ -28,7 +28,7 @@ export type FeedConfig = { gradient?: typeof tokens.gradients.midnight | typeof tokens.gradients.nordic } -const PRIMARY_FEEDS: FeedConfig[] = [ +export const PRIMARY_FEEDS: FeedConfig[] = [ { default: IS_PROD, // these feeds are only available in prod uri: 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot', diff --git a/src/screens/Onboarding/util.ts b/src/screens/Onboarding/util.ts index eae661aa..1a0b8d21 100644 --- a/src/screens/Onboarding/util.ts +++ b/src/screens/Onboarding/util.ts @@ -2,6 +2,7 @@ import {AppBskyGraphFollow, AppBskyGraphGetFollows} from '@atproto/api' import {until} from '#/lib/async/until' import {getAgent} from '#/state/session' +import {PRIMARY_FEEDS} from './StepAlgoFeeds' function shuffle(array: any) { let currentIndex = array.length, @@ -110,11 +111,19 @@ async function whenFollowsIndexed( * feed after Following */ export function sortPrimaryAlgorithmFeeds(uris: string[]) { - return uris.sort(uri => { - return uri.includes('the-algorithm') - ? -1 - : uri.includes('whats-hot') - ? 0 - : 1 + return uris.sort((a, b) => { + if (a === PRIMARY_FEEDS[0].uri) { + return -1 + } + if (b === PRIMARY_FEEDS[0].uri) { + return 1 + } + if (a === PRIMARY_FEEDS[1].uri) { + return -1 + } + if (b === PRIMARY_FEEDS[1].uri) { + return 1 + } + return a.localeCompare(b) }) }