parent
1f19dfabf6
commit
e160d3861f
@ -0,0 +1,9 @@
|
|||||||
|
function Messages(props) {
|
||||||
|
return props.messages
|
||||||
|
.filter((item) => item.status != 'OK')
|
||||||
|
.map((item, ind) => (
|
||||||
|
<div key={`messages_${ind}`}>{JSON.stringify(item)}</div>
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Messages;
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
.payment_container {
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.payment_form {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.payment_messages {
|
||||||
|
float: left;
|
||||||
|
max-width: 25%;
|
||||||
|
}
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
import { useMemo, useState } from 'react';
|
||||||
|
import Form from './Form.jsx';
|
||||||
|
import Messages from './Messages.jsx';
|
||||||
|
import './Payment.css';
|
||||||
|
|
||||||
|
function Payment() {
|
||||||
|
const [messages, setMessages] = useState([]);
|
||||||
|
|
||||||
|
const fillMessages = (data) => {
|
||||||
|
setMessages(data);
|
||||||
|
};
|
||||||
|
|
||||||
|
const cachedForm = useMemo(() => <Form fillMessages={fillMessages} />, []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="payment_container">
|
||||||
|
<div
|
||||||
|
className="payment_form"
|
||||||
|
style={{
|
||||||
|
width:
|
||||||
|
messages.fields?.filter((item) => item.status != 'OK')?.length > 0
|
||||||
|
? '75%'
|
||||||
|
: '100%',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{cachedForm}
|
||||||
|
</div>
|
||||||
|
{messages.fields?.length > 0 ? (
|
||||||
|
<div className="payment_messages">
|
||||||
|
<Messages
|
||||||
|
messages={messages.fields?.filter((item) => item.status != 'OK')}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Payment;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
import { createRoot } from 'react-dom/client';
|
import { createRoot } from 'react-dom/client';
|
||||||
import Form from './Form.jsx';
|
import Payment from './Payment.jsx';
|
||||||
|
|
||||||
createRoot(document.getElementById('root')).render(<Form />);
|
createRoot(document.getElementById('root')).render(<Payment />);
|
||||||
|
|||||||
Loading…
Reference in new issue