Skip to content

Requested Changes + New Lil Features#200

Open
Yurika-Kan wants to merge 18 commits into
mainfrom
yk/small-fixes
Open

Requested Changes + New Lil Features#200
Yurika-Kan wants to merge 18 commits into
mainfrom
yk/small-fixes

Conversation

@Yurika-Kan

@Yurika-Kan Yurika-Kan commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

ℹ️ Issue

SSF-236

📝 Description

Changes:

Admin Donation Stats Page wording:

  • Shipping Cost → Shipping/Delivery Expenses
  • Fair Market Value of Food Donation
  • % of Food Rescue → % Food Rescue
  • new column: Lbs Food Rescue
  • new column: Shipping Paid by SSF

Admin Donation Management

  • add label to donation if it is the initial donation of a recurring reminder
  • show upcoming reminder email date schedule
image

Updated Wording:
image

FM Confirm Delivery Action Modal - new boolean checkbox determines if shipping cost was paid by SSF
Screenshot 2026-07-04 at 6 24 50 PM
Screenshot 2026-07-04 at 6 22 06 PM

Admin Dashboard Applications Bug:

  • clicking a pending pantry application from the admin dashboard now opens the application details view instead of a pantry-management view keyed by the wrong id

FM Submit Donation Bug:

  • every FM donation submit 403'd because the @CheckOwnership guard read foodManufacturerId from the request body, but nothing ever sent it
  • frontend now sends foodManufacturerId on CreateDonationDto, the @CheckOwnership({ idParam: 'foodManufacturerId', idSource: 'body' })

Login & Sign up Page:

  • frontend adjustments to make the text more visible

Pantry/FM Application Form:

  • remove last checkbox: "By submitting this form, you agree to receive automated emails..."

  • auth gated GET /volunteers/:id/pantries to also allow ADMIN

✔️ Verification

  • wrote & ran tests
  • frontend tested pages

🏕️ (Optional) Future Work / Notes

Copilot AI review requested due to automatic review settings June 27, 2026 20:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Yurika-Kan Yurika-Kan changed the title Requested Small Changes Requested Changes + New Lil Features Jun 28, 2026
@dburkhart07 dburkhart07 self-assigned this Jul 4, 2026
@Yurika-Kan Yurika-Kan requested a review from Juwang110 July 4, 2026 22:55
Yurika-Kan and others added 6 commits July 4, 2026 18:57
Add a shippingCostPaidBySsf flag to orders (migration + entity + bulk
tracking DTO) and surface it through manufacturer donation details and
pantry stats. SSF-paid shipping is now excluded from totalShippingCost
and reported separately as totalShippingCostPaidBySsf. Also adds the
foodRescueLbs pantry stat.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add foodManufacturerId to CreateDonationDto and pass it from the new
donation and resubmit donation forms. Also tweaks the fair-market-value
column header copy on the new donation form.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Display the recurring-reminders indicator and the list of upcoming
reminder email dates for recurring donations in the donation details
modal.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Route pending pantry applications to PANTRY_APPLICATION_DETAILS
(keyed by applicationId) instead of PANTRY_MANAGEMENT_DETAILS, which
expected a pantryId and was being given an application id.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add Role.ADMIN to the /volunteers/:id/pantries endpoint so admins can
read a volunteer's assigned pantries.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@dburkhart07 dburkhart07 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

3 small things. also getting some errors with closed donations in the adminOrderManagement page i think. since theres a lot of changes here, can you merge main so that we can smoke test all these pages in full?

Comment thread apps/backend/src/donations/dtos/create-donation.dto.ts Outdated
Comment thread apps/backend/src/donations/dtos/create-donation.dto.ts Outdated
Comment thread apps/frontend/src/components/forms/donationDetailsModal.tsx Outdated
Yurika-Kan and others added 9 commits July 5, 2026 18:45
- Remove foodManufacturerId from CreateDonationDto and its create-endpoint
  CheckOwnership. donations.service.create resolves the manufacturer from
  the authenticated user (req.user.id), so the body id and the ownership
  check were dead weight; @roles(FOODMANUFACTURER) already gates it. Also
  collapses a duplicate @roles decorator on the create handler.
- Drop foodManufacturerId from the frontend CreateDonationDto type and the
  new/resubmit donation forms and their container props.
- Replace the read-only "Make Donation Recurring Reminders" checkbox in the
  donation details modal with a bold "Recurring Donation" label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts:
#	apps/frontend/src/components/forms/donationDetailsModal.tsx
#	apps/frontend/src/components/forms/newDonationFormModal.tsx
Follows the DTO field removal so donations.service.spec compiles.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Prettier cleanup of the over-indented recurrence lines left behind by
dropping foodManufacturerId from CreateDonationDto.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Yurika-Kan Yurika-Kan requested a review from dburkhart07 July 6, 2026 23:20

@dburkhart07 dburkhart07 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

few things. see slack as well for other comments

application.type === 'pantry'
? ROUTES.PANTRY_MANAGEMENT_DETAILS.replace(
':pantryId',
? ROUTES.PANTRY_APPLICATION_DETAILS.replace(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

just putting this here, i think justin is going to fix this bug in his pr

@@ -253,209 +265,219 @@ const RequestManagement: React.FC<RequestManagementProps> = ({
Sort

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

imo, this and the filter buttons shouldnt be available in the empty state i think. i know this is another big ask, but can we make sure this applies to all the other pages with certain filters/searches?

}));
};

const handleSubmit = async () => {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

bug i noticed: if we have a shipping cost filled in and a tracking link not filled in, and we go into the form and swap the 2 (fill in a tracking link, but remove the shipping cost), the order goes away. we should make it so that any change at all is updated.

orderFormData[order.orderId];
const originalTracking = order.trackingLink ?? '';
const originalCost = order.shippingCost?.toString() ?? '';
// The paid-by-SSF flag is only meaningful alongside a shipping cost,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

in this case, i feel like we should disable this checkbox until shipping cost has a value

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.

4 participants