Skip to content

Commit

Permalink
cleanup: remove DetailsPage
Browse files Browse the repository at this point in the history
  • Loading branch information
kosmydel committed May 20, 2024
1 parent 49c03aa commit d26e893
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 213 deletions.
10 changes: 5 additions & 5 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ const ROUTES = {
getRoute: (reportID: string, reportActionID: string) => `flag/${reportID}/${reportActionID}` as const,
},
CHAT_FINDER: 'chat-finder',
DETAILS: {
route: 'details',
getRoute: (login: string) => `details?login=${encodeURIComponent(login)}` as const,
},
PROFILE: {
route: 'a/:accountID',
getRoute: (accountID: string | number, backTo?: string) => getUrlWithBackToParam(`a/${accountID}`, backTo),
getRoute: (accountID?: string | number, login?: string, backTo?: string) => {
const baseRoute = getUrlWithBackToParam(`a/${accountID}`, backTo);
const loginParam = login ? `?login=${encodeURIComponent(login)}` : '';
return `${baseRoute}${loginParam}` as const;
},
},
PROFILE_AVATAR: {
route: 'a/:accountID/avatar',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ function MentionUserRenderer({style, tnode, TDefaultRenderer, currentUserPersona
asMutable(tnodeClone).data = tnodeClone.data.replace(mentionDisplayText, Str.removeSMSDomain(getShortMentionIfFound(mentionDisplayText, htmlAttributeAccountID)));

accountID = PersonalDetailsUtils.getAccountIDsByLogins([mentionDisplayText])?.[0];
navigationRoute = ROUTES.DETAILS.getRoute(mentionDisplayText);
navigationRoute = ROUTES.PROFILE.getRoute(undefined, mentionDisplayText);
mentionDisplayText = Str.removeSMSDomain(mentionDisplayText);
} else {
// If neither an account ID or email is provided, don't render anything
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import {createStackNavigator} from '@react-navigation/stack';
import React from 'react';
import type {
AddPersonalBankAccountNavigatorParamList,
DetailsNavigatorParamList,
EditRequestNavigatorParamList,
EnablePaymentsNavigatorParamList,
FlagCommentNavigatorParamList,
Expand Down Expand Up @@ -103,10 +102,6 @@ const SplitDetailsModalStackNavigator = createModalStackNavigator<SplitDetailsNa
[SCREENS.SPLIT_DETAILS.ROOT]: () => require('../../../../pages/iou/SplitBillDetailsPage').default as React.ComponentType,
});

const DetailsModalStackNavigator = createModalStackNavigator<DetailsNavigatorParamList>({
[SCREENS.DETAILS_ROOT]: () => require('../../../../pages/DetailsPage').default as React.ComponentType,
});

const ProfileModalStackNavigator = createModalStackNavigator<ProfileNavigatorParamList>({
[SCREENS.PROFILE_ROOT]: () => require('../../../../pages/ProfilePage').default as React.ComponentType,
});
Expand Down Expand Up @@ -371,7 +366,6 @@ const SearchReportModalStackNavigator = createModalStackNavigator<SearchReportPa

export {
AddPersonalBankAccountModalStackNavigator,
DetailsModalStackNavigator,
EditRequestStackNavigator,
EnablePaymentsStackNavigator,
FlagCommentStackNavigator,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,6 @@ function RightModalNavigator({navigation}: RightModalNavigatorProps) {
name={SCREENS.RIGHT_MODAL.NEW_CHAT}
component={ModalStackNavigators.NewChatModalStackNavigator}
/>
<Stack.Screen
name={SCREENS.RIGHT_MODAL.DETAILS}
component={ModalStackNavigators.DetailsModalStackNavigator}
/>
<Stack.Screen
name={SCREENS.RIGHT_MODAL.PROFILE}
component={ModalStackNavigators.ProfileModalStackNavigator}
Expand Down
5 changes: 0 additions & 5 deletions src/libs/Navigation/linkingConfig/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -585,11 +585,6 @@ const config: LinkingOptions<RootStackParamList>['config'] = {
[SCREENS.I_AM_A_TEACHER]: ROUTES.I_AM_A_TEACHER,
},
},
[SCREENS.RIGHT_MODAL.DETAILS]: {
screens: {
[SCREENS.DETAILS_ROOT]: ROUTES.DETAILS.route,
},
},
[SCREENS.RIGHT_MODAL.PROFILE]: {
screens: {
[SCREENS.PROFILE_ROOT]: ROUTES.PROFILE.route,
Expand Down
1 change: 1 addition & 0 deletions src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,7 @@ type ProfileNavigatorParamList = {
[SCREENS.PROFILE_ROOT]: {
accountID: string;
reportID: string;
login?: string;
backTo: Routes;
};
};
Expand Down
189 changes: 0 additions & 189 deletions src/pages/DetailsPage.tsx

This file was deleted.

23 changes: 20 additions & 3 deletions src/pages/ProfilePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,24 @@ function ProfilePage({route}: ProfilePageProps) {
const {translate, formatPhoneNumber} = useLocalize();
const accountID = Number(route.params?.accountID ?? 0);
const isCurrentUser = session?.accountID === accountID;
const details: PersonalDetails | EmptyObject = personalDetails?.[accountID] ?? (ValidationUtils.isValidAccountRoute(accountID) ? {} : {accountID: 0, avatar: ''});

const details = useMemo((): PersonalDetails | EmptyObject => {
if (personalDetails?.[accountID]) {
return personalDetails?.[accountID] ?? {};
}
if (ValidationUtils.isValidAccountRoute(accountID)) {
return {};
}
if (!route.params.login) {
return {accountID: 0, avatar: ''};
}
const foundDetails = Object.values(personalDetails ?? {}).find((personalDetail) => personalDetail?.login === route.params.login?.toLowerCase());
if (foundDetails) {
return foundDetails;
}
const optimisticAccountID = UserUtils.generateAccountID(route.params.login);
return {accountID: optimisticAccountID, login: route.params.login, displayName: route.params.login, avatar: UserUtils.getDefaultAvatar(optimisticAccountID)};
}, [accountID, personalDetails, route.params.login]);

const displayName = PersonalDetailsUtils.getDisplayNameOrDefault(details, undefined, undefined, isCurrentUser);
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
Expand Down Expand Up @@ -123,7 +140,7 @@ function ProfilePage({route}: ProfilePageProps) {
const isLoading = Boolean(personalDetailsMetadata?.[accountID]?.isLoading) || isEmptyObject(details);

// If the API returns an error for some reason there won't be any details and isLoading will get set to false, so we want to show a blocking screen
const shouldShowBlockingView = !hasMinimumDetails && !isLoading;
const shouldShowBlockingView = !hasMinimumDetails && !isLoading && !login;

const statusEmojiCode = details?.status?.emojiCode ?? '';
const statusText = details?.status?.text ?? '';
Expand Down Expand Up @@ -165,7 +182,7 @@ function ProfilePage({route}: ProfilePageProps) {
onBackButtonPress={() => Navigation.goBack(navigateBackTo)}
/>
<View style={[styles.containerWithSpaceBetween, styles.pointerEventsBoxNone]}>
{hasMinimumDetails && (
{true && (
<ScrollView>
<View style={[styles.avatarSectionWrapper, styles.pb0]}>
<PressableWithoutFocus
Expand Down

0 comments on commit d26e893

Please sign in to comment.