rename classes and executables from Bisq* to Haveno*

This commit is contained in:
woodser 2021-12-15 12:38:41 -05:00
parent 7c9c35b1b8
commit 1be8e53ee9
72 changed files with 235 additions and 234 deletions

View file

@ -90,7 +90,7 @@ import static bisq.desktop.util.Layout.MIN_WINDOW_HEIGHT;
import static bisq.desktop.util.Layout.MIN_WINDOW_WIDTH;
@Slf4j
public class BisqApp extends Application implements UncaughtExceptionHandler {
public class HavenoApp extends Application implements UncaughtExceptionHandler {
@Setter
private static Consumer<Application> appLaunchedHandler;
@Getter
@ -106,7 +106,7 @@ public class BisqApp extends Application implements UncaughtExceptionHandler {
private boolean shutDownRequested;
private MainView mainView;
public BisqApp() {
public HavenoApp() {
shutDownHandler = this::stop;
}

View file

@ -22,7 +22,7 @@ import bisq.desktop.common.view.guice.InjectorViewFactory;
import bisq.desktop.setup.DesktopPersistedDataHost;
import bisq.core.app.AvoidStandbyModeService;
import bisq.core.app.BisqExecutable;
import bisq.core.app.HavenoExecutable;
import bisq.common.UserThread;
import bisq.common.app.AppModule;
@ -34,13 +34,13 @@ import javafx.application.Platform;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class BisqAppMain extends BisqExecutable {
public class HavenoAppMain extends HavenoExecutable {
public static final String DEFAULT_APP_NAME = "Haveno";
private BisqApp application;
private HavenoApp application;
public BisqAppMain() {
public HavenoAppMain() {
super("Bisq Desktop", "bisq-desktop", DEFAULT_APP_NAME, Version.VERSION);
}
@ -49,9 +49,9 @@ public class BisqAppMain extends BisqExecutable {
// context class loader: reset it. In order to work around a bug in JavaFX 8u25
// and below, you must include the following code as the first line of your
// realMain method:
Thread.currentThread().setContextClassLoader(BisqAppMain.class.getClassLoader());
Thread.currentThread().setContextClassLoader(HavenoAppMain.class.getClassLoader());
new BisqAppMain().execute(args);
new HavenoAppMain().execute(args);
}
@Override
@ -71,13 +71,13 @@ public class BisqAppMain extends BisqExecutable {
@Override
protected void launchApplication() {
BisqApp.setAppLaunchedHandler(application -> {
BisqAppMain.this.application = (BisqApp) application;
HavenoApp.setAppLaunchedHandler(application -> {
HavenoAppMain.this.application = (HavenoApp) application;
// Map to user thread!
UserThread.execute(this::onApplicationLaunched);
});
Application.launch(BisqApp.class);
Application.launch(HavenoApp.class);
}
///////////////////////////////////////////////////////////////////////////////////////////
@ -102,7 +102,7 @@ public class BisqAppMain extends BisqExecutable {
@Override
protected AppModule getModule() {
return new BisqAppModule(config);
return new HavenoAppModule(config);
}
@Override

View file

@ -24,9 +24,9 @@ import bisq.core.app.CoreModule;
import bisq.common.app.AppModule;
import bisq.common.config.Config;
public class BisqAppModule extends AppModule {
public class HavenoAppModule extends AppModule {
public BisqAppModule(Config config) {
public HavenoAppModule(Config config) {
super(config);
}

View file

@ -59,7 +59,7 @@ public class AddressTextField extends AnchorPane {
///////////////////////////////////////////////////////////////////////////////////////////
public AddressTextField(String label) {
JFXTextField textField = new BisqTextField();
JFXTextField textField = new HavenoTextField();
textField.setId("address-text-field");
textField.setEditable(false);
textField.setLabelFloat(true);

View file

@ -47,7 +47,7 @@ public class BalanceTextField extends AnchorPane {
///////////////////////////////////////////////////////////////////////////////////////////
public BalanceTextField(String label) {
textField = new BisqTextField();
textField = new HavenoTextField();
textField.setLabelFloat(true);
textField.setPromptText(label);
textField.setFocusTraversable(false);

View file

@ -4,7 +4,7 @@ import com.jfoenix.controls.JFXTextArea;
import javafx.scene.control.Skin;
public class BisqTextArea extends JFXTextArea {
public class HavenoTextArea extends JFXTextArea {
@Override
protected Skin<?> createDefaultSkin() {
return new JFXTextAreaSkinBisqStyle(this);

View file

@ -4,13 +4,13 @@ import com.jfoenix.controls.JFXTextField;
import javafx.scene.control.Skin;
public class BisqTextField extends JFXTextField {
public class HavenoTextField extends JFXTextField {
public BisqTextField(String value) {
public HavenoTextField(String value) {
super(value);
}
public BisqTextField() {
public HavenoTextField() {
super();
}

View file

@ -57,7 +57,7 @@ public class InfoTextField extends AnchorPane {
public InfoTextField() {
arrowLocation = PopOver.ArrowLocation.RIGHT_TOP;
textField = new BisqTextField();
textField = new HavenoTextField();
textField.setLabelFloat(true);
textField.setEditable(false);
textField.textProperty().bind(text);

View file

@ -45,7 +45,7 @@ import bisq.core.locale.LanguageUtil;
import bisq.core.locale.Res;
import bisq.core.provider.price.MarketPrice;
import bisq.common.BisqException;
import bisq.common.HavenoException;
import bisq.common.Timer;
import bisq.common.UserThread;
import bisq.common.util.Tuple2;
@ -369,9 +369,9 @@ public class MainView extends InitializableView<StackPane, MainViewModel> {
.filter(toggle -> toggle instanceof NavButton)
.filter(button -> viewClass == ((NavButton) button).viewClass)
.findFirst()
.orElseThrow(() -> new BisqException("No button matching %s found", viewClass))
.orElseThrow(() -> new HavenoException("No button matching %s found", viewClass))
.setSelected(true);
} catch (BisqException e) {
} catch (HavenoException e) {
navigation.navigateTo(MainView.class, MarketView.class, OfferBookChartView.class);
}
});

View file

@ -17,7 +17,7 @@
package bisq.desktop.main;
import bisq.desktop.app.BisqApp;
import bisq.desktop.app.HavenoApp;
import bisq.desktop.common.model.ViewModel;
import bisq.desktop.components.TxIdTextField;
import bisq.desktop.main.overlays.Overlay;
@ -40,7 +40,7 @@ import bisq.desktop.util.GUIUtil;
import bisq.core.account.sign.SignedWitnessService;
import bisq.core.account.witness.AccountAgeWitnessService;
import bisq.core.alert.PrivateNotificationManager;
import bisq.core.app.BisqSetup;
import bisq.core.app.HavenoSetup;
import bisq.core.btc.nodes.LocalBitcoinNode;
import bisq.core.btc.setup.WalletsSetup;
import bisq.core.btc.wallet.BtcWalletService;
@ -107,8 +107,8 @@ import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
private final BisqSetup bisqSetup;
public class MainViewModel implements ViewModel, HavenoSetup.BisqSetupListener {
private final HavenoSetup bisqSetup;
private final WalletsSetup walletsSetup;
private final User user;
private final BalancePresentation balancePresentation;
@ -152,7 +152,7 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
///////////////////////////////////////////////////////////////////////////////////////////
@Inject
public MainViewModel(BisqSetup bisqSetup,
public MainViewModel(HavenoSetup bisqSetup,
WalletsSetup walletsSetup,
BtcWalletService btcWalletService,
User user,
@ -338,7 +338,7 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
bisqSetup.setShowFirstPopupIfResyncSPVRequestedHandler(this::showFirstPopupIfResyncSPVRequested);
bisqSetup.setRequestWalletPasswordHandler(aesKeyHandler -> walletPasswordWindow
.onAesKey(aesKeyHandler::accept)
.onClose(() -> BisqApp.getShutDownHandler().run())
.onClose(() -> HavenoApp.getShutDownHandler().run())
.show());
bisqSetup.setDisplayUpdateHandler((alert, key) -> new DisplayUpdateDownloadWindow(alert, config)
@ -554,7 +554,7 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
private void showSecondPopupIfResyncSPVRequested(Popup firstPopup) {
firstPopup.hide();
BisqSetup.setResyncSpvSemaphore(false);
HavenoSetup.setResyncSpvSemaphore(false);
new Popup().information(Res.get("settings.net.reSyncSPVAfterRestartCompleted"))
.hideCloseButton()
.useShutDownButton()

View file

@ -17,7 +17,7 @@
package bisq.desktop.main;
import bisq.desktop.app.BisqApp;
import bisq.desktop.app.HavenoApp;
import bisq.desktop.main.overlays.popups.Popup;
import bisq.core.btc.wallet.WalletsManager;
@ -76,7 +76,7 @@ public class SharedPresentation {
() -> UserThread.execute(() -> {
log.info("Wallets restored with seed words");
new Popup().feedback(Res.get("seed.restore.success")).hideCloseButton().show();
BisqApp.getShutDownHandler().run();
HavenoApp.getShutDownHandler().run();
}),
throwable -> UserThread.execute(() -> {
log.error(throwable.toString());

View file

@ -17,7 +17,7 @@
package bisq.desktop.main.overlays;
import bisq.desktop.app.BisqApp;
import bisq.desktop.app.HavenoApp;
import bisq.desktop.components.AutoTooltipButton;
import bisq.desktop.components.AutoTooltipCheckBox;
import bisq.desktop.components.AutoTooltipLabel;
@ -430,7 +430,7 @@ public abstract class Overlay<T extends Overlay<T>> {
public T useShutDownButton() {
this.actionButtonText = Res.get("shared.shutDown");
this.actionHandlerOptional = Optional.ofNullable(BisqApp.getShutDownHandler());
this.actionHandlerOptional = Optional.ofNullable(HavenoApp.getShutDownHandler());
return cast();
}

View file

@ -17,7 +17,7 @@
package bisq.desktop.main.overlays.windows;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.main.MainView;
import bisq.desktop.main.overlays.Overlay;
import bisq.desktop.util.DisplayUtils;
@ -271,7 +271,7 @@ public class ContractWindow extends Overlay<ContractWindow> {
Res.get("shared.viewContractAsJson"), 0).second;
viewContractButton.setDefaultButton(false);
viewContractButton.setOnAction(e -> {
TextArea textArea = new BisqTextArea();
TextArea textArea = new HavenoTextArea();
String contractAsJson = dispute.getContractAsJson();
textArea.setText(contractAsJson);
textArea.setPrefHeight(50);

View file

@ -19,7 +19,7 @@ package bisq.desktop.main.overlays.windows;
import bisq.desktop.components.AutoTooltipCheckBox;
import bisq.desktop.components.AutoTooltipRadioButton;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.components.InputTextField;
import bisq.desktop.main.overlays.Overlay;
import bisq.desktop.main.overlays.popups.Popup;
@ -568,7 +568,7 @@ public class DisputeSummaryWindow extends Overlay<DisputeSummaryWindow> {
}
private void addSummaryNotes() {
summaryNotesTextArea = new BisqTextArea();
summaryNotesTextArea = new HavenoTextArea();
summaryNotesTextArea.setPromptText(Res.get("disputeSummaryWindow.addSummaryNotes"));
summaryNotesTextArea.setWrapText(true);

View file

@ -18,7 +18,7 @@
package bisq.desktop.main.overlays.windows;
import bisq.desktop.components.AutoTooltipButton;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.components.InputTextField;
import bisq.desktop.main.overlays.Overlay;
import bisq.desktop.main.overlays.popups.Popup;
@ -359,7 +359,7 @@ public class ManualPayoutTxWindow extends Overlay<ManualPayoutTxWindow> {
int rowIndexB = 0;
importTxGridPane = new GridPane();
gridPane.add(importTxGridPane, 1, rowIndex);
importHex = new BisqTextArea();
importHex = new HavenoTextArea();
importHex.setEditable(true);
importHex.setWrapText(true);
importHex.setPrefSize(800, 150);
@ -412,7 +412,7 @@ public class ManualPayoutTxWindow extends Overlay<ManualPayoutTxWindow> {
private void addExportPane() {
exportTxGridPane = new GridPane();
gridPane.add(exportTxGridPane, 1, rowIndex);
exportHex = new BisqTextArea();
exportHex = new HavenoTextArea();
exportHex.setEditable(false);
exportHex.setWrapText(true);
exportHex.setPrefSize(800, 250);
@ -473,7 +473,7 @@ public class ManualPayoutTxWindow extends Overlay<ManualPayoutTxWindow> {
buyerSignatureAsHex = addInputTextField(buildTxGridPane, ++rowIndexA, "buyerSignatureAsHex");
sellerSignatureAsHex = addInputTextField(buildTxGridPane, ++rowIndexA, "sellerSignatureAsHex");
buildTxGridPane.add(new Label(""), 0, ++rowIndexA); // spacer
finalSignedTxHex = new BisqTextArea();
finalSignedTxHex = new HavenoTextArea();
finalSignedTxHex.setEditable(false);
finalSignedTxHex.setWrapText(true);
finalSignedTxHex.setPrefSize(800, 250);
@ -496,7 +496,7 @@ public class ManualPayoutTxWindow extends Overlay<ManualPayoutTxWindow> {
private GridPane addSignVerifyMsgPane(GridPane myGridPane) {
int rowIndexB = 0;
gridPane.add(myGridPane, 1, rowIndex);
TextArea messageText = new BisqTextArea();
TextArea messageText = new HavenoTextArea();
messageText.setPromptText("Message");
messageText.setEditable(true);
messageText.setWrapText(true);
@ -505,7 +505,7 @@ public class ManualPayoutTxWindow extends Overlay<ManualPayoutTxWindow> {
myGridPane.add(new Label(""), 0, ++rowIndexB); // spacer
InputTextField address = addInputTextField(myGridPane, ++rowIndexB, "Address");
myGridPane.add(new Label(""), 0, ++rowIndexB); // spacer
TextArea messageSig = new BisqTextArea();
TextArea messageSig = new HavenoTextArea();
messageSig.setPromptText("Signature");
messageSig.setEditable(true);
messageSig.setWrapText(true);

View file

@ -18,7 +18,7 @@
package bisq.desktop.main.overlays.windows;
import bisq.desktop.components.AutoTooltipButton;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.components.InputTextField;
import bisq.desktop.main.overlays.Overlay;
import bisq.desktop.main.overlays.popups.Popup;
@ -84,7 +84,7 @@ public class SignSpecificWitnessWindow extends Overlay<SignSpecificWitnessWindow
}
private void addSelectWitnessContent() {
TextArea accountInfoText = new BisqTextArea();
TextArea accountInfoText = new HavenoTextArea();
accountInfoText.setPrefHeight(270);
accountInfoText.setWrapText(true);
GridPane.setRowIndex(accountInfoText, ++rowIndex);

View file

@ -17,7 +17,7 @@
package bisq.desktop.main.overlays.windows;
import bisq.desktop.app.BisqApp;
import bisq.desktop.app.HavenoApp;
import bisq.desktop.components.HyperlinkWithIcon;
import bisq.desktop.main.overlays.Overlay;
@ -98,7 +98,7 @@ public class TacWindow extends Overlay<TacWindow> {
message(text);
actionButtonText(Res.get("tacWindow.agree"));
closeButtonText(Res.get("tacWindow.disagree"));
onClose(BisqApp.getShutDownHandler());
onClose(HavenoApp.getShutDownHandler());
super.show();
}

View file

@ -17,7 +17,7 @@
package bisq.desktop.main.overlays.windows;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.components.TextFieldWithCopyIcon;
import bisq.desktop.components.TxIdTextField;
import bisq.desktop.main.MainView;
@ -336,7 +336,7 @@ public class TradeDetailsWindow extends Overlay<TradeDetailsWindow> {
if (contract != null) {
viewContractButton.setOnAction(e -> {
TextArea textArea = new BisqTextArea();
TextArea textArea = new HavenoTextArea();
textArea.setText(trade.getContractAsJson());
String data = "Contract as json:\n";
data += trade.getContractAsJson();

View file

@ -54,6 +54,7 @@ import org.jetbrains.annotations.NotNull;
import static com.google.common.base.Preconditions.checkArgument;
// TODO (woodser): update for Haveno?
@Slf4j
public class BisqInstaller {
private static final String FINGER_PRINT_MANFRED_KARRER = "F379A1C6";

View file

@ -17,7 +17,7 @@
package bisq.desktop.main.settings.network;
import bisq.desktop.app.BisqApp;
import bisq.desktop.app.HavenoApp;
import bisq.desktop.common.view.ActivatableView;
import bisq.desktop.common.view.FxmlView;
import bisq.desktop.components.AutoTooltipButton;
@ -280,7 +280,7 @@ public class NetworkSettingsView extends ActivatableView<GridPane, Void> {
.actionButtonText(Res.get("shared.applyAndShutDown"))
.onAction(() -> {
preferences.setUseTorForBitcoinJ(selected);
UserThread.runAfter(BisqApp.getShutDownHandler(), 500, TimeUnit.MILLISECONDS);
UserThread.runAfter(HavenoApp.getShutDownHandler(), 500, TimeUnit.MILLISECONDS);
})
.closeButtonText(Res.get("shared.cancel"))
.onClose(() -> useTorForBtcJCheckBox.setSelected(!selected))

View file

@ -17,7 +17,7 @@
package bisq.desktop.main.settings.preferences;
import bisq.desktop.app.BisqApp;
import bisq.desktop.app.HavenoApp;
import bisq.desktop.common.view.ActivatableViewAndModel;
import bisq.desktop.common.view.FxmlView;
import bisq.desktop.components.AutoTooltipButton;

View file

@ -19,7 +19,7 @@ package bisq.desktop.main.shared;
import bisq.desktop.components.AutoTooltipButton;
import bisq.desktop.components.AutoTooltipLabel;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.components.BusyAnimation;
import bisq.desktop.components.TableGroupHeadline;
import bisq.desktop.components.TextFieldWithIcon;
@ -204,7 +204,7 @@ public class ChatView extends AnchorPane {
VBox.setVgrow(this, Priority.ALWAYS);
inputTextArea = new BisqTextArea();
inputTextArea = new HavenoTextArea();
inputTextArea.setPrefHeight(70);
inputTextArea.setWrapText(true);

View file

@ -25,8 +25,8 @@ import bisq.desktop.components.AutoTooltipRadioButton;
import bisq.desktop.components.AutoTooltipSlideToggleButton;
import bisq.desktop.components.AutocompleteComboBox;
import bisq.desktop.components.BalanceTextField;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.BisqTextField;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.components.HavenoTextField;
import bisq.desktop.components.BusyAnimation;
import bisq.desktop.components.ExternalHyperlink;
import bisq.desktop.components.FundsTextField;
@ -326,7 +326,7 @@ public class FormBuilder {
String title,
String value,
double top) {
TextField textField = new BisqTextField(value);
TextField textField = new HavenoTextField(value);
textField.setEditable(false);
textField.setFocusTraversable(false);
@ -339,7 +339,7 @@ public class FormBuilder {
}
public static Tuple2<TextField, Button> addTextFieldWithEditButton(GridPane gridPane, int rowIndex, String title) {
TextField textField = new BisqTextField();
TextField textField = new HavenoTextField();
textField.setPromptText(title);
textField.setEditable(false);
textField.setFocusTraversable(false);
@ -544,7 +544,7 @@ public class FormBuilder {
public static TextArea addTextArea(GridPane gridPane, int rowIndex, String prompt, double top) {
JFXTextArea textArea = new BisqTextArea();
JFXTextArea textArea = new HavenoTextArea();
textArea.setPromptText(prompt);
textArea.setLabelFloat(true);
textArea.setWrapText(true);
@ -603,7 +603,7 @@ public class FormBuilder {
public static Tuple2<Label, TextArea> addTopLabelTextArea(GridPane gridPane, int rowIndex, int colIndex,
String title, String prompt, double top) {
TextArea textArea = new BisqTextArea();
TextArea textArea = new HavenoTextArea();
textArea.setPromptText(prompt);
textArea.setWrapText(true);
@ -860,7 +860,7 @@ public class FormBuilder {
String buttonTitle,
double top) {
TextField textField = new BisqTextField();
TextField textField = new HavenoTextField();
textField.setEditable(false);
textField.setMouseTransparent(true);
textField.setFocusTraversable(false);
@ -914,14 +914,14 @@ public class FormBuilder {
int rowIndex,
String title1,
String title2) {
TextField textField1 = new BisqTextField();
TextField textField1 = new HavenoTextField();
textField1.setEditable(false);
textField1.setMouseTransparent(true);
textField1.setFocusTraversable(false);
final Tuple2<Label, VBox> topLabelWithVBox1 = getTopLabelWithVBox(title1, textField1);
TextField textField2 = new BisqTextField();
TextField textField2 = new HavenoTextField();
textField2.setEditable(false);
textField2.setMouseTransparent(true);
textField2.setFocusTraversable(false);
@ -1054,7 +1054,7 @@ public class FormBuilder {
String radioButtonTitle1,
String radioButtonTitle2,
double top) {
TextField textField = new BisqTextField();
TextField textField = new HavenoTextField();
textField.setPromptText(textFieldTitle);
RadioButton radioButton1 = new AutoTooltipRadioButton(radioButtonTitle1);
@ -1296,7 +1296,7 @@ public class FormBuilder {
final VBox topLabelVBox1 = getTopLabelVBox(5);
final Label topLabel1 = getTopLabel(titleTextfield);
final TextField textField = new BisqTextField();
final TextField textField = new HavenoTextField();
topLabelVBox1.getChildren().addAll(topLabel1, textField);
final VBox topLabelVBox2 = getTopLabelVBox(5);
@ -1364,7 +1364,7 @@ public class FormBuilder {
comboBox.setPromptText(titleCombobox);
comboBox.setLabelFloat(true);
TextField textField = new BisqTextField();
TextField textField = new HavenoTextField();
final VBox topLabelVBox = getTopLabelVBox(5);
final Label topLabel = getTopLabel(titleTextfield);

View file

@ -18,9 +18,9 @@
package bisq.desktop.util;
import bisq.desktop.Navigation;
import bisq.desktop.app.BisqApp;
import bisq.desktop.app.HavenoApp;
import bisq.desktop.components.AutoTooltipLabel;
import bisq.desktop.components.BisqTextArea;
import bisq.desktop.components.HavenoTextArea;
import bisq.desktop.components.InfoAutoTooltipLabel;
import bisq.desktop.components.indicator.TxConfidenceIndicator;
import bisq.desktop.main.MainView;
@ -30,7 +30,7 @@ import bisq.desktop.main.overlays.popups.Popup;
import bisq.core.account.witness.AccountAgeWitness;
import bisq.core.account.witness.AccountAgeWitnessService;
import bisq.core.app.BisqSetup;
import bisq.core.app.HavenoSetup;
import bisq.core.btc.setup.WalletsSetup;
import bisq.core.locale.Country;
import bisq.core.locale.CountryUtil;
@ -827,8 +827,8 @@ public class GUIUtil {
.useShutDownButton()
.actionButtonText(Res.get("shared.shutDown"))
.onAction(() -> {
BisqSetup.setResyncSpvSemaphore(true);
UserThread.runAfter(BisqApp.getShutDownHandler(), 100, TimeUnit.MILLISECONDS);
HavenoSetup.setResyncSpvSemaphore(true);
UserThread.runAfter(HavenoApp.getShutDownHandler(), 100, TimeUnit.MILLISECONDS);
})
.closeButtonText(Res.get("shared.cancel"))
.show();
@ -838,7 +838,7 @@ public class GUIUtil {
}
public static void showSelectableTextModal(String title, String text) {
TextArea textArea = new BisqTextArea();
TextArea textArea = new HavenoTextArea();
textArea.setText(text);
textArea.setEditable(false);
textArea.setWrapText(true);