diff --git a/shared/interfaces/Catcrafts.Shared-Views.cppm b/shared/interfaces/Catcrafts.Shared-Views.cppm index a1ce16f..d206738 100644 --- a/shared/interfaces/Catcrafts.Shared-Views.cppm +++ b/shared/interfaces/Catcrafts.Shared-Views.cppm @@ -1399,8 +1399,15 @@ export RenderedPage RenderOrderStatus(const OrderView& o, std::string_view indic // No badge when paid: the confirmation notice below carries the state, // and two green "paid" pills stacked read as a rendering bug. + // + // An awaiting order whose payment has been SEEN in flight says so in the + // badge itself, not only in the note below: the badge is where a buyer + // who just paid looks first, and "awaiting payment" there reads as "your + // money did not arrive" no matter what a paragraph underneath explains. + const bool inFlight = awaiting && o.cryptoPay && o.cryptoPay->seen; SafeHtml statusLine = - awaiting ? Raw(R"(awaiting payment)") + inFlight ? Raw(R"(payment detected, awaiting network confirmation)") + : awaiting ? Raw(R"(awaiting payment)") : o.status == "paid" ? SafeHtml{} : o.status == "shipped" ? Raw(R"(shipped)") : Raw(R"(cancelled)"); @@ -1458,16 +1465,9 @@ export RenderedPage RenderOrderStatus(const OrderView& o, std::string_view indic R"(info@catcrafts.net )" R"(and it will be settled by hand.
)"); - // The in-flight acknowledgement: the rail has SEEN the full amount on - // the network, finality is the only thing missing. Rendered first, - // because a buyer who just paid scans for exactly this sentence. - const SafeHtml seenLine = pay.seen && pay.minutesLeft > 0 - ? Raw(R"(Your payment is on its way. )" - R"(It is visible on the network and is being finalized: this )" - R"(usually takes 10 to 25 minutes, and this page will confirm )" - R"(it automatically.
)") - : SafeHtml{}; - + // The in-flight state renders as the status badge up top + // ("confirming payment"), where a buyer who just paid looks first; + // this block keeps only the standing instructions. SafeHtml indicativeLine = indicative.empty() ? SafeHtml{} : Format( R"({}, indicative only. The charge is )" R"(the euro amount above.
)", @@ -1476,7 +1476,6 @@ export RenderedPage RenderOrderStatus(const OrderView& o, std::string_view indic payBlock = Format( R"(Send {} EURC to this address. One )" R"(network, one payment:
)" R"({}