@@ -265,112 +265,124 @@ const OfferCreation = ({ onStartGuidedWorkflow }) => {
265265 />
266266 ) }
267267
268- < form onSubmit = { handleCreateOffer } >
269- < div className = "form-group" >
270- < label htmlFor = "solAmount" >
271- < Tooltip content = "Enter the amount of SOL you want to sell" >
272- < span > SOL Amount</ span >
273- </ Tooltip >
274- </ label >
275- < input
276- id = "solAmount"
277- type = "number"
278- value = { solAmount }
279- onChange = { handleSolAmountChange }
280- placeholder = "Enter SOL amount"
281- min = { VALIDATION_CONSTRAINTS . SOL_AMOUNT . min }
282- max = { VALIDATION_CONSTRAINTS . SOL_AMOUNT . max }
283- step = { VALIDATION_CONSTRAINTS . SOL_AMOUNT . step }
284- required
285- className = { ! solValidation . isValid ? 'input-error' : '' }
286- />
287- { ! solValidation . isValid && (
288- < div className = "validation-error" > { solValidation . error } </ div >
289- ) }
290- </ div >
268+ < div className = "ascii-form" >
269+ < div className = "ascii-form-header" > CREATE SELL OFFER</ div >
291270
292- < div className = "form-group" >
293- < label htmlFor = "fiatCurrency" >
294- < Tooltip content = "Select the currency you want to receive" >
295- < span > Fiat Currency</ span >
296- </ Tooltip >
297- </ label >
298- < select
299- id = "fiatCurrency"
300- value = { fiatCurrency }
301- onChange = { handleCurrencyChange }
302- required
303- >
304- { SUPPORTED_CURRENCIES . map ( currency => (
305- < option key = { currency } value = { currency } > { currency } </ option >
306- ) ) }
307- </ select >
308- </ div >
309-
310- < div className = "form-group" >
311- < label htmlFor = "fiatAmount" >
312- < Tooltip content = "The amount in fiat currency you will receive" >
313- < span > Fiat Amount</ span >
314- </ Tooltip >
315- </ label >
316- < input
317- id = "fiatAmount"
318- type = "number"
319- value = { fiatAmount }
320- onChange = { ( e ) => setFiatAmount ( e . target . value ) }
321- placeholder = "Enter fiat amount"
322- min = { VALIDATION_CONSTRAINTS . FIAT_AMOUNT . min }
323- max = { VALIDATION_CONSTRAINTS . FIAT_AMOUNT . max }
324- step = { VALIDATION_CONSTRAINTS . FIAT_AMOUNT . step }
325- required
326- className = { ! fiatValidation . isValid ? 'input-error' : '' }
327- />
328- { ! fiatValidation . isValid && (
329- < div className = "validation-error" > { fiatValidation . error } </ div >
330- ) }
331- { rateValidation . error && (
332- < div className = "validation-warning" > { rateValidation . error } </ div >
333- ) }
334- </ div >
335-
336- < div className = "form-group" >
337- < label htmlFor = "paymentMethod" >
338- < Tooltip content = "Select how you want to receive payment" >
339- < span > Payment Method</ span >
340- </ Tooltip >
341- </ label >
342- < select
343- id = "paymentMethod"
344- value = { paymentMethod }
345- onChange = { ( e ) => setPaymentMethod ( e . target . value ) }
346- required
347- >
348- { SUPPORTED_PAYMENT_METHODS . map ( method => (
349- < option key = { method } value = { method } > { method } </ option >
350- ) ) }
351- </ select >
352- </ div >
353-
354- { /* Submit button or connect wallet prompt */ }
355- { ! wallet . connected ? (
356- < ConnectWalletPrompt
357- action = "create sell offers"
358- className = "create-offer-button connect-wallet-button"
359- />
360- ) : (
361- < ButtonLoader
362- type = "submit"
363- isLoading = { isCreating }
364- disabled = { ! wallet . connected || ! wallet . publicKey || isActionDisabled || ! solValidation . isValid || ! fiatValidation . isValid }
365- loadingText = "Creating Offer..."
366- variant = "primary"
367- size = "medium"
368- className = "create-offer-button"
369- >
370- Create Offer
371- </ ButtonLoader >
372- ) }
373- </ form >
271+ < form onSubmit = { handleCreateOffer } >
272+ { /* Primary amount fields in one row */ }
273+ < div className = "ascii-form-row-2" >
274+ < div className = "ascii-field" >
275+ < label htmlFor = "solAmount" >
276+ < Tooltip content = "Enter the amount of SOL you want to sell" >
277+ < span > SOL AMOUNT</ span >
278+ </ Tooltip >
279+ </ label >
280+ < input
281+ id = "solAmount"
282+ type = "number"
283+ value = { solAmount }
284+ onChange = { handleSolAmountChange }
285+ placeholder = "0.00 SOL"
286+ min = { VALIDATION_CONSTRAINTS . SOL_AMOUNT . min }
287+ max = { VALIDATION_CONSTRAINTS . SOL_AMOUNT . max }
288+ step = { VALIDATION_CONSTRAINTS . SOL_AMOUNT . step }
289+ required
290+ className = { ! solValidation . isValid ? 'input-error' : '' }
291+ />
292+ { ! solValidation . isValid && (
293+ < div className = "ascii-field-error-message" > { solValidation . error } </ div >
294+ ) }
295+ </ div >
296+
297+ < div className = "ascii-field" >
298+ < label htmlFor = "fiatAmount" >
299+ < Tooltip content = "The amount in fiat currency you will receive" >
300+ < span > FIAT AMOUNT</ span >
301+ </ Tooltip >
302+ </ label >
303+ < input
304+ id = "fiatAmount"
305+ type = "number"
306+ value = { fiatAmount }
307+ onChange = { ( e ) => setFiatAmount ( e . target . value ) }
308+ placeholder = "0.00"
309+ min = { VALIDATION_CONSTRAINTS . FIAT_AMOUNT . min }
310+ max = { VALIDATION_CONSTRAINTS . FIAT_AMOUNT . max }
311+ step = { VALIDATION_CONSTRAINTS . FIAT_AMOUNT . step }
312+ required
313+ className = { ! fiatValidation . isValid ? 'input-error' : '' }
314+ />
315+ { ! fiatValidation . isValid && (
316+ < div className = "ascii-field-error-message" > { fiatValidation . error } </ div >
317+ ) }
318+ { rateValidation . error && (
319+ < div className = "ascii-field-help" > { rateValidation . error } </ div >
320+ ) }
321+ </ div >
322+ </ div >
323+
324+ { /* Currency and payment method in one row */ }
325+ < div className = "ascii-form-row-2" >
326+ < div className = "ascii-field" >
327+ < label htmlFor = "fiatCurrency" >
328+ < Tooltip content = "Select the currency you want to receive" >
329+ < span > CURRENCY</ span >
330+ </ Tooltip >
331+ </ label >
332+ < select
333+ id = "fiatCurrency"
334+ value = { fiatCurrency }
335+ onChange = { handleCurrencyChange }
336+ required
337+ >
338+ { SUPPORTED_CURRENCIES . map ( currency => (
339+ < option key = { currency } value = { currency } > { currency } </ option >
340+ ) ) }
341+ </ select >
342+ </ div >
343+
344+ < div className = "ascii-field" >
345+ < label htmlFor = "paymentMethod" >
346+ < Tooltip content = "Select how you want to receive payment" >
347+ < span > PAYMENT METHOD</ span >
348+ </ Tooltip >
349+ </ label >
350+ < select
351+ id = "paymentMethod"
352+ value = { paymentMethod }
353+ onChange = { ( e ) => setPaymentMethod ( e . target . value ) }
354+ required
355+ >
356+ { SUPPORTED_PAYMENT_METHODS . map ( method => (
357+ < option key = { method } value = { method } > { method } </ option >
358+ ) ) }
359+ </ select >
360+ </ div >
361+ </ div >
362+
363+ { /* Submit button */ }
364+ < div className = "ascii-form-actions" >
365+ { ! wallet . connected ? (
366+ < ConnectWalletPrompt
367+ action = "create sell offers"
368+ className = "create-offer-button connect-wallet-button"
369+ />
370+ ) : (
371+ < ButtonLoader
372+ type = "submit"
373+ isLoading = { isCreating }
374+ disabled = { ! wallet . connected || ! wallet . publicKey || isActionDisabled || ! solValidation . isValid || ! fiatValidation . isValid }
375+ loadingText = "Creating Offer..."
376+ variant = "primary"
377+ size = "medium"
378+ className = "create-offer-button"
379+ >
380+ Create Offer
381+ </ ButtonLoader >
382+ ) }
383+ </ div >
384+ </ form >
385+ </ div >
374386
375387 < div className = "network-info" >
376388 < p > Network: { network . name } </ p >
0 commit comments