fix(claims): handle single Offer object in fulfills field

Updated extractOfferFulfillment to support both array and single object
cases for the fulfills field. Previously only handled array format,
now also checks if fulfills is a single Offer object with @type "Offer".
This commit is contained in:
Jose Olarte III
2025-09-01 21:06:48 +08:00
parent e5ad71505c
commit d87f44b75d

View File

@@ -739,13 +739,18 @@ export default class ClaimView extends Vue {
} }
const fulfills = this.detailsForGive.fullClaim.fulfills; const fulfills = this.detailsForGive.fullClaim.fulfills;
if (!Array.isArray(fulfills)) {
this.detailsForGiveOfferFulfillment = null; // Handle both array and single object cases
return; let offerFulfill = null;
if (Array.isArray(fulfills)) {
// Find the Offer in the fulfills array
offerFulfill = fulfills.find((item) => item["@type"] === "Offer");
} else if (fulfills["@type"] === "Offer") {
// fulfills is a single Offer object
offerFulfill = fulfills;
} }
// Find the Offer in the fulfills array
const offerFulfill = fulfills.find((item) => item["@type"] === "Offer");
if (offerFulfill) { if (offerFulfill) {
this.detailsForGiveOfferFulfillment = { this.detailsForGiveOfferFulfillment = {
offerHandleId: offerFulfill.identifier, offerHandleId: offerFulfill.identifier,