diff --git a/components/converter/converter-card.tsx b/components/converter/converter-card.tsx
index cdcb338..358da1a 100644
--- a/components/converter/converter-card.tsx
+++ b/components/converter/converter-card.tsx
@@ -261,6 +261,16 @@ export function ConverterCard({
return Number.isFinite(latest) ? new Date(latest).toISOString() : data.updatedAt;
}, [data, marketData?.updatedAt]);
+ const amountPrefix = getDisplaySymbol(fromAsset);
+ const amountInputPaddingLeft = useMemo(() => {
+ if (!amountPrefix) {
+ return undefined;
+ }
+
+ const prefixWidthCh = Math.max(amountPrefix.length, 1);
+ return `calc(1rem + ${prefixWidthCh}ch + 0.85rem)`;
+ }, [amountPrefix]);
+
if (isLoading && !data) {
return ;
}
@@ -279,7 +289,6 @@ export function ConverterCard({
: "--";
const amountError = inputValidation.ok ? null : inputValidation.error;
- const amountPrefix = getDisplaySymbol(fromAsset);
return (
@@ -370,10 +379,8 @@ export function ConverterCard({
value={amountInput}
onChange={(event) => setAmountInput(event.target.value)}
placeholder="Enter amount"
- className={cn(
- "h-14 rounded-xl bg-background/70 px-4 text-lg",
- amountPrefix ? "pl-10" : "",
- )}
+ className="h-14 rounded-xl bg-background/70 px-4 text-lg"
+ style={amountInputPaddingLeft ? { paddingLeft: amountInputPaddingLeft } : undefined}
aria-invalid={Boolean(amountError)}
aria-describedby={amountError ? "amount-error" : undefined}
/>