diff --git a/packages/ui/src/ImportScreen.tsx b/packages/ui/src/ImportScreen.tsx
index 4f7351b2..c35d04fa 100644
--- a/packages/ui/src/ImportScreen.tsx
+++ b/packages/ui/src/ImportScreen.tsx
@@ -233,26 +233,21 @@ export default function ImportScreen({
+
+ Import Validator Keystore(s)
+
-
- Import Validator Keystore(s)
-
Upload any keystore JSON file(s).
+
- {acceptedFiles.length > 1 && (
- <>
-
- handleSwitchToggle("password")} />}
- label="Use same password for every file"
- />
- handleSwitchToggle("feerecipient")} />}
- label="Use same fee recipient for every file"
- />
- handleSwitchToggle("tag")} />}
- label="Use same tag for every file"
- />
-
- {(useSameTag || useSameFeerecipient || useSamePassword) && (
-
- {useSamePassword && (
- <>
- setPasswords(Array(acceptedFiles.length).fill(e.target.value))}
- helperText={"Password to decrypt the keystore(s)"}
- />
- >
- )}
- {useSameTag && (
- <>
-
- Staking protocol
- >
- )}
- {useSameFeerecipient && (
- <>
- 1 && (
+ <>
+
+ handleSwitchToggle("password")} />}
+ label="Use same password for every file"
+ />
+ handleSwitchToggle("feerecipient")} />}
+ label="Use same fee recipient for every file"
+ />
+ handleSwitchToggle("tag")} />}
+ label="Use same tag for every file"
+ />
+
+ {(useSameTag || useSameFeerecipient || useSamePassword) && (
+
+ {useSamePassword && (
+ <>
+ setPasswords(Array(acceptedFiles.length).fill(e.target.value))}
+ helperText={"Password to decrypt the keystore(s)"}
+ />
+ >
+ )}
+ {useSameTag && (
+ <>
+
- )}
- >
- )}
-
- {FileCardList(
- acceptedFiles,
- setAcceptedFiles,
- passwords,
- setPasswords,
- useSamePassword,
- tags,
- setTags,
- useSameTag,
- feeRecipients,
- setFeeRecipients,
- useSameFeerecipient,
- getFeeRecipientFieldHelperText,
- isFeeRecipientFieldWrong,
- tagSelectOptions
- )}
-
-
+ {tagSelectOptions.map((option) => (
+
+ ))}
+
+ Staking protocol
+ >
+ )}
+ {useSameFeerecipient && (
+ <>
+ {
+ setFeeRecipients(Array(acceptedFiles.length).fill(e.target.value));
+ }}
+ error={isFeeRecipientFieldWrong(0)}
+ helperText={getFeeRecipientFieldHelperText(0)}
+ value={feeRecipients[0]}
+ disabled={!isFeeRecipientEditable(tags[0])}
+ />
+ {!areAllFeeRecipientsEditable(tags) && !useSameTag && (
+ This field will only apply to the editable fee recipients
+ )}
+ >
+ )}
+
+ )}
+ >
+ )}
+
+ {FileCardList(
+ acceptedFiles,
+ setAcceptedFiles,
+ passwords,
+ setPasswords,
+ useSamePassword,
+ tags,
+ setTags,
+ useSameTag,
+ feeRecipients,
+ setFeeRecipients,
+ useSameFeerecipient,
+ getFeeRecipientFieldHelperText,
+ isFeeRecipientFieldWrong,
+ tagSelectOptions
+ )}
+
+
+
+ Import slashing protection data? (recommended)
+
+
+
+ {slashingProtectionIncluded ? (
+
-
- Import slashing protection data? (recommended)
-
-
-
- {slashingProtectionIncluded ? (
-
- Upload your slashing protection file to protect your keystore(s).
-
-
- {slashingFile ? (
- Upload your slashing protection file to protect your keystore(s).
+
+
+ {slashingFile ? (
+
+
-
-
- ✅ {slashingFile.name}
-
-
-
-
-
-
- ) : (
-
- )}
-
- ) : null}
-
+
+ ✅ {slashingFile.name}
+
+
+
+
+
+
+ ) : (
+
+ )}
+
+ ) : null}
{showMevWarning && (
}
>
Back to Accounts
@@ -467,11 +467,11 @@ export default function ImportScreen({
}
disabled={isButtonDisabled}
onClick={importKeystores}
- sx={{ borderRadius: 3 }}
+ sx={{ borderRadius: 2 }}
>
Submit Keystores
diff --git a/packages/ui/src/components/Dialogs/EditFeesDialog.tsx b/packages/ui/src/components/Dialogs/EditFeesDialog.tsx
index 5b2d3d2f..89a0185d 100644
--- a/packages/ui/src/components/Dialogs/EditFeesDialog.tsx
+++ b/packages/ui/src/components/Dialogs/EditFeesDialog.tsx
@@ -39,6 +39,7 @@ import { SlideTransition } from "./Transitions";
import { AlertType, NonEcdsaValidatorsData } from "../../types";
import { getSmoothUrlByNetwork, getStakersLink } from "../../params";
import { getSmoothAddressByNetwork } from "../../utils/addresses";
+import { useTheme, useMediaQuery } from "@mui/material";
export default function FeeRecipientDialog({
open,
@@ -65,6 +66,8 @@ export default function FeeRecipientDialog({
const [nonEcdsaValidatorsData, setNonEcdsaValidatorsData] = useState([]);
const [smoothValidatorsPubkeys, setSmoothValidatorsPubkeys] = useState([]);
const [withdrawalAccessCheck, setWithdrawalAccessCheck] = useState(false);
+ const theme = useTheme();
+ const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
useEffect(() => {
isAnyWithdrawalCredentialsDiff("ecdsa") && getNonEcdsaValidatorsData();
@@ -601,7 +604,8 @@ export default function FeeRecipientDialog({