Skip to content

[PAYMENT 12/25 regression] [$250] Feature Request: Implement to use a 👍icon next to approved report preview #49847

Closed

Description

@m-natarajan

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: n/a
Reproducible in staging?: n/a
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @youssef-lr
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1727409632797909

Action Performed:

  1. Have an approved expense report
  2. Open the report

Expected Result:

Should have some indication with icon for the report is approved

Actual Result:

Implement to use a 👍:skin-tone-3: icon next to approved report preview, similar to how we display a checkmark next to paid reports.

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Screenshot 2024-07-12 at 18 10 44

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021839674890714199459
  • Upwork Job ID: 1839674890714199459
  • Last Price Increase: 2024-09-27
  • Automatic offers:
    • situchan | Reviewer | 104253538
    • Krishna2323 | Contributor | 104253539
    • DylanDylann | Contributor | 104775457
Issue OwnerCurrent Issue Owner: @mallenexpensify

Activity

  1. melvin-bot commented on Sep 27, 2024

    @melvin-bot

    Triggered auto assignment to @slafortune (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

  2. melvin-bot commented on Sep 27, 2024

    @melvin-bot

    ⚠️ It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time ⚠️

  3. melvin-bot commented on Sep 27, 2024

    @melvin-bot

    Triggered auto assignment to Design team member for new feature review - @dannymcclain (NewFeature)

  4. changed the title [-]Feature Request: Implement to use a :+1::skin-tone-3: icon next to approved report preview[/-] [+]Feature Request: Implement to use a :+1 icon next to approved report preview[/+] on Sep 27, 2024
  5. changed the title [-]Feature Request: Implement to use a :+1 icon next to approved report preview[/-] [+]Feature Request: Implement to use a 👍icon next to approved report preview[/+] on Sep 27, 2024
  6. dannymcclain commented on Sep 27, 2024

    @dannymcclain
    Contributor

    Adding some design specs here for easier implementation:

    • The icon we want to use is our thumbs up icon—it can be found here: App/assets/images/thumbs-up.svg
    • The layout should copy what we already do for paid reports, just instead of a green checkmark icon, we want to use an icons colored thumbs up icon

    Mockup:
    CleanShot 2024-09-27 at 08 44 10@2x

    cc @dubielzyk-expensify

  7. JmillsExpensify commented on Sep 27, 2024

    @JmillsExpensify
    Contributor

    Thanks @dannymcclain! That looks solid.

  8. Krishna2323 commented on Sep 27, 2024

    @Krishna2323
    Contributor

    Edited by proposal-police: This proposal was edited at 2024-09-27 14:42:56 UTC.

    Proposal


    Please re-state the problem that we are trying to solve in this issue.

    Feature Request: Implement to use a 👍icon next to approved report preview

    What is the root cause of that problem?

    New feature

    What changes do you think we should make in order to solve the problem?


    • First we need to use isReportApproved to check if the report is approved or not. We are already using isReportApproved in ReportPreview, so we don't need to create a new variable.

      App/src/libs/ReportUtils.ts

      Lines 892 to 901 in 0856034

      /**
      * Checks if the supplied report has been approved
      */
      function isReportApproved(reportOrID: OnyxInputOrEntry<Report> | string, parentReportAction: OnyxEntry<ReportAction> = undefined): boolean {
      const report = typeof reportOrID === 'string' ? ReportConnection.getAllReports()?.[`${ONYXKEYS.COLLECTION.REPORT}${reportOrID}`] ?? null : reportOrID;
      if (!report) {
      return parentReportAction?.childStateNum === CONST.REPORT.STATE_NUM.APPROVED && parentReportAction?.childStatusNum === CONST.REPORT.STATUS_NUM.APPROVED;
      }
      return report?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && report?.statusNum === CONST.REPORT.STATUS_NUM.APPROVED;
      }
    • Then we can use Expensicons.ThumbsUp with specified color code and use it just like we have implemented for settled report
      {iouSettled && (
      <Animated.View style={checkMarkStyle}>
      <Icon
      src={Expensicons.Checkmark}
      fill={theme.iconSuccessFill}
      />
      </Animated.View>
      )}
    • We can create a new animation or we can use the similar animation used for paid icon.
    • We also need to make similar code changes in MoneyReportView & MoneyRequestPreview. We can also consider using checks like !isPartialHold & !isBillSplit
      {isSettled && !isPartiallyPaid && (
      <View style={[styles.defaultCheckmarkWrapper, styles.mh2]}>
      <Icon
      src={Expensicons.Checkmark}
      fill={theme.success}
      />
      </View>
      )}

      {ReportUtils.isSettled(iouReport?.reportID) && !isPartialHold && !isBillSplit && (
      <View style={styles.defaultCheckmarkWrapper}>
      <Icon
      src={Expensicons.Checkmark}
      fill={theme.iconSuccessFill}
      />
      </View>
      )}

    What alternative solutions did you explore? (Optional)

    Result

  9. 85 remaining items

  10. Krishna2323 commented on Jan 13, 2025

    @Krishna2323
    Contributor

    @slafortune, the offer doesn't appear on my UpWork profile and I can't apply to the offer, maybe it's just created not sent to our profiles? This is my profile.

  11. slafortune commented on Jan 14, 2025

    @slafortune
    Contributor

    Alright - all fully paid now - Thanks everyone!!

  12. situchan commented on Oct 8, 2025

    @situchan
    Contributor

    Am I eligible for partial compensation?
    I fully reviewed proposals and 🎀 here and I did first review on PR before going parental leave.

  13. mallenexpensify commented on Oct 8, 2025

    @mallenexpensify
    Contributor

    Payment Summary

    Contributor: @Krishna2323 paid $125 via Upwork
    Contributor+: @DylanDylann paid $125 via NewDot
    Contributor+: @situchan paid $125 via NewDot

    @situchan can you please accept the job below? Please reply here and tag me once you have.
    https://www.upwork.com/jobs/~021976057036883323191

  14. situchan commented on Oct 9, 2025

    @situchan
    Contributor

    @mallenexpensify there's already accepted contract - #49847 (comment). Can we use this one?

  15. mallenexpensify commented on Oct 13, 2025

    @mallenexpensify
    Contributor

    @situchan paid but.. I paid $250 instead of $125. I requested a refund for $125. Please confirm here once the refund has been issues. Thx

  16. situchan commented on Oct 13, 2025

    @situchan
    Contributor

    How about paying $125 in #37152 instead of refund?

  17. luacmartins commented on Nov 7, 2025

    @luacmartins
    Contributor

    I'll reassign this to @mallenexpensify since it seems like he's handling this

  18. mallenexpensify commented on Nov 8, 2025

    @mallenexpensify
    Contributor

    woah.. blast fro the past! Thanks Carlos. We're all sorted here, closing

    Image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionExternalAdded to denote the issue can be worked on by a contributorNewFeatureSomething to build that is a new item.ReviewingHas a PR in reviewWeeklyKSv2

Type

No type

Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions