import { Form } from '@components/common/form/Form.js';
import { InputField } from '@components/common/form/InputField.js';
import { SelectField } from '@components/common/form/SelectField.js';
import { useAlertContext } from '@components/common/modal/Alert.js';
import RenderIfTrue from '@components/common/RenderIfTrue.js';
import { Button } from '@components/common/ui/Button.js';
import React from 'react';
import { toast } from 'react-toastify';
interface ShipButtonProps {
order: {
noShippingRequired: boolean;
shipment?: {
trackingNumber?: string;
carrier?: string;
};
createShipmentApi: string;
shipmentStatus: {
code: string;
};
};
carriers: {
label: string;
value: string;
}[];
}
export default function ShipButton({
order: { noShippingRequired, shipment, createShipmentApi, shipmentStatus },
carriers
}: ShipButtonProps) {
const { openAlert, closeAlert, dispatchAlert } = useAlertContext();
if (noShippingRequired) {
return (
);
}
if (shipment) {
return null;
} else {
return (
);
}
}
export const layout = {
areaId: 'order_actions',
sortOrder: 10
};
export const query = `
query Query {
order(uuid: getContextValue("orderId")) {
noShippingRequired
shipment {
shipmentId
carrier
trackingNumber
updateShipmentApi
}
shipmentStatus {
code
}
createShipmentApi
},
carriers {
label: name
value: code
}
}
`;