diff --git a/core/type/src/customer-order-management.ts b/core/type/src/customer-order-management.ts index 1cdc61038..c458eec10 100644 --- a/core/type/src/customer-order-management.ts +++ b/core/type/src/customer-order-management.ts @@ -146,7 +146,7 @@ export interface OrderShippingInfo extends StringifyableRecord { export const orderInfoSchema = { id: String, - status: String, + // status: String, itemList: [{ productId: String, price: Number, @@ -161,11 +161,11 @@ export const orderInfoSchema = { ladingType: String, timePeriod: String, }, - discount: Number, - discountType: String, - totalPrice: Number, - ladingPrice: Number, - finalTotalPrice: Number, + // discount: Number, + // discountType: String, + // totalPrice: Number, + // ladingPrice: Number, + // finalTotalPrice: Number, }; export const orderShippingInfoSchema = orderInfoSchema.shippingInfo; diff --git a/uniquely/com-pwa/src/manager/controller/new-order.ts b/uniquely/com-pwa/src/manager/controller/new-order.ts index 4f0011c9c..b1854aee9 100644 --- a/uniquely/com-pwa/src/manager/controller/new-order.ts +++ b/uniquely/com-pwa/src/manager/controller/new-order.ts @@ -26,8 +26,8 @@ export const pageNewOrderStateMachine = new FiniteStateMachine({ id: 'page-order-detail', initial: 'unresolved', context: { - registeredOrderId: null, - order: getLocalStorageItem('draft-order-x1', {id: 'new', status: 'draft'}), + registeredOrderId: '', + order: getLocalStorageItem('draft-order-x2', {id: 'new', status: 'draft'}), productStorage: | null>null, priceStorage: | null>null, finalPriceStorage: | null>null, @@ -77,6 +77,7 @@ export const pageNewOrderStateMachine = new FiniteStateMachine({ review: { on: { BACK: 'edit', + VALIDATION_FAILED: 'edit', FINAL_SUBMIT: 'submitting', }, }, @@ -183,8 +184,8 @@ pageNewOrderStateMachine.signal.subscribe(async (state) => { } case 'NEW_ORDER': { - pageNewOrderStateMachine.context.registeredOrderId = null; - pageNewOrderStateMachine.context.order = getLocalStorageItem('draft-order-x1', {id: 'new', status: 'draft'}); + pageNewOrderStateMachine.context.registeredOrderId = ''; + pageNewOrderStateMachine.context.order = getLocalStorageItem('draft-order-x2', {id: 'new', status: 'draft'}); break; } @@ -193,8 +194,9 @@ pageNewOrderStateMachine.signal.subscribe(async (state) => { validator(orderInfoSchema, pageNewOrderStateMachine.context.order, true); } catch (err) { + pageNewOrderStateMachine.transition('VALIDATION_FAILED'); const _err = err as (Error & {cause?: Record}); - logger.incident('SUBMIT', _err.name, _err.message); + logger.incident('SUBMIT', _err.name, 'validation failed', _err); if (_err.cause?.itemPath?.indexOf('shippingInfo') !== -1) { snackbarSignalTrigger.request({ message: message('page_new_order_shipping_info_not_valid_message'), @@ -223,14 +225,14 @@ pageNewOrderStateMachine.signal.subscribe(async (state) => { } case 'SUBMIT_SUCCESS': { - localStorage.removeItem('draft-order-x1'); + localStorage.removeItem('draft-order-x2'); break; } } }); pageNewOrderStateMachine.signal.subscribe(async (state) => { - localStorage.setItem('draft-order-x1', JSON.stringify(pageNewOrderStateMachine.context.order)); + localStorage.setItem('draft-order-x2', JSON.stringify(pageNewOrderStateMachine.context.order)); if (state.to != 'shippingForm' && state.to != state.from) { scrollToTopCommand.request({}); @@ -288,13 +290,13 @@ eventListener.subscribe(buttons.submitShippingForm.clickSignalI }); eventListener.subscribe(buttons.tracking.clickSignalId, () => { - const orderId = pageNewOrderStateMachine.context.registeredOrderId as string; + const orderId = pageNewOrderStateMachine.context.registeredOrderId; pageNewOrderStateMachine.transition('NEW_ORDER'); redirect({sectionList: ['order-tracking', orderId]}); }); eventListener.subscribe(buttons.detail.clickSignalId, () => { - const orderId = pageNewOrderStateMachine.context.registeredOrderId as string; + const orderId = pageNewOrderStateMachine.context.registeredOrderId; pageNewOrderStateMachine.transition('NEW_ORDER'); redirect({sectionList: ['order-detail', orderId]}); }); diff --git a/uniquely/com-pwa/src/ui/stuff/order-shipping-form.ts b/uniquely/com-pwa/src/ui/stuff/order-shipping-form.ts index a6e16936a..88296f72b 100644 --- a/uniquely/com-pwa/src/ui/stuff/order-shipping-form.ts +++ b/uniquely/com-pwa/src/ui/stuff/order-shipping-form.ts @@ -43,13 +43,13 @@ export class AlwatrOrderShoppingForm extends LocalizeMixin(SignalMixin(Unresolve private _saveFormData(): void { this._logger.logMethod('_saveFormData'); - localStorage.setItem('shipping_form_data_x1', JSON.stringify(this.formData)); + localStorage.setItem('shipping_form_data_x2', JSON.stringify(this.formData)); } private _loadFormData(): void { if (Object.values(this.formData).length !== 0) return; this._logger.logMethod('_loadFormData'); - const formData = getLocalStorageItem('shipping_form_data_x1', this.formData); + const formData = getLocalStorageItem('shipping_form_data_x2', this.formData); for (const prop in formData) { if (!Object.prototype.hasOwnProperty.call(formData, prop)) continue; this.formData[prop] = formData[prop];