diff --git a/src/main/java/bisq/desktop/main/overlays/windows/TradeFeedbackWindow.java b/src/main/java/bisq/desktop/main/overlays/windows/TradeFeedbackWindow.java
new file mode 100644
index 0000000000..5e477327ae
--- /dev/null
+++ b/src/main/java/bisq/desktop/main/overlays/windows/TradeFeedbackWindow.java
@@ -0,0 +1,92 @@
+/*
+ * This file is part of Bisq.
+ *
+ * Bisq is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * Bisq is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with Bisq. If not, see .
+ */
+
+package bisq.desktop.main.overlays.windows;
+
+import bisq.desktop.components.AutoTooltipLabel;
+import bisq.desktop.components.HyperlinkWithIcon;
+import bisq.desktop.main.overlays.Overlay;
+
+import bisq.core.locale.Res;
+
+import com.google.inject.Inject;
+
+import javafx.scene.layout.GridPane;
+import javafx.scene.layout.Priority;
+
+import javafx.geometry.HPos;
+import javafx.geometry.Insets;
+
+import lombok.extern.slf4j.Slf4j;
+
+import static bisq.desktop.util.FormBuilder.addHyperlinkWithIcon;
+
+@Slf4j
+public class TradeFeedbackWindow extends Overlay {
+ @Inject
+ public TradeFeedbackWindow() {
+ type = Type.Confirmation;
+ }
+
+ @Override
+ public void show() {
+ headLine(Res.get("tradeFeedbackWindow.title"));
+ message(Res.get("tradeFeedbackWindow.msg.part1"));
+ hideCloseButton();
+ actionButtonText(Res.get("shared.close"));
+
+ super.show();
+ }
+
+ @Override
+ protected void addMessage() {
+ super.addMessage();
+
+ HyperlinkWithIcon survey = addHyperlinkWithIcon(gridPane, ++rowIndex, "https://bisq.network/survey",
+ "https://bisq.network/survey");
+ GridPane.setMargin(survey, new Insets(-6, 0, 10, -4));
+
+ AutoTooltipLabel messageLabel2 = new AutoTooltipLabel(Res.get("tradeFeedbackWindow.msg.part2"));
+ messageLabel2.setMouseTransparent(true);
+ messageLabel2.setWrapText(true);
+ GridPane.setHalignment(messageLabel2, HPos.LEFT);
+ GridPane.setHgrow(messageLabel2, Priority.ALWAYS);
+ GridPane.setRowIndex(messageLabel2, ++rowIndex);
+ GridPane.setColumnIndex(messageLabel2, 0);
+ GridPane.setColumnSpan(messageLabel2, 2);
+ gridPane.getChildren().add(messageLabel2);
+
+ HyperlinkWithIcon forum = addHyperlinkWithIcon(gridPane, ++rowIndex, "https://bisq.community",
+ "https://bisq.community", 40);
+ GridPane.setMargin(forum, new Insets(-6, 0, 10, -4));
+
+ AutoTooltipLabel messageLabel3 = new AutoTooltipLabel(Res.get("tradeFeedbackWindow.msg.part3"));
+ messageLabel3.setMouseTransparent(true);
+ messageLabel3.setWrapText(true);
+ GridPane.setHalignment(messageLabel3, HPos.LEFT);
+ GridPane.setHgrow(messageLabel3, Priority.ALWAYS);
+ GridPane.setRowIndex(messageLabel3, ++rowIndex);
+ GridPane.setColumnIndex(messageLabel3, 0);
+ GridPane.setColumnSpan(messageLabel3, 2);
+ gridPane.getChildren().add(messageLabel3);
+ }
+
+ @Override
+ protected void onShow() {
+ display();
+ }
+}
diff --git a/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java b/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java
index c3913b0ecf..ffe8f672fc 100644
--- a/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java
+++ b/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/buyer/BuyerStep4View.java
@@ -24,6 +24,7 @@ import bisq.desktop.components.TitledGroupBg;
import bisq.desktop.main.MainView;
import bisq.desktop.main.overlays.notifications.Notification;
import bisq.desktop.main.overlays.popups.Popup;
+import bisq.desktop.main.overlays.windows.TradeFeedbackWindow;
import bisq.desktop.main.portfolio.PortfolioView;
import bisq.desktop.main.portfolio.closedtrades.ClosedTradesView;
import bisq.desktop.main.portfolio.pendingtrades.PendingTradesViewModel;
@@ -284,19 +285,38 @@ public class BuyerStep4View extends TradeStepView {
@SuppressWarnings("PointlessBooleanExpression")
private void handleTradeCompleted() {
- if (!DevEnv.isDevMode()) {
- String key = "tradeCompleteWithdrawCompletedInfo";
- //noinspection unchecked
- new Popup<>().headLine(Res.get("portfolio.pending.step5_buyer.withdrawalCompleted.headline"))
- .feedback(Res.get("portfolio.pending.step5_buyer.withdrawalCompleted.msg"))
- .actionButtonTextWithGoTo("navigation.portfolio.closedTrades")
- .onAction(() -> model.dataModel.navigation.navigateTo(MainView.class, PortfolioView.class, ClosedTradesView.class))
- .dontShowAgainId(key)
- .show();
- }
useSavingsWalletButton.setDisable(true);
withdrawToExternalWalletButton.setDisable(true);
model.dataModel.btcWalletService.swapTradeEntryToAvailableEntry(trade.getId(), AddressEntry.Context.TRADE_PAYOUT);
+
+ openTradeFeedbackWindow();
+ }
+
+ private void openTradeFeedbackWindow() {
+ String key = "feedbackPopupAfterTrade";
+ if (!DevEnv.isDevMode() && preferences.showAgain(key)) {
+ UserThread.runAfter(() -> {
+ new TradeFeedbackWindow()
+ .dontShowAgainId(key)
+ .onAction(this::showNavigateToClosedTradesViewPopup)
+ .show();
+ }, 500, TimeUnit.MILLISECONDS);
+ } else {
+ showNavigateToClosedTradesViewPopup();
+ }
+ }
+
+ private void showNavigateToClosedTradesViewPopup() {
+ if (!DevEnv.isDevMode()) {
+ UserThread.runAfter(() -> {
+ new Popup<>().headLine(Res.get("portfolio.pending.step5_buyer.withdrawalCompleted.headline"))
+ .feedback(Res.get("portfolio.pending.step5_buyer.withdrawalCompleted.msg"))
+ .actionButtonTextWithGoTo("navigation.portfolio.closedTrades")
+ .onAction(() -> model.dataModel.navigation.navigateTo(MainView.class, PortfolioView.class, ClosedTradesView.class))
+ .dontShowAgainId("tradeCompleteWithdrawCompletedInfo")
+ .show();
+ }, 500, TimeUnit.MILLISECONDS);
+ }
}
private void validateWithdrawAddress() {