commit a4c8f33021f25909d5afe3d4520b2d2cccd5e809
parent 8c9c1ad86c52e90b749fd68a03493c630b7e71cf
Author: triesap <tyson@radroots.org>
Date: Fri, 19 Jun 2026 20:39:39 -0700
app: align order UI copy with agreements
- remove stale payment, refund, receipt, and delivery-progress locale rows
- render buyer and farmer order statuses as requested or agreed states
- keep pickup and delivery terms visible without post-agreement lifecycle wording
- update source guards for localized agreement workflow copy
Diffstat:
4 files changed, 26 insertions(+), 56 deletions(-)
diff --git a/crates/desktop/src/source_guards.rs b/crates/desktop/src/source_guards.rs
@@ -86,7 +86,6 @@ const ALLOWED_WINDOW_LITERALS: &[&str] = &[
"buyer-order-detail-back",
"buyer-order-keep-current",
"buyer-order-keep-order",
- "buyer-order-close-issue",
"buyer-order-repeat-demand",
"buyer-orders-retry-coordination",
"personal_orders",
@@ -1026,6 +1025,8 @@ const FORBIDDEN_HARDCODED_WORKFLOW_UI_LITERALS: &[&str] = &[
"Change",
"Fulfillment",
"Stock",
+ "Requested",
+ "Agreed",
"Payment",
"Source",
"Ordered",
diff --git a/crates/i18n/src/keys.rs b/crates/i18n/src/keys.rs
@@ -409,7 +409,6 @@ define_app_text_keys! {
OrdersDetailWindowLabel => "orders.detail.window.label",
OrdersDetailPickupLabel => "orders.detail.pickup.label",
OrdersDetailTotalLabel => "orders.detail.total.label",
- OrdersDetailPaymentLabel => "orders.detail.payment.label",
TradeValidationReceiptSectionLabel => "trade.validation.section.label",
TradeValidationReceiptEventLabel => "trade.validation.event.label",
TradeValidationReceiptTargetLabel => "trade.validation.target.label",
diff --git a/crates/i18n/src/lib.rs b/crates/i18n/src/lib.rs
@@ -487,7 +487,9 @@ mod tests {
"Needs action"
);
assert_eq!(app_text(AppTextKey::OrdersStatusDeclined), "Declined");
- assert_eq!(app_text(AppTextKey::OrdersStatusInHandoff), "In handoff");
+ assert_eq!(app_text(AppTextKey::OrdersStatusScheduled), "Agreed");
+ assert_eq!(app_text(AppTextKey::OrdersStatusInHandoff), "Agreed");
+ assert_eq!(app_text(AppTextKey::OrdersStatusCompleted), "Agreed");
assert_eq!(
app_text(AppTextKey::OrdersStatusNeedsReview),
"Needs review"
@@ -677,6 +679,7 @@ mod tests {
);
}
+ #[test]
fn validation_receipt_copy_covers_passive_evidence() {
for (key, expected) in [
(AppTextKey::TradeValidationReceiptSectionLabel, "Validation"),
@@ -757,15 +760,18 @@ mod tests {
app_text(AppTextKey::PersonalOrdersListTitle),
"Order history"
);
- assert_eq!(app_text(AppTextKey::PersonalOrdersStatusPlaced), "Placed");
+ assert_eq!(
+ app_text(AppTextKey::PersonalOrdersStatusPlaced),
+ "Requested"
+ );
assert_eq!(
app_text(AppTextKey::PersonalOrdersStatusScheduled),
- "Scheduled"
+ "Agreed"
);
- assert_eq!(app_text(AppTextKey::PersonalOrdersStatusReady), "Ready");
+ assert_eq!(app_text(AppTextKey::PersonalOrdersStatusReady), "Agreed");
assert_eq!(
app_text(AppTextKey::PersonalOrdersStatusCompleted),
- "Completed"
+ "Agreed"
);
assert_eq!(
app_text(AppTextKey::PersonalOrdersStatusDeclined),
@@ -785,7 +791,7 @@ mod tests {
);
assert_eq!(
app_text(AppTextKey::PersonalOrdersDetailFulfillmentLabel),
- "Fulfillment"
+ "Pickup/delivery"
);
assert_eq!(
app_text(AppTextKey::PersonalOrdersDetailNoteLabel),
diff --git a/i18n/locales/en/messages.json b/i18n/locales/en/messages.json
@@ -311,21 +311,13 @@
"personal.orders.detail.empty.body": "Select an order to review the details.",
"personal.orders.detail.farm.label": "Farm",
"personal.orders.detail.status.label": "Status",
- "personal.orders.detail.fulfillment.label": "Fulfillment",
+ "personal.orders.detail.fulfillment.label": "Pickup/delivery",
"personal.orders.detail.total.label": "Total",
- "personal.orders.detail.payment.label": "Payment",
"personal.orders.detail.note.label": "Order note",
- "personal.orders.detail.receipt.label": "Receipt",
"personal.orders.detail.items.title": "Items",
"personal.orders.action.cancel": "Cancel order",
"personal.orders.action.accept_change": "Accept change",
"personal.orders.action.keep_order": "Keep order",
- "personal.orders.action.mark_received": "Mark received",
- "personal.orders.action.report_issue": "Report issue",
- "personal.orders.action.send_receipt_issue": "Send update",
- "personal.orders.action.close_receipt_issue": "Close",
- "personal.orders.receipt.issue.label": "Note",
- "personal.orders.receipt.issue.placeholder": "What needs review",
"personal.orders.repeat_demand.title": "Reorder",
"personal.orders.repeat_demand.action.eligible": "Reorder",
"personal.orders.repeat_demand.action.partial": "Reorder available items",
@@ -335,16 +327,15 @@
"personal.orders.coordination_retry.title": "Finish sharing saved orders",
"personal.orders.coordination_retry.body": "A saved order still needs to be shared with your order tools.",
"personal.orders.coordination_retry.action": "Try sharing again",
- "personal.orders.status.placed": "Placed",
- "personal.orders.status.scheduled": "Scheduled",
- "personal.orders.status.ready": "Ready",
- "personal.orders.status.completed": "Completed",
+ "personal.orders.status.placed": "Requested",
+ "personal.orders.status.scheduled": "Agreed",
+ "personal.orders.status.ready": "Agreed",
+ "personal.orders.status.completed": "Agreed",
"personal.orders.status.declined": "Declined",
- "personal.orders.status.refunded": "Refunded",
"personal.orders.status.needs_review": "Needs review",
"personal.cart.surface.body": "Review items from one farm before placing the order.",
"personal.order_summary.title": "Order summary",
- "personal.fulfillment.title": "Fulfillment",
+ "personal.fulfillment.title": "Pickup/delivery",
"personal.cart.remove_line.action": "Remove",
"personal.cart.review_order.action": "Review order",
"personal.cart.line.quantity.label": "Quantity",
@@ -374,11 +365,10 @@
"orders.summary.total": "Total orders",
"orders.filter.all": "All",
"orders.status.needs_action": "Needs action",
- "orders.status.scheduled": "Scheduled",
- "orders.status.in_handoff": "In handoff",
- "orders.status.completed": "Completed",
+ "orders.status.scheduled": "Agreed",
+ "orders.status.in_handoff": "Agreed",
+ "orders.status.completed": "Agreed",
"orders.status.declined": "Declined",
- "orders.status.refunded": "Refunded",
"orders.status.needs_review": "Needs review",
"orders.table.title": "Order queue",
"orders.column.order": "Order",
@@ -387,25 +377,18 @@
"orders.column.pickup": "Pickup",
"orders.column.action": "Action",
"orders.action.review": "Review",
- "orders.action.preparing": "Preparing",
- "orders.action.ready_for_pickup": "Ready for pickup",
- "orders.action.out_for_delivery": "Out for delivery",
- "orders.action.mark_delivered": "Mark delivered",
- "orders.action.cancel_fulfillment": "Cancel fulfillment",
- "orders.action.update_fulfillment": "Update",
"orders.empty.title": "No orders yet",
"orders.empty.body": "Orders will appear here when customers place them.",
"orders.empty.needs_action.title": "Nothing needs action",
- "orders.empty.needs_action.body": "Current orders are already scheduled or packed.",
+ "orders.empty.needs_action.body": "Current orders are already reviewed or agreed.",
"orders.detail.title": "Order detail",
- "orders.detail.empty.body": "Select an order to review the items and next step.",
+ "orders.detail.empty.body": "Select an order to review the items and agreement.",
"orders.detail.items.title": "Items",
"orders.detail.customer.label": "Customer",
"orders.detail.status.label": "Status",
- "orders.detail.window.label": "Fulfillment window",
+ "orders.detail.window.label": "Pickup/delivery window",
"orders.detail.pickup.label": "Pickup location",
"orders.detail.total.label": "Total",
- "orders.detail.payment.label": "Payment",
"trade.validation.section.label": "Validation",
"trade.validation.event.label": "Receipt",
"trade.validation.target.label": "Target",
@@ -427,8 +410,6 @@
"orders.recovery.section.title": "Recovery",
"orders.recovery.missed_pickup.title": "Missed pickup",
"orders.recovery.missed_pickup.body": "Use this when a buyer did not collect the order as planned.",
- "orders.recovery.refund_follow_up.title": "Payment status",
- "orders.recovery.refund_follow_up.body": "Track the recorded payment state for this order.",
"orders.recovery.last_updated.label": "Last updated",
"orders.recovery.action.open_follow_up": "Open follow-up",
"orders.recovery.action.start_review": "Start review",
@@ -439,38 +420,21 @@
"orders.recovery.state.resolved": "Resolved",
"trade.workflow.axis.agreement": "Agreement",
"trade.workflow.axis.revision": "Change",
- "trade.workflow.axis.fulfillment": "Fulfillment",
"trade.workflow.axis.inventory": "Stock",
- "trade.workflow.axis.payment": "Payment",
- "trade.workflow.axis.receipt": "Receipt",
"trade.workflow.axis.source": "Source",
"trade.workflow.agreement.ordered": "Ordered",
"trade.workflow.agreement.confirmed": "Confirmed",
"trade.workflow.agreement.declined": "Declined",
"trade.workflow.agreement.cancelled": "Cancelled",
- "trade.workflow.agreement.completed": "Completed",
"trade.workflow.agreement.needs_review": "Needs review",
"trade.workflow.revision.none": "No change",
"trade.workflow.revision.change_proposed": "Change proposed",
"trade.workflow.revision.updated": "Updated",
"trade.workflow.revision.kept_as_placed": "Kept as placed",
- "trade.workflow.fulfillment.confirmed": "Confirmed",
- "trade.workflow.fulfillment.preparing": "Preparing",
- "trade.workflow.fulfillment.ready_for_pickup": "Ready for pickup",
- "trade.workflow.fulfillment.out_for_delivery": "Out for delivery",
- "trade.workflow.fulfillment.delivered": "Delivered",
- "trade.workflow.fulfillment.cancelled": "Cancelled",
"trade.workflow.inventory.available": "Available",
"trade.workflow.inventory.reserved": "Reserved",
"trade.workflow.inventory.sold_out": "Sold out",
"trade.workflow.inventory.needs_review": "Needs review",
- "trade.workflow.payment.not_recorded": "Not recorded",
- "trade.workflow.payment.pending": "Pending",
- "trade.workflow.payment.recorded": "Recorded",
- "trade.workflow.payment.settled": "Settled",
- "trade.workflow.payment.needs_review": "Needs review",
- "trade.workflow.receipt.received": "Received",
- "trade.workflow.receipt.needs_review": "Needs review",
"trade.workflow.provenance.app": "App",
"trade.workflow.provenance.cli": "CLI",
"trade.workflow.provenance.relay": "Relay",