feat(mall): live points mall with address-aware redemption
The points page loads the published catalog and the customer's live points through the shared client, redeems with a chosen saved address, refreshes the balance, and lists the customer's redemption history with its fulfilment state. The INTEGRAL_PRODUCTS and USER_STATS imports leave the page; the fixed-data adapter still serves the points domain as the rollback path.
This commit is contained in:
@@ -37,6 +37,24 @@ export default {
|
||||
login: "Sign in",
|
||||
register: "Create account",
|
||||
noIntegralProducts: "No rewards available right now.",
|
||||
addressLabel: "Ship to",
|
||||
noAddress: "No saved address.",
|
||||
addAddress: "Add one in your account",
|
||||
addressRequired: "Add a shipping address before redeeming.",
|
||||
qty: "Qty",
|
||||
redeemSuccess: "Redeemed as {no}.",
|
||||
redeemConflict: "Unable to redeem: not enough points or stock.",
|
||||
redeemFailed: "Unable to redeem right now.",
|
||||
redemptionHistory: "My redemptions",
|
||||
orderNo: "Order no.",
|
||||
reward: "Reward",
|
||||
pointsCost: "Points",
|
||||
createdAt: "Date",
|
||||
redemptionStatus: {
|
||||
pending_fulfillment: "Pending",
|
||||
fulfilled: "Fulfilled",
|
||||
cancelled: "Cancelled",
|
||||
},
|
||||
},
|
||||
},
|
||||
zh: {
|
||||
@@ -77,6 +95,24 @@ export default {
|
||||
login: "登录",
|
||||
register: "注册",
|
||||
noIntegralProducts: "当前暂无积分商品。",
|
||||
addressLabel: "收货地址",
|
||||
noAddress: "暂无收货地址。",
|
||||
addAddress: "前往账户添加",
|
||||
addressRequired: "请先添加收货地址。",
|
||||
qty: "数量",
|
||||
redeemSuccess: "兑换成功,订单号 {no}。",
|
||||
redeemConflict: "兑换失败:积分或库存不足。",
|
||||
redeemFailed: "兑换失败,请稍后重试。",
|
||||
redemptionHistory: "我的兑换",
|
||||
orderNo: "订单号",
|
||||
reward: "兑换商品",
|
||||
pointsCost: "积分",
|
||||
createdAt: "日期",
|
||||
redemptionStatus: {
|
||||
pending_fulfillment: "待发货",
|
||||
fulfilled: "已发货",
|
||||
cancelled: "已取消",
|
||||
},
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
|
||||
Reference in New Issue
Block a user