Merge pull request #7633 from BlueWallet/elecf

FIX: Dont disable save button by isLoading as it can mean client is n…
This commit is contained in:
GLaDOS 2025-02-25 15:26:28 +00:00 committed by GitHub
commit 3f1ea9432b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -52,6 +52,11 @@ const ElectrumSettings: React.FC = () => {
const [isAndroidNumericKeyboardFocused, setIsAndroidNumericKeyboardFocused] = useState(false);
const [isAndroidAddressKeyboardVisible, setIsAndroidAddressKeyboardVisible] = useState(false);
const { setIsElectrumDisabled, isElectrumDisabled } = useSettings();
const [savedServer, setSavedServer] = useState<{ host: string; tcp: string; ssl: string }>({
host: '',
tcp: '',
ssl: '',
});
const stylesHook = StyleSheet.create({
inputWrap: {
@ -127,6 +132,12 @@ const ElectrumSettings: React.FC = () => {
setConfig(await BlueElectrum.getConfig());
}, 500);
setSavedServer({
host: savedHost || '',
tcp: savedPort ? savedPort.toString() : '',
ssl: savedSslPort ? savedSslPort.toString() : '',
});
setIsLoading(false);
return () => {
@ -454,6 +465,11 @@ const ElectrumSettings: React.FC = () => {
};
const preferredServerIsEmpty = !host || (!port && !sslPort);
const saveDisabled: boolean =
preferredServerIsEmpty ||
(host === savedServer.host &&
((savedServer.tcp !== '' && port?.toString() === savedServer.tcp) ||
(savedServer.ssl !== '' && sslPort?.toString() === savedServer.ssl)));
const renderElectrumSettings = () => {
return (
@ -541,13 +557,7 @@ const ElectrumSettings: React.FC = () => {
</BlueCard>
<BlueCard>
<BlueSpacing20 />
<Button
showActivityIndicator={isLoading}
disabled={isLoading || preferredServerIsEmpty}
testID="Save"
onPress={save}
title={loc.settings.save}
/>
<Button disabled={saveDisabled} testID="Save" onPress={save} title={loc.settings.save} />
</BlueCard>
{Platform.select({
@ -597,6 +607,7 @@ const ElectrumSettings: React.FC = () => {
onValueChange: onElectrumConnectionEnabledSwitchChange,
value: isElectrumDisabled,
testID: 'ElectrumConnectionEnabledSwitch',
disabled: isLoading,
}}
disabled={isLoading}
bottomDivider={false}