Skip to content

#3944 filtering reimbursements by project#4156

Open
maddynenn wants to merge 9 commits intodevelopfrom
#3944-filter-reimbursements-by-project
Open

#3944 filtering reimbursements by project#4156
maddynenn wants to merge 9 commits intodevelopfrom
#3944-filter-reimbursements-by-project

Conversation

@maddynenn
Copy link
Copy Markdown
Contributor

@maddynenn maddynenn commented Apr 15, 2026

Changes

Added a Filter by Project section to the Reimbursement requests filter sidebar

Screenshots

image image image

To Do

Any remaining things that need to get done

  • item 1
  • ...

Checklist

It can be helpful to check the Checks and Files changed tabs.
Please review the contributor guide and reach out to your Tech Lead if anything is unclear.
Please request reviewers and ping on slack only after you've gone through this whole checklist.

  • All commits are tagged with the ticket number
  • No linting errors / newline at end of file warnings
  • All code follows repository-configured prettier formatting
  • No merge conflicts
  • All checks passing
  • Screenshots of UI changes (see Screenshots section)
  • Remove any non-applicable sections of this template
  • Assign the PR to yourself
  • No yarn.lock changes (unless dependencies have changed)
  • Request reviewers & ping on Slack
  • PR is linked to the ticket (fill in the closes line below)

Closes #3944

@maddynenn maddynenn self-assigned this Apr 15, 2026
Copy link
Copy Markdown
Contributor

@cielbellerose cielbellerose left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

filtering is perfect, this looks so good! last thing - in reimbursementrequestinfo could we add project to the search bar filtering as well

@maddynenn maddynenn requested a review from cielbellerose April 16, 2026 22:16
cielbellerose
cielbellerose previously approved these changes Apr 17, 2026
Copy link
Copy Markdown
Contributor

@cielbellerose cielbellerose left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

isLoading: allProjectsIsLoading,
isError: allProjectsIsError,
error: allProjectsError
} = useAllProjects();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add the error check with the others

/>
{allProjectsIsLoading ? (
<LoadingIndicator />
) : allProjectsIsError ? (
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add the error check and loading check with the other error checks


const matchesProject = request.reimbursementProducts.some((product) => {
const reason = product.reimbursementProductReason;
if ((reason as WBSElementData).wbsNum) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use a type guard instead of casting like this:

if ('wbsNum' in reason) {
  reason.wbsNum
  reason.wbsName
}

this should remove all as WbsElementData calls

@maddynenn maddynenn requested a review from wavehassman April 20, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Maintenance] - Filter Reimbursements by Project

3 participants