Skip to content

Commit f62eb29

Browse files
committed
feat(onboarding): show personalized feed on complete page
1 parent 91391e4 commit f62eb29

3 files changed

Lines changed: 26 additions & 8 deletions

File tree

packages/shared/src/components/Feed.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ export interface FeedProps<T>
101101
isHorizontal?: boolean;
102102
feedContainerRef?: React.Ref<HTMLDivElement>;
103103
disableListFrame?: boolean;
104+
disableBriefCard?: boolean;
104105
}
105106

106107
interface RankVariables {
@@ -196,6 +197,7 @@ export default function Feed<T>({
196197
isHorizontal = false,
197198
feedContainerRef,
198199
disableListFrame = false,
200+
disableBriefCard = false,
199201
}: FeedProps<T>): ReactElement {
200202
const origin = Origin.Feed;
201203
const { logEvent } = useLogContext();
@@ -242,7 +244,8 @@ export default function Feed<T>({
242244
hasNoBriefAction &&
243245
!hasDismissedBriefCard &&
244246
!showProfileCompletionCard &&
245-
!isProfileCompletionCardLoading;
247+
!isProfileCompletionCardLoading &&
248+
!disableBriefCard;
246249
const { value: briefCardFeatureValue } = useConditionalFeature({
247250
feature: briefCardFeedFeature,
248251
shouldEvaluate: shouldEvaluateBriefCard,

packages/shared/src/components/MainFeedLayout.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,8 @@ export interface MainFeedLayoutProps
178178
navChildren?: ReactNode;
179179
isFinder?: boolean;
180180
onNavTabClick?: (tab: string) => void;
181+
hideFeedActionButtons?: boolean;
182+
disableBriefCard?: boolean;
181183
}
182184

183185
const getQueryBasedOnLogin = (
@@ -217,6 +219,8 @@ export default function MainFeedLayout({
217219
navChildren,
218220
isFinder,
219221
onNavTabClick,
222+
hideFeedActionButtons,
223+
disableBriefCard,
220224
}: MainFeedLayoutProps): ReactElement {
221225
useScrollRestoration();
222226
const { sortingEnabled, loadedSettings } = useContext(SettingsContext);
@@ -475,7 +479,7 @@ export default function MainFeedLayout({
475479
feedName: SharedFeedPage.Custom,
476480
},
477481
emptyScreen: propsByFeed[feedName]?.emptyScreen || <FeedEmptyScreen />,
478-
actionButtons: feedWithActions && (
482+
actionButtons: feedWithActions && !hideFeedActionButtons && (
479483
<SearchControlHeader
480484
algoState={[selectedAlgo, handleSelectedAlgoChange]}
481485
feedName={feedName}
@@ -554,7 +558,7 @@ export default function MainFeedLayout({
554558
query: config.query,
555559
variables,
556560
emptyScreen: propsByFeed[feedName]?.emptyScreen || <FeedEmptyScreen />,
557-
actionButtons: feedWithActions && (
561+
actionButtons: feedWithActions && !hideFeedActionButtons && (
558562
<SearchControlHeader
559563
algoState={[selectedAlgo, handleSelectedAlgoChange]}
560564
feedName={feedName}
@@ -589,6 +593,7 @@ export default function MainFeedLayout({
589593
isLaptop,
590594
loadedAlgo,
591595
tokenRefreshed,
596+
hideFeedActionButtons,
592597
]);
593598

594599
useEffect(() => {
@@ -720,6 +725,7 @@ export default function MainFeedLayout({
720725
<Feed
721726
{...feedProps}
722727
shortcuts={shortcuts}
728+
disableBriefCard={disableBriefCard}
723729
className={classNames(
724730
shouldUseListFeedLayout && !isFinder && 'laptop:px-6',
725731
)}

packages/webapp/components/onboarding/OnboardingV2.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -290,9 +290,13 @@ export const OnboardingV2 = (): ReactElement => {
290290
null,
291291
) as React.MutableRefObject<HTMLFormElement>;
292292

293-
const popularFeedNameValue = useMemo(
294-
() => ({ feedName: SharedFeedPage.Popular as const }),
295-
[],
293+
const showPersonalizedFeed = step === 'complete' && isLoggedIn;
294+
const activeFeedName = showPersonalizedFeed
295+
? SharedFeedPage.MyFeed
296+
: SharedFeedPage.Popular;
297+
const activeFeedNameValue = useMemo(
298+
() => ({ feedName: activeFeedName }),
299+
[activeFeedName],
296300
);
297301

298302
const openSignup = useCallback(
@@ -1316,8 +1320,13 @@ export const OnboardingV2 = (): ReactElement => {
13161320
>
13171321
<SearchProvider>
13181322
<FeedLayoutProvider>
1319-
<ActiveFeedNameContext.Provider value={popularFeedNameValue}>
1320-
<MainFeedLayout feedName="popular" isSearchOn={false} />
1323+
<ActiveFeedNameContext.Provider value={activeFeedNameValue}>
1324+
<MainFeedLayout
1325+
feedName={showPersonalizedFeed ? 'default' : 'popular'}
1326+
isSearchOn={false}
1327+
hideFeedActionButtons
1328+
disableBriefCard
1329+
/>
13211330
</ActiveFeedNameContext.Provider>
13221331
</FeedLayoutProvider>
13231332
</SearchProvider>

0 commit comments

Comments
 (0)