Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NoQA] Revert "Show the Copilot details if a delegate is set in a report action" #21240

Merged
merged 1 commit into from
Jun 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 12 additions & 31 deletions src/components/UserDetailsTooltip/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,49 +9,33 @@ import Tooltip from '../Tooltip';
import {propTypes, defaultProps} from './userDetailsTooltipPropTypes';
import styles from '../../styles/styles';
import ONYXKEYS from '../../ONYXKEYS';
import withLocalize from '../withLocalize';
import compose from '../../libs/compose';
import * as UserUtils from '../../libs/UserUtils';

function UserDetailsTooltip(props) {
const userDetails = lodashGet(props.personalDetailsList, props.accountID, props.fallbackUserDetails);
let userDisplayName = userDetails.displayName ? userDetails.displayName.trim() : '';
let userLogin = (userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) ? Str.removeSMSDomain(userDetails.login) : '';
let userAvatar = userDetails.avatar;
let userAccountID = props.accountID;

// We replace the actor's email, name, and avatar with the Copilot manually for now. This will be improved upon when
// the Copilot feature is implemented.
if (props.delegateAccountID) {
const delegateUserDetails = lodashGet(props.personalDetailsList, props.delegateAccountID, {});
const delegateUserDisplayName = delegateUserDetails.displayName ? delegateUserDetails.displayName.trim() : '';
userDisplayName = `${delegateUserDisplayName} (${props.translate('reportAction.asCopilot')} ${userDisplayName})`;
userLogin = delegateUserDetails.login;
userAvatar = delegateUserDetails.avatar;
userAccountID = props.delegateAccountID;
}

const renderTooltipContent = useCallback(
() => (
<View style={[styles.alignItemsCenter, styles.ph2, styles.pv2]}>
<View style={styles.emptyAvatar}>
<Avatar
containerStyles={[styles.actionAvatar]}
source={UserUtils.getAvatar(userAvatar, userAccountID)}
source={UserUtils.getAvatar(userDetails.avatar, userDetails.accountID)}
/>
</View>

<Text style={[styles.mt2, styles.textMicroBold, styles.textReactionSenders, styles.textAlignCenter]}>{userDisplayName}</Text>
<Text style={[styles.mt2, styles.textMicroBold, styles.textReactionSenders, styles.textAlignCenter]}>
{String(userDetails.displayName).trim() ? userDetails.displayName : ''}
</Text>

<Text style={[styles.textMicro, styles.fontColorReactionLabel]}>
{(userLogin || '').trim() && !_.isEqual(userLogin, userDisplayName) ? Str.removeSMSDomain(userLogin) : ''}
{String(userDetails.login || '').trim() && !_.isEqual(userDetails.login, userDetails.displayName) ? Str.removeSMSDomain(userDetails.login) : ''}
</Text>
</View>
),
[userAvatar, userDisplayName, userLogin, userAccountID],
[userDetails.avatar, userDetails.displayName, userDetails.login, userDetails.accountID],
);

if (!userDisplayName && !userLogin) {
if (!userDetails.displayName && !userDetails.login) {
return props.children;
}

Expand All @@ -62,11 +46,8 @@ UserDetailsTooltip.propTypes = propTypes;
UserDetailsTooltip.defaultProps = defaultProps;
UserDetailsTooltip.displayName = 'UserDetailsTooltip';

export default compose(
withLocalize,
withOnyx({
personalDetailsList: {
key: ONYXKEYS.PERSONAL_DETAILS_LIST,
},
}),
)(UserDetailsTooltip);
export default withOnyx({
personalDetailsList: {
key: ONYXKEYS.PERSONAL_DETAILS_LIST,
},
})(UserDetailsTooltip);
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import PropTypes from 'prop-types';
import personalDetailsPropType from '../../pages/personalDetailsPropType';
import {withLocalizePropTypes} from '../withLocalize';

const propTypes = {
/** User's Account ID */
Expand All @@ -18,19 +17,12 @@ const propTypes = {
children: PropTypes.node.isRequired,
/** List of personalDetails (keyed by accountID) */
personalDetailsList: PropTypes.objectOf(personalDetailsPropType),

/** The accountID of the copilot who took this action on behalf of the user */
delegateAccountID: PropTypes.number,

/** Localization props */
...withLocalizePropTypes,
};

const defaultProps = {
accountID: '',
fallbackUserDetails: {displayName: '', login: '', avatar: ''},
personalDetailsList: {},
delegateAccountID: 0,
};

export {propTypes, defaultProps};
3 changes: 0 additions & 3 deletions src/languages/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -299,9 +299,6 @@ export default {
sayHello: 'Say hello!',
usePlusButton: '\n\nYou can also use the + button below to send or request money!',
},
reportAction: {
asCopilot: 'as copilot for',
},
mentionSuggestions: {
hereAlternateText: 'Notify everyone online in this room',
},
Expand Down
3 changes: 0 additions & 3 deletions src/languages/es.js
Original file line number Diff line number Diff line change
Expand Up @@ -298,9 +298,6 @@ export default {
sayHello: '¡Saluda!',
usePlusButton: '\n\n¡También puedes usar el botón + de abajo para enviar o pedir dinero!',
},
reportAction: {
asCopilot: 'como copiloto de',
},
mentionSuggestions: {
hereAlternateText: 'Notificar a todos los que estén en linea de esta sala',
},
Expand Down
9 changes: 1 addition & 8 deletions src/pages/home/report/ReportActionItemFragment.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,6 @@ const propTypes = {
// Additional styles to add after local styles
style: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]),

/** The accountID of the copilot who took this action on behalf of the user */
delegateAccountID: PropTypes.number,

...windowDimensionsPropTypes,

/** localization props */
Expand All @@ -78,7 +75,6 @@ const defaultProps = {
isSingleLine: false,
source: '',
style: [],
delegateAccountID: 0,
};

function ReportActionItemFragment(props) {
Expand Down Expand Up @@ -149,10 +145,7 @@ function ReportActionItemFragment(props) {
}
case 'TEXT':
return (
<UserDetailsTooltip
accountID={props.accountID}
delegateAccountID={props.delegateAccountID}
>
<UserDetailsTooltip accountID={props.accountID}>
<Text
numberOfLines={props.isSingleLine ? 1 : undefined}
style={[styles.chatItemMessageHeaderSender, props.isSingleLine ? styles.pre : styles.preWrap]}
Expand Down
25 changes: 5 additions & 20 deletions src/pages/home/report/ReportActionItemSingle.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,19 +69,8 @@ const showUserDetails = (accountID) => {
function ReportActionItemSingle(props) {
const actorEmail = lodashGet(props.action, 'actorEmail', '').replace(CONST.REGEX.MERGED_ACCOUNT_PREFIX, '');
const actorAccountID = props.action.actorAccountID;
let {avatar, displayName} = props.personalDetailsList[actorAccountID] || {};
const {pendingFields} = props.personalDetailsList[actorAccountID] || {};

// We replace the actor's email, name, and avatar with the Copilot manually for now. This will be improved upon when
// the Copilot feature is implemented.
if (props.action.delegateAccountID) {
const delegateDetails = props.personalDetailsList[props.action.delegateAccountID];
const delegateDisplayName = delegateDetails.displayName;
displayName = `${delegateDisplayName} (${props.translate('reportAction.asCopilot')} ${displayName})`;
avatar = delegateDetails.avatar;
}

const avatarSource = UserUtils.getAvatar(avatar, props.action.delegateAccountID ? props.action.delegateAccountID : actorAccountID);
const {avatar, displayName, pendingFields} = props.personalDetailsList[actorAccountID] || {};
const avatarSource = UserUtils.getAvatar(avatar, actorAccountID);

// Since the display name for a report action message is delivered with the report history as an array of fragments
// we'll need to take the displayName from personal details and have it be in the same format for now. Eventually,
Expand All @@ -101,7 +90,7 @@ function ReportActionItemSingle(props) {
style={[styles.alignSelfStart, styles.mr3]}
onPressIn={ControlSelection.block}
onPressOut={ControlSelection.unblock}
onPress={() => showUserDetails(props.action.delegateAccountID ? props.action.delegateAccountID : actorAccountID)}
onPress={() => showUserDetails(actorAccountID)}
accessibilityLabel={actorEmail}
accessibilityRole="button"
>
Expand All @@ -115,10 +104,7 @@ function ReportActionItemSingle(props) {
noMargin
/>
) : (
<UserDetailsTooltip
accountID={actorAccountID}
delegateAccountID={props.action.delegateAccountID}
>
<UserDetailsTooltip accountID={actorAccountID}>
<View>
<Avatar
containerStyles={[styles.actionAvatar]}
Expand All @@ -136,7 +122,7 @@ function ReportActionItemSingle(props) {
style={[styles.flexShrink1, styles.mr1]}
onPressIn={ControlSelection.block}
onPressOut={ControlSelection.unblock}
onPress={() => showUserDetails(props.action.delegateAccountID ? props.action.delegateAccountID : actorAccountID)}
onPress={() => showUserDetails(actorAccountID)}
accessibilityLabel={actorEmail}
accessibilityRole="button"
>
Expand All @@ -147,7 +133,6 @@ function ReportActionItemSingle(props) {
fragment={fragment}
isAttachment={props.action.isAttachment}
isLoading={props.action.isLoading}
delegateAccountID={props.action.delegateAccountID}
isSingleLine
/>
))}
Expand Down