diff --git a/src/main/java/com/sparrowwallet/sparrow/control/ProgressTimer.java b/src/main/java/com/sparrowwallet/sparrow/control/ProgressTimer.java index 3b462d62..af6922a3 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/ProgressTimer.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/ProgressTimer.java @@ -25,6 +25,7 @@ public class ProgressTimer extends ProgressIndicator { } public void start(EventHandler onFinished) { + getStyleClass().remove("warn"); timeline = new Timeline( new KeyFrame(Duration.ZERO, new KeyValue(progressProperty(), 0)), new KeyFrame(Duration.seconds(getSeconds() * 0.8), e -> getStyleClass().add("warn")), diff --git a/src/main/java/com/sparrowwallet/sparrow/soroban/CounterpartyController.java b/src/main/java/com/sparrowwallet/sparrow/soroban/CounterpartyController.java index be90d204..e39c7fb8 100644 --- a/src/main/java/com/sparrowwallet/sparrow/soroban/CounterpartyController.java +++ b/src/main/java/com/sparrowwallet/sparrow/soroban/CounterpartyController.java @@ -90,7 +90,7 @@ public class CounterpartyController extends SorobanController { private PayNymAvatar mixPartnerAvatar; @FXML - private Label meetingFail; + private Hyperlink meetingFail; @FXML private VBox mixDetails; @@ -187,6 +187,15 @@ public class CounterpartyController extends SorobanController { mixingPartner.managedProperty().bind(mixingPartner.visibleProperty()); meetingFail.managedProperty().bind(meetingFail.visibleProperty()); meetingFail.visibleProperty().bind(mixingPartner.visibleProperty().not()); + meetingFail.setOnAction(event -> { + step2Desc.setText("Ask your mix partner to initiate the Soroban communication."); + mixingPartner.setVisible(true); + startCounterpartyMeetingReceive(); + step2Timer.start(e -> { + step2Desc.setText("Mix declined due to timeout."); + meetingReceived.set(Boolean.FALSE); + }); + }); mixDetails.managedProperty().bind(mixDetails.visibleProperty()); mixDetails.setVisible(false); diff --git a/src/main/resources/com/sparrowwallet/sparrow/darktheme.css b/src/main/resources/com/sparrowwallet/sparrow/darktheme.css index 20c221a5..392ba0a7 100644 --- a/src/main/resources/com/sparrowwallet/sparrow/darktheme.css +++ b/src/main/resources/com/sparrowwallet/sparrow/darktheme.css @@ -173,6 +173,10 @@ -fx-text-fill: #e06c75; } +.root .failure.hyperlink:visited { + -fx-text-fill: #e06c75; +} + .root .titled-description-pane > .title { -fx-background-color: derive(-fx-base, 10%); -fx-padding: 0; diff --git a/src/main/resources/com/sparrowwallet/sparrow/general.css b/src/main/resources/com/sparrowwallet/sparrow/general.css index 309a2eb2..eda759cc 100644 --- a/src/main/resources/com/sparrowwallet/sparrow/general.css +++ b/src/main/resources/com/sparrowwallet/sparrow/general.css @@ -114,6 +114,10 @@ -fx-underline: false; } +.failure.hyperlink:visited { + -fx-text-fill: rgb(202, 18, 67); +} + .hyperlink:hover:visited { -fx-underline: true; } diff --git a/src/main/resources/com/sparrowwallet/sparrow/soroban/counterparty.fxml b/src/main/resources/com/sparrowwallet/sparrow/soroban/counterparty.fxml index a4dac03e..20b1926c 100644 --- a/src/main/resources/com/sparrowwallet/sparrow/soroban/counterparty.fxml +++ b/src/main/resources/com/sparrowwallet/sparrow/soroban/counterparty.fxml @@ -107,11 +107,11 @@