diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/CssConfig.java b/apps/desktop/desktop/src/main/java/bisq/desktop/CssConfig.java index f56d048b6f..b961115207 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/CssConfig.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/CssConfig.java @@ -34,6 +34,7 @@ public static void addAllCss(Scene scene) { requireNonNull(aClass.getResource("/css/user.css")).toExternalForm(), requireNonNull(aClass.getResource("/css/bisq_easy.css")).toExternalForm(), requireNonNull(aClass.getResource("/css/trade_apps.css")).toExternalForm(), - requireNonNull(aClass.getResource("/css/images.css")).toExternalForm()); + requireNonNull(aClass.getResource("/css/images.css")).toExternalForm(), + requireNonNull(aClass.getResource("/css/markets.css")).toExternalForm()); } -} \ No newline at end of file +} diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/components/controls/DropdownMenu.java b/apps/desktop/desktop/src/main/java/bisq/desktop/components/controls/DropdownMenu.java new file mode 100644 index 0000000000..4f4a491cbb --- /dev/null +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/components/controls/DropdownMenu.java @@ -0,0 +1,121 @@ +/* + * 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.components.controls; + +import bisq.desktop.common.utils.ImageUtil; +import javafx.beans.value.WeakChangeListener; +import javafx.geometry.Bounds; +import javafx.geometry.Insets; +import javafx.geometry.Pos; +import javafx.scene.control.ContextMenu; +import javafx.scene.control.Label; +import javafx.scene.control.MenuItem; +import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; +import javafx.stage.PopupWindow; +import javafx.stage.WindowEvent; + +public class DropdownMenu extends HBox { + private final Label label = new Label(); + private final ImageView defaultIcon, activeIcon; + private final ContextMenu contextMenu = new ContextMenu(); + private ImageView buttonIcon; + + public DropdownMenu(String defaultIconId, String activeIconId, boolean useIconOnly) { + defaultIcon = ImageUtil.getImageViewById(defaultIconId); + activeIcon = ImageUtil.getImageViewById(activeIconId); + + buttonIcon = defaultIcon; + + getChildren().addAll(label, buttonIcon); + + getStyleClass().add("dropdown-menu"); + contextMenu.getStyleClass().add("dropdown-menu-popup"); + + if (useIconOnly) { + double size = 29; + setMaxSize(size, size); + setMinSize(size, size); + setPrefSize(size, size); + setAlignment(Pos.CENTER); + } else { + setSpacing(5); + setAlignment(Pos.CENTER_RIGHT); + setPadding(new Insets(0, 5, 0, 0)); + } + + attachListeners(); + } + + public void setLabel(String text) { + label.setText(text); + } + + private void toggleContextMenu() { + if (!contextMenu.isShowing()) { + contextMenu.setAnchorLocation(PopupWindow.AnchorLocation.WINDOW_TOP_RIGHT); + Bounds bounds = this.localToScreen(this.getBoundsInLocal()); + double x = bounds.getMaxX(); + double y = bounds.getMaxY() + 5; + contextMenu.show(this, x, y); + } else { + contextMenu.hide(); + } + } + + public void addMenuItems(MenuItem... items) { + contextMenu.getItems().addAll(items); + } + + public void clearMenuItems() { + contextMenu.getItems().clear(); + } + + private void attachListeners() { + setOnMouseClicked(event -> toggleContextMenu()); + setOnMouseExited(e -> updateIcon(contextMenu.isShowing() ? activeIcon : defaultIcon)); + setOnMouseEntered(e -> updateIcon(activeIcon)); + + sceneProperty().addListener(new WeakChangeListener<>((observable, oldScene, newScene) -> { + if (newScene != null) { + newScene.windowProperty().addListener(new WeakChangeListener<>((obs, oldWindow, newWindow) -> { + if (newWindow != null) { + newWindow.addEventHandler(WindowEvent.WINDOW_HIDING, e -> contextMenu.hide()); + } + })); + } + })); + + contextMenu.setOnShowing(e -> { + getStyleClass().add("dropdown-menu-active"); + updateIcon(activeIcon); + }); + contextMenu.setOnHidden(e -> { + getStyleClass().remove("dropdown-menu-active"); + updateIcon(defaultIcon); + }); + } + + private void updateIcon(ImageView newIcon) { + if (buttonIcon != newIcon) { + getChildren().remove(buttonIcon); + buttonIcon = newIcon; + getChildren().add(buttonIcon); + } + } +} diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/components/table/BisqTableView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/components/table/BisqTableView.java index e62f74d0eb..886d0569b6 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/components/table/BisqTableView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/components/table/BisqTableView.java @@ -100,6 +100,14 @@ public void allowVerticalScrollbar() { getStyleClass().remove("hide-vertical-scrollbar"); } + public void hideHorizontalScrollbar() { + getStyleClass().add("force-hide-horizontal-scrollbar"); + } + + public void allowHorizontalScrollbar() { + getStyleClass().remove("force-hide-horizontal-scrollbar"); + } + public void removeListeners() { if (listChangeListener != null) { getItems().removeListener(listChangeListener); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/mediator/MediationCaseHeader.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/mediator/MediationCaseHeader.java index 69d1871876..a38290c469 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/mediator/MediationCaseHeader.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/authorized_role/mediator/MediationCaseHeader.java @@ -164,7 +164,7 @@ private View(Model model, Controller controller) { root.setMaxHeight(HEIGHT); root.setAlignment(Pos.CENTER_LEFT); root.setPadding(new Insets(0, 30, 0, 30)); - root.getStyleClass().add("bisq-easy-container-header"); + root.getStyleClass().add("chat-container-header"); tradeId = getElements(Res.get("bisqEasy.tradeState.header.tradeId")); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/BisqEasyViewUtils.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/BisqEasyViewUtils.java index 2b69e74db6..30e6fe96f5 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/BisqEasyViewUtils.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/BisqEasyViewUtils.java @@ -33,7 +33,7 @@ public static Triple getContainer(String headline, Node conte HBox header = new HBox(10, headlineLabel); header.setAlignment(Pos.CENTER_LEFT); header.setPadding(new Insets(15, 30, 15, 30)); - header.getStyleClass().add("bisq-easy-container-header"); + header.getStyleClass().add("chat-container-header"); VBox.setMargin(content, new Insets(0, 30, 15, 30)); VBox vBox = new VBox(header, Layout.hLine(), content); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/components/TradeDataHeader.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/components/TradeDataHeader.java index 9e194d564d..8ebf643c37 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/components/TradeDataHeader.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/components/TradeDataHeader.java @@ -176,7 +176,7 @@ private View(Model model, Controller controller) { root.setMaxHeight(HEIGHT); root.setAlignment(Pos.CENTER_LEFT); root.setPadding(new Insets(0, 30, 0, 30)); - root.getStyleClass().add("bisq-easy-container-header"); + root.getStyleClass().add("chat-container-header"); peerDescription = new Label(); peerDescription.getStyleClass().add("bisq-easy-open-trades-header-description"); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java index fc4d964d77..a586cbc72c 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookController.java @@ -23,62 +23,42 @@ import bisq.chat.ChatMessage; import bisq.chat.bisqeasy.offerbook.BisqEasyOfferbookChannel; import bisq.chat.bisqeasy.offerbook.BisqEasyOfferbookChannelService; -import bisq.chat.bisqeasy.offerbook.BisqEasyOfferbookMessage; -import bisq.chat.bisqeasy.offerbook.BisqEasyOfferbookSelectionService; import bisq.chat.bisqeasy.open_trades.BisqEasyOpenTradeChannel; -import bisq.common.currency.Market; -import bisq.common.currency.MarketRepository; import bisq.common.observable.Pin; import bisq.common.observable.collection.ObservableArray; import bisq.desktop.ServiceProvider; import bisq.desktop.common.observable.FxBindings; import bisq.desktop.common.threading.UIThread; -import bisq.desktop.common.view.Controller; import bisq.desktop.common.view.Navigation; import bisq.desktop.main.content.bisq_easy.trade_wizard.TradeWizardController; -import bisq.desktop.main.content.chat.BaseChatController; -import bisq.desktop.main.content.components.MarketImageComposition; +import bisq.desktop.main.content.chat.ChatController; import bisq.offer.bisq_easy.BisqEasyOffer; import bisq.settings.SettingsService; -import javafx.scene.layout.StackPane; import lombok.extern.slf4j.Slf4j; import org.fxmisc.easybind.EasyBind; +import org.fxmisc.easybind.Subscription; -import java.util.Comparator; import java.util.List; -import java.util.Optional; import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkArgument; @Slf4j -public final class BisqEasyOfferbookController extends BaseChatController { - private final BisqEasyOfferbookSelectionService bisqEasyOfferbookSelectionService; +public final class BisqEasyOfferbookController extends ChatController { private final SettingsService settingsService; private final BisqEasyOfferbookChannelService bisqEasyOfferbookChannelService; private final BisqEasyOfferbookModel bisqEasyOfferbookModel; - private Pin selectedChannelPin, offerOnlySettingsPin, bisqEasyPrivateTradeChatChannelsPin; + private Pin offerOnlySettingsPin, bisqEasyPrivateTradeChatChannelsPin, selectedChannelPin; + private Subscription marketSelectorSearchPin; public BisqEasyOfferbookController(ServiceProvider serviceProvider) { super(serviceProvider, ChatChannelDomain.BISQ_EASY_OFFERBOOK, NavigationTarget.BISQ_EASY_OFFERBOOK); bisqEasyOfferbookChannelService = chatService.getBisqEasyOfferbookChannelService(); - bisqEasyOfferbookSelectionService = chatService.getBisqEasyOfferbookChannelSelectionService(); settingsService = serviceProvider.getSettingsService(); bisqEasyOfferbookModel = getModel(); - } - - @Override - public void createDependencies(ChatChannelDomain chatChannelDomain) { - } - @Override - protected Optional createController(NavigationTarget navigationTarget) { - switch (navigationTarget) { - default: { - return Optional.empty(); - } - } + createMarketChannels(); } @Override @@ -96,58 +76,44 @@ public BisqEasyOfferbookView createAndGetView() { @Override public void onActivate() { - model.getSearchText().set(""); - searchTextPin = EasyBind.subscribe(model.getSearchText(), searchText -> { - if (searchText == null || searchText.isEmpty()) { - chatMessagesComponent.setSearchPredicate(item -> true); - } else { - chatMessagesComponent.setSearchPredicate(item -> item.match(searchText)); - } - }); - selectedChannelPin = bisqEasyOfferbookSelectionService.getSelectedChannel().addObserver(this::selectedChannelChanged); + super.onActivate(); + + model.getMarketSelectorSearchText().set(""); + offerOnlySettingsPin = FxBindings.bindBiDir(model.getOfferOnly()).to(settingsService.getOffersOnly()); ObservableArray bisqEasyOpenTradeChannels = chatService.getBisqEasyOpenTradeChannelService().getChannels(); bisqEasyPrivateTradeChatChannelsPin = bisqEasyOpenTradeChannels.addObserver(() -> model.getIsTradeChannelVisible().set(!bisqEasyOpenTradeChannels.isEmpty())); - List marketChannelItems = bisqEasyOfferbookChannelService.getChannels().stream() - .map(MarketChannelItem::new) - .collect(Collectors.toList()); - model.getMarketChannelItems().setAll(marketChannelItems); + selectedChannelPin = FxBindings.subscribe(selectionService.getSelectedChannel(), this::selectedChannelChanged); + + marketSelectorSearchPin = EasyBind.subscribe(model.getMarketSelectorSearchText(), searchText -> { + if (searchText == null || searchText.isEmpty()) { + model.getFilteredMarketChannelItems().setPredicate(item -> true); + } else { + String search = searchText.toLowerCase(); + model.getFilteredMarketChannelItems().setPredicate(item -> + item != null && + (item.getMarket().getQuoteCurrencyCode().toLowerCase().contains(search) || + item.getMarket().getQuoteCurrencyName().toLowerCase().contains(search)) + ); + } + }); updateMarketItemsPredicate(); - model.getSortedMarketChannelItems().setComparator((o1, o2) -> { - Comparator byNumMessages = (left, right) -> Integer.compare( - getNumMessages(right.getMarket()), - getNumMessages(left.getMarket())); - - List majorMarkets = MarketRepository.getMajorMarkets(); - Comparator byMajorMarkets = (left, right) -> { - int indexOfLeftMarket = majorMarkets.indexOf(left.getMarket()); - int indexOfRightMarket = majorMarkets.indexOf(right.getMarket()); - if (indexOfLeftMarket > -1 && indexOfRightMarket > -1) { - return Integer.compare(indexOfLeftMarket, indexOfRightMarket); - } else { - return -1; - } - }; - - Comparator byName = Comparator.comparing(MarketChannelItem::getMarketString); - return byNumMessages - .thenComparing(byMajorMarkets) - .thenComparing(byName) - .compare(o1, o2); - }); + maybeSelectFirst(); } @Override public void onDeactivate() { - searchTextPin.unsubscribe(); + super.onDeactivate(); + offerOnlySettingsPin.unbind(); - selectedChannelPin.unbind(); bisqEasyPrivateTradeChatChannelsPin.unbind(); + selectedChannelPin.unbind(); + marketSelectorSearchPin.unsubscribe(); resetSelectedChildTarget(); } @@ -156,24 +122,38 @@ public void onDeactivate() { protected void selectedChannelChanged(ChatChannel chatChannel) { super.selectedChannelChanged(chatChannel); - if (chatChannel instanceof BisqEasyOfferbookChannel) { - UIThread.run(() -> { + UIThread.run(() -> { + if (chatChannel == null) { + model.getSelectedMarketChannelItem().set(null); + maybeSelectFirst(); + } + + if (chatChannel instanceof BisqEasyOfferbookChannel) { + BisqEasyOfferbookChannel channel = (BisqEasyOfferbookChannel) chatChannel; + + // FIXME: marketChannelItems needs to be a hashmap + model.getMarketChannelItems().stream() + .filter(item -> item.getChannel().equals(channel)) + .findAny() + .ifPresent(item -> model.getSelectedMarketChannelItem().set(item)); + updateMarketItemsPredicate(); model.getSearchText().set(""); resetSelectedChildTarget(); - Market market = ((BisqEasyOfferbookChannel) chatChannel).getMarket(); - StackPane marketsImage = MarketImageComposition.imageBoxForMarket( - market.getBaseCurrencyCode().toLowerCase(), - market.getQuoteCurrencyCode().toLowerCase()).getFirst(); + String description = ((BisqEasyOfferbookChannel) chatChannel).getDescription(); + String oneLineDescription = description.replace("\n", " "); + model.getChannelDescription().set(oneLineDescription); + } + }); + } - //fixme (low prio) get larger icons and dont use scaling - marketsImage.setScaleX(1.25); - marketsImage.setScaleY(1.25); - model.getChannelIconNode().set(marketsImage); - }); - } + private void createMarketChannels() { + List marketChannelItems = bisqEasyOfferbookChannelService.getChannels().stream() + .map(MarketChannelItem::new) + .collect(Collectors.toList()); + model.getMarketChannelItems().setAll(marketChannelItems); } void onCreateOffer() { @@ -191,23 +171,6 @@ void onCloseFilter() { bisqEasyOfferbookModel.getShowFilterOverlay().set(false); } - void onSwitchMarketChannel(MarketChannelItem marketChannelItem) { - if (marketChannelItem != null) { - bisqEasyOfferbookChannelService.findChannel(marketChannelItem.getMarket()) - .ifPresent(bisqEasyOfferbookSelectionService::selectChannel); - updateMarketItemsPredicate(); - } - } - - - int getNumMessages(Market market) { - return bisqEasyOfferbookChannelService.findChannel(market) - .map(channel -> (int) channel.getChatMessages().stream() - .filter(BisqEasyOfferbookMessage::hasBisqEasyOffer) - .count()) - .orElse(0); - } - private void updateMarketItemsPredicate() { //model.getFilteredMarketChannelItems().setPredicate(item -> !bisqEasyOfferbookChannelService.isVisible(item.getChannel())); } @@ -215,4 +178,20 @@ private void updateMarketItemsPredicate() { private boolean isMaker(BisqEasyOffer bisqEasyOffer) { return bisqEasyOffer.isMyOffer(userIdentityService.getMyUserProfileIds()); } + + void onSelectMarketChannelItem(MarketChannelItem item) { + if (item == null) { + selectionService.selectChannel(null); + } else if (!item.getChannel().equals(selectionService.getSelectedChannel().get())) { + selectionService.selectChannel(item.getChannel()); + } + } + + private void maybeSelectFirst() { + if (selectionService.getSelectedChannel().get() == null && + !bisqEasyOfferbookChannelService.getChannels().isEmpty() && + !model.getSortedMarketChannelItems().isEmpty()) { + selectionService.selectChannel(model.getSortedMarketChannelItems().get(0).getChannel()); + } + } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java index e789360ad5..7a7479513b 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookModel.java @@ -17,11 +17,9 @@ package bisq.desktop.main.content.bisq_easy.offerbook; -import bisq.bisq_easy.NavigationTarget; import bisq.chat.ChatChannelDomain; -import bisq.desktop.main.content.chat.BaseChatModel; -import javafx.beans.property.BooleanProperty; -import javafx.beans.property.SimpleBooleanProperty; +import bisq.desktop.main.content.chat.ChatModel; +import javafx.beans.property.*; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; @@ -31,19 +29,16 @@ @Slf4j @Getter -public final class BisqEasyOfferbookModel extends BaseChatModel { +public final class BisqEasyOfferbookModel extends ChatModel { private final BooleanProperty offerOnly = new SimpleBooleanProperty(); private final BooleanProperty isTradeChannelVisible = new SimpleBooleanProperty(); private final BooleanProperty showFilterOverlay = new SimpleBooleanProperty(); private final ObservableList marketChannelItems = FXCollections.observableArrayList(); private final FilteredList filteredMarketChannelItems = new FilteredList<>(marketChannelItems); private final SortedList sortedMarketChannelItems = new SortedList<>(filteredMarketChannelItems); + private final ObjectProperty selectedMarketChannelItem = new SimpleObjectProperty<>(); + private final StringProperty marketSelectorSearchText = new SimpleStringProperty(); public BisqEasyOfferbookModel(ChatChannelDomain chatChannelDomain) { super(chatChannelDomain); } - - @Override - public NavigationTarget getDefaultNavigationTarget() { - return NavigationTarget.NONE; - } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookUtil.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookUtil.java new file mode 100644 index 0000000000..9a090587c1 --- /dev/null +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookUtil.java @@ -0,0 +1,150 @@ +package bisq.desktop.main.content.bisq_easy.offerbook; + +import bisq.common.currency.Market; +import bisq.common.currency.MarketRepository; +import bisq.desktop.components.controls.BisqTooltip; +import bisq.desktop.main.content.components.MarketImageComposition; +import bisq.i18n.Res; +import javafx.beans.binding.Bindings; +import javafx.beans.binding.StringExpression; +import javafx.geometry.Insets; +import javafx.geometry.Pos; +import javafx.scene.Cursor; +import javafx.scene.control.*; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.util.Callback; + +import java.util.Comparator; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class BisqEasyOfferbookUtil { + private static final List majorMarkets = MarketRepository.getMajorMarkets(); + private static final Set marketsWithLogos = Stream.of("aed", "afn", "all", "amd", "aoa", "ars", "aud", + "awg", "azn", "bam", "bbd", "bdt", "bgn", "bhd", "bif", "bmd", "bnd", "bob", "brl", "bsd", "btn", "bwp", + "byn", "bzd", "cad", "chf", "clp", "cny", "cop", "crc", "cup", "cve", "czk", "djf", "dkk", "dop", "dzd", + "egp", "ern", "etb", "eur", "fjd", "fkp", "gbp", "gel", "ghs", "gip", "gmd", "gnf", "gtq", "gyd", "hkd", + "hnl", "htg", "huf", "idr", "ils", "inr", "iqd", "irr", "isk", "jmd", "jod", "jpy", "kes", "kgs", "khr", + "kmf", "kpw", "krw", "kwd", "kyd", "kzt", "lak", "lbp", "lkr", "lrd", "lsl", "lyd", "mad", "mdl", "mga", + "mmk", "mnt", "mop", "mru", "mur", "mvr", "mwk", "mxn", "myr", "mzn", "nad", "ngn", "nio", "nok", "npr", + "nzd", "omr", "pab", "pen", "pgk", "php", "pkr", "pln", "pyg", "qar", "ron", "rsd", "rub", "rwf", "sar", + "sbd", "scr", "sdg", "sek", "sgd", "sle", "sos", "srd", "ssp", "stn", "svc", "syp", "szl", "thb", "tjs", + "tmt", "tnd", "top", "try", "ttd", "twd", "tzs", "uah", "ugx", "usd", "uyu", "uzs", "ves", "vnd", "vuv", + "wst", "xaf", "yer", "zar", "zmw", "zwl") + .collect(Collectors.toUnmodifiableSet()); + + public static Comparator SortByNumOffers() { + return (lhs, rhs) -> Integer.compare(rhs.getNumOffers().get(), lhs.getNumOffers().get()); + } + + public static Comparator SortByMajorMarkets() { + return (lhs, rhs) -> { + int index1 = majorMarkets.indexOf(lhs.getMarket()); + int index2 = majorMarkets.indexOf(rhs.getMarket()); + return Integer.compare(index1, index2); + }; + } + + public static Comparator SortByMarketNameAsc() { + return Comparator.comparing(MarketChannelItem::getMarketString); + } + + public static Comparator SortByMarketNameDesc() { + return Comparator.comparing(MarketChannelItem::getMarketString).reversed(); + } + + public static Comparator SortByMarketActivity() { + return (lhs, rhs) -> BisqEasyOfferbookUtil.SortByNumOffers() + .thenComparing(BisqEasyOfferbookUtil.SortByMajorMarkets()) + .thenComparing(BisqEasyOfferbookUtil.SortByMarketNameAsc()) + .compare(lhs, rhs); + } + + public static Callback, + TableCell> getMarketLabelCellFactory() { + return column -> new TableCell<>() { + private final Label marketName = new Label(); + private final Label marketCode = new Label(); + private final Label numOffers = new Label(); + private final HBox hBox = new HBox(10, marketCode, numOffers); + private final VBox vBox = new VBox(0, marketName, hBox); + private final Tooltip tooltip = new BisqTooltip(); + + { + setCursor(Cursor.HAND); + marketName.getStyleClass().add("market-name"); + hBox.setAlignment(Pos.CENTER_LEFT); + vBox.setAlignment(Pos.CENTER_LEFT); + Tooltip.install(vBox, tooltip); + } + + @Override + protected void updateItem(MarketChannelItem item, boolean empty) { + super.updateItem(item, empty); + if (item != null && !empty) { + marketName.setText(item.getMarket().getQuoteCurrencyName()); + marketCode.setText(item.getMarket().getQuoteCurrencyCode()); + StringExpression formattedNumOffers = Bindings.createStringBinding(() -> + BisqEasyOfferbookUtil.getFormattedOfferNumber(item.getNumOffers().get()), item.getNumOffers()); + numOffers.textProperty().bind(formattedNumOffers); + StringExpression formattedTooltip = Bindings.createStringBinding(() -> + BisqEasyOfferbookUtil.getFormattedTooltip(item.getNumOffers().get(), item.getMarket().getQuoteCurrencyName()), item.getNumOffers()); + tooltip.textProperty().bind(formattedTooltip); + tooltip.setStyle("-fx-text-fill: -fx-dark-text-color;"); + + setGraphic(vBox); + } else { + numOffers.textProperty().unbind(); + tooltip.textProperty().unbind(); + + setGraphic(null); + } + } + }; + } + + public static Callback, + TableCell> getMarketLogoCellFactory() { + return column -> new TableCell<>() { + { + setCursor(Cursor.HAND); + } + + @Override + protected void updateItem(MarketChannelItem item, boolean empty) { + super.updateItem(item, empty); + if (item != null && !empty) { + String marketCode = item.getMarket().getQuoteCurrencyCode(); + setGraphic(marketsWithLogos.contains(marketCode.toLowerCase()) + ? item.getMarketLogo() + : MarketImageComposition.createMarketLogoPlaceholder(marketCode)); + } else { + setGraphic(null); + } + } + }; + } + + private static String getFormattedOfferNumber(int numOffers) { + if (numOffers == 0) { + return ""; + } + return String.format("(%s)", + numOffers > 1 + ? Res.get("bisqEasy.offerbook.marketListCell.numOffers.many", numOffers) + : Res.get("bisqEasy.offerbook.marketListCell.numOffers.one", numOffers) + ); + } + + private static String getFormattedTooltip(int numOffers, String quoteCurrencyName) { + if (numOffers == 0) { + return Res.get("bisqEasy.offerbook.marketListCell.numOffers.tooltip.none", quoteCurrencyName); + } + return numOffers > 1 + ? Res.get("bisqEasy.offerbook.marketListCell.numOffers.tooltip.many", numOffers, quoteCurrencyName) + : Res.get("bisqEasy.offerbook.marketListCell.numOffers.tooltip.one", numOffers, quoteCurrencyName); + } +} diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java index 3d64c49f1c..5ae50c8c58 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/BisqEasyOfferbookView.java @@ -17,48 +17,44 @@ package bisq.desktop.main.content.bisq_easy.offerbook; -import bisq.desktop.common.Icons; import bisq.desktop.common.Layout; import bisq.desktop.components.containers.Spacer; -import bisq.desktop.components.controls.BisqTooltip; -import bisq.desktop.components.controls.ComboBoxWithSearch; -import bisq.desktop.main.content.chat.BaseChatView; +import bisq.desktop.components.controls.DropdownMenu; +import bisq.desktop.components.controls.SearchBox; +import bisq.desktop.components.table.BisqTableColumn; +import bisq.desktop.components.table.BisqTableView; +import bisq.desktop.main.content.chat.ChatView; import bisq.i18n.Res; -import de.jensd.fx.fontawesome.AwesomeIcon; import javafx.geometry.Insets; import javafx.geometry.Pos; -import javafx.scene.Cursor; -import javafx.scene.control.Label; -import javafx.scene.control.ListCell; -import javafx.scene.control.Tooltip; +import javafx.scene.control.*; import javafx.scene.layout.*; -import javafx.scene.text.Text; import lombok.extern.slf4j.Slf4j; +import org.fxmisc.easybind.EasyBind; +import org.fxmisc.easybind.Subscription; -@Slf4j -public final class BisqEasyOfferbookView extends BaseChatView { - private static final double CHAT_BOX_MAX_WIDTH = 1200; - // private static double filterPaneHeight; +import java.util.Comparator; +@Slf4j +public final class BisqEasyOfferbookView extends ChatView { private final BisqEasyOfferbookModel bisqEasyOfferbookModel; private final BisqEasyOfferbookController bisqEasyOfferbookController; - //private Switch offersOnlySwitch; - //private Button closeFilterButton, filterButton; - - private Label marketSelectorIcon; + private SearchBox marketSelectorSearchBox; + private Label chatDomainTitle; + private BisqTableView tableView; + private BisqTableColumn marketLabelTableColumn; + private VBox marketSelectionList; + private Subscription tableViewSelectionPin, selectedModelItemPin; + private Button createOfferButton; + private DropdownMenu dropdownMenu; + private MenuItem offers, nameAZ, nameZA; + private CheckBox hideUserMessagesCheckbox; - //private Pane filterPane; - /* private Subscription showFilterOverlayPin; - private Subscription filterPaneHeightPin; -*/ public BisqEasyOfferbookView(BisqEasyOfferbookModel model, BisqEasyOfferbookController controller, VBox chatMessagesComponent, Pane channelSidebar) { - super(model, - controller, - chatMessagesComponent, - channelSidebar); + super(model, controller, chatMessagesComponent, channelSidebar); bisqEasyOfferbookController = controller; bisqEasyOfferbookModel = model; @@ -66,229 +62,182 @@ public BisqEasyOfferbookView(BisqEasyOfferbookModel model, @Override protected void configTitleHBox() { - titleHBox.setAlignment(Pos.CENTER); - titleHBox.setPadding(new Insets(12.5, 25, 12.5, 25)); - titleHBox.getStyleClass().add("bisq-easy-container-header"); - titleHBox.setMinHeight(HEADER_HEIGHT); - titleHBox.setMaxHeight(HEADER_HEIGHT); - titleHBox.setMaxWidth(CHAT_BOX_MAX_WIDTH); - - channelTitle.getStyleClass().add("chat-header-title"); - channelTitle.setCursor(Cursor.HAND); - channelTitle.setMinWidth(81); - - marketSelectorIcon = Icons.getIcon(AwesomeIcon.CHEVRON_DOWN, "12"); - marketSelectorIcon.getStyleClass().add("market-selector-icon"); - marketSelectorIcon.setCursor(Cursor.HAND); - marketSelectorIcon.setPadding(new Insets(0, 15, 0, 7)); - marketSelectorIcon.setTooltip(new BisqTooltip(Res.get("bisqEasy.offerbook.selectMarket"), true)); - - channelDescription.getStyleClass().addAll("chat-header-description"); - - HBox headerTitle = new HBox(channelTitle, marketSelectorIcon, channelDescription); + super.configTitleHBox(); + + chatDomainTitle = new Label(Res.get("bisqEasy.offerbook")); + chatDomainTitle.getStyleClass().add("chat-header-title"); + + HBox headerTitle = new HBox(10, chatDomainTitle, channelDescription); headerTitle.setAlignment(Pos.BASELINE_LEFT); headerTitle.setPadding(new Insets(7, 0, 0, 0)); HBox.setHgrow(headerTitle, Priority.ALWAYS); - searchBox.setMaxWidth(200); - double searchBoxHeight = 29; - searchBox.setMinHeight(searchBoxHeight); - searchBox.setMaxHeight(searchBoxHeight); - searchBox.setPrefHeight(searchBoxHeight); - - HBox.setMargin(channelTitle, new Insets(0, -10, 0, 4)); - titleHBox.getChildren().addAll(headerTitle, searchBox, headerDropdownMenu); + titleHBox.getChildren().setAll(headerTitle, searchBox, headerDropdownMenu); } @Override protected void configCenterVBox() { - centerVBox.setSpacing(0); - centerVBox.setFillWidth(true); - - /* filterButton = new Button(Res.get("bisqEasy.topPane.filter")); - ImageView filterIcon = ImageUtil.getImageViewById("filter"); - filterIcon.setOpacity(0.3); - filterButton.setAlignment(Pos.CENTER_LEFT); - filterButton.setTextAlignment(TextAlignment.LEFT); - filterButton.setPadding(new Insets(0, -110, 0, 0)); - filterButton.setGraphic(filterIcon); - filterButton.setGraphicTextGap(10); - filterButton.getStyleClass().add("grey-transparent-outlined-button"); - filterButton.setStyle("-fx-padding: 5 12 5 12;");*/ - - // offersOnlySwitch = new Switch(Res.get("bisqEasy.topPane.filter.offersOnly")); - - /* Label filterLabel = new Label(Res.get("bisqEasy.topPane.filter")); - filterLabel.getStyleClass().add("bisq-easy-chat-filter-headline"); - closeFilterButton = BisqIconButton.createIconButton("close");*/ - - /* HBox.setMargin(closeFilterButton, new Insets(0, 0, 0, 0)); - HBox headlineAndCloseButton = new HBox(filterLabel, Spacer.fillHBox(), closeFilterButton); - headlineAndCloseButton.setAlignment(Pos.CENTER);*/ - - /* filterPane = new VBox(20, headlineAndCloseButton, searchBox, offersOnlySwitch); - filterPane.getStyleClass().add("bisq-easy-chat-filter-panel-bg"); - filterPane.setPadding(new Insets(10));*/ - - chatMessagesComponent.setMinWidth(700); - - VBox.setVgrow(chatMessagesComponent, Priority.ALWAYS); - centerVBox.getChildren().addAll(titleHBox, Layout.hLine(), chatMessagesComponent); - centerVBox.getStyleClass().add("bisq-easy-container"); - centerVBox.setAlignment(Pos.CENTER); - } - - @Override - protected void configSideBarVBox() { - sideBar.getChildren().add(channelSidebar); - sideBar.getStyleClass().add("bisq-easy-chat-sidebar-bg"); - sideBar.setAlignment(Pos.TOP_RIGHT); - sideBar.setFillWidth(true); + addMarketSelectionList(); + addChatBox(); } @Override protected void configContainerHBox() { - containerHBox.setSpacing(10); - containerHBox.setFillHeight(true); - Layout.pinToAnchorPane(containerHBox, 0, 0, 0, 0); - - AnchorPane wrapper = new AnchorPane(); - wrapper.setPadding(new Insets(0, 40, 0, 40)); - wrapper.getChildren().add(containerHBox); + super.configContainerHBox(); - root.setContent(wrapper); - - HBox.setHgrow(centerVBox, Priority.ALWAYS); - HBox.setHgrow(sideBar, Priority.NEVER); - containerHBox.getChildren().addAll(centerVBox, sideBar); - containerHBox.setAlignment(Pos.CENTER); + containerHBox.getChildren().setAll(marketSelectionList, centerVBox, sideBar); } @Override protected void onViewAttached() { super.onViewAttached(); - // offersOnlySwitch.selectedProperty().bindBidirectional(bisqEasyOfferbookModel.getOfferOnly()); - - /* if (filterPaneHeight == 0) { - filterPaneHeightPin = EasyBind.subscribe(filterPane.heightProperty(), h -> { - if (h.doubleValue() > 0) { - filterPaneHeight = h.doubleValue(); - double target = bisqEasyOfferbookModel.getShowFilterOverlay().get() ? filterPaneHeight : 0; - filterPane.setMinHeight(target); - filterPane.setMaxHeight(target); - filterPaneHeightPin.unsubscribe(); - } - }); - } else { - double target = bisqEasyOfferbookModel.getShowFilterOverlay().get() ? filterPaneHeight : 0; - filterPane.setMinHeight(target); - filterPane.setMaxHeight(target); - }*/ - /* showFilterOverlayPin = EasyBind.subscribe(bisqEasyOfferbookModel.getShowFilterOverlay(), - showFilterOverlay -> { - if (filterPaneHeight > 0) { - if (showFilterOverlay) { - filterButton.setText(Res.get("bisqEasy.topPane.closeFilter")); - root.getScene().setOnKeyReleased(keyEvent -> KeyHandlerUtil.handleEscapeKeyEvent(keyEvent, bisqEasyOfferbookController::onCloseFilter)); - } else { - filterButton.setText(Res.get("bisqEasy.topPane.filter")); - root.getScene().setOnKeyReleased(null); - } - double target = showFilterOverlay ? filterPaneHeight : 0; - if (filterPane.getMaxHeight() != target) { - double start = showFilterOverlay ? 0 : filterPaneHeight; - Transitions.animateMaxHeight(filterPane, start, target, Transitions.DEFAULT_DURATION / 4d, () -> { - }); - } - } - });*/ - - // filterButton.setOnAction(e -> bisqEasyOfferbookController.onToggleFilter()); - // closeFilterButton.setOnAction(e -> bisqEasyOfferbookController.onCloseFilter()); - marketSelectorIcon.setOnMouseClicked(e -> { - onOpenMarketSelector(); - e.consume(); + hideUserMessagesCheckbox.selectedProperty().bindBidirectional(bisqEasyOfferbookModel.getOfferOnly()); + marketSelectorSearchBox.textProperty().bindBidirectional(getModel().getMarketSelectorSearchText()); + + selectedModelItemPin = EasyBind.subscribe(getModel().getSelectedMarketChannelItem(), selected -> { + tableView.getSelectionModel().select(selected); }); - channelTitle.setOnMouseClicked(e -> { - // Only handle click on text. On click of channel icon we show channel info - if (e.getTarget() instanceof Text) { - onOpenMarketSelector(); - e.consume(); + tableViewSelectionPin = EasyBind.subscribe(tableView.getSelectionModel().selectedItemProperty(), item -> { + if (item != null) { + getController().onSelectMarketChannelItem(item); } }); + + offers.setOnAction(e -> sortTableViewColumn(BisqEasyOfferbookUtil.SortByMarketActivity(), offers)); + nameAZ.setOnAction(e -> sortTableViewColumn(BisqEasyOfferbookUtil.SortByMarketNameAsc(), nameAZ)); + nameZA.setOnAction(e -> sortTableViewColumn(BisqEasyOfferbookUtil.SortByMarketNameDesc(), nameZA)); + createOfferButton.setOnAction(e -> getController().onCreateOffer()); + + sortTableViewColumn(BisqEasyOfferbookUtil.SortByMarketActivity(), offers); + } + + private void sortTableViewColumn(Comparator comparator, MenuItem menuItem) { + dropdownMenu.setLabel(menuItem.getText()); + tableView.getSortOrder().clear(); + marketLabelTableColumn.setComparator(comparator); + tableView.getSortOrder().add(marketLabelTableColumn); } @Override protected void onViewDetached() { super.onViewDetached(); - // offersOnlySwitch.selectedProperty().unbindBidirectional(bisqEasyOfferbookModel.getOfferOnly()); + hideUserMessagesCheckbox.selectedProperty().unbindBidirectional(bisqEasyOfferbookModel.getOfferOnly()); + marketSelectorSearchBox.textProperty().unbindBidirectional(getModel().getMarketSelectorSearchText()); - // showFilterOverlayPin.unsubscribe(); + selectedModelItemPin.unsubscribe(); + tableViewSelectionPin.unsubscribe(); - // filterButton.setOnAction(null); - // closeFilterButton.setOnAction(null); - marketSelectorIcon.setOnMouseClicked(null); - channelTitle.setOnMouseClicked(null); + offers.setOnAction(null); + nameAZ.setOnAction(null); + nameZA.setOnAction(null); + createOfferButton.setOnAction(null); } - private void onOpenMarketSelector() { - new ComboBoxWithSearch<>(marketSelectorIcon, - bisqEasyOfferbookModel.getSortedMarketChannelItems(), - c -> getMarketListCell(), - bisqEasyOfferbookController::onSwitchMarketChannel, - Res.get("bisqEasy.offerbook.selectMarket").toUpperCase(), - Res.get("action.search"), - 350, 5, 23, 31.5) - .show(); + private BisqEasyOfferbookModel getModel() { + return (BisqEasyOfferbookModel) model; } - private ListCell getMarketListCell() { - return new ListCell<>() { - final Label market = new Label(); - final Label numOffers = new Label(); - final HBox hBox = new HBox(10, market, Spacer.fillHBox(), numOffers); - final Tooltip tooltip = new BisqTooltip(); + private BisqEasyOfferbookController getController() { + return (BisqEasyOfferbookController) controller; + } - { - setCursor(Cursor.HAND); - setPrefHeight(40); - setPadding(new Insets(0, 0, -20, 0)); + private void addMarketSelectionList() { + HBox header = new HBox(channelTitle); + header.setMinHeight(HEADER_HEIGHT); + header.setMaxHeight(HEADER_HEIGHT); + header.setAlignment(Pos.CENTER_LEFT); + header.setPadding(new Insets(12.5, 25, 12.5, 25)); + header.getStyleClass().add("chat-header-title"); + + marketSelectorSearchBox = new SearchBox(); + marketSelectorSearchBox.getStyleClass().add("market-selection-search-box"); + + dropdownMenu = new DropdownMenu("arrow-down", "arrow-down", false); + dropdownMenu.getStyleClass().add("market-selection-dropdown-menu"); + offers = new MenuItem(Res.get("bisqEasy.offerbook.dropdownMenu.offers")); + nameAZ = new MenuItem(Res.get("bisqEasy.offerbook.dropdownMenu.nameAZ")); + nameZA = new MenuItem(Res.get("bisqEasy.offerbook.dropdownMenu.nameZA")); + dropdownMenu.addMenuItems(offers, nameAZ, nameZA); + + HBox subheader = new HBox(marketSelectorSearchBox, Spacer.fillHBox(), dropdownMenu); + dropdownMenu.setMaxWidth(Double.MAX_VALUE); + subheader.getStyleClass().add("market-selection-subheader"); + + tableView = new BisqTableView<>(getModel().getSortedMarketChannelItems()); + tableView.getStyleClass().add("market-selection-list"); + tableView.allowVerticalScrollbar(); + tableView.hideHorizontalScrollbar(); + tableView.setFixedCellSize(53); + configTableView(); + VBox.setVgrow(tableView, Priority.ALWAYS); + + createOfferButton = createAndGetCreateOfferButton(); + HBox offerButtonContainer = new HBox(createOfferButton); + offerButtonContainer.setAlignment(Pos.CENTER); + offerButtonContainer.setPadding(new Insets(14, 20, 14, 20)); + + marketSelectionList = new VBox(header, Layout.hLine(), subheader, tableView, offerButtonContainer); + marketSelectionList.setPrefWidth(210); + marketSelectionList.setMinWidth(210); + marketSelectionList.setFillWidth(true); + marketSelectionList.getStyleClass().add("chat-container"); + } - market.getStyleClass().add("market-selection"); + private Button createAndGetCreateOfferButton() { + Button createOfferButton = new Button(Res.get("offer.createOffer")); + createOfferButton.getStyleClass().addAll("create-offer-button", "normal-text"); + createOfferButton.setMinWidth(170); - hBox.setAlignment(Pos.CENTER_LEFT); - hBox.setPadding(new Insets(0, 10, 0, -5)); - Tooltip.install(hBox, tooltip); - } + double height = 42; + createOfferButton.setMinHeight(height); + createOfferButton.setMaxHeight(height); + createOfferButton.setPrefHeight(height); + return createOfferButton; + } - @Override - protected void updateItem(MarketChannelItem item, boolean empty) { - super.updateItem(item, empty); - if (item != null && !empty) { - market.setText(item.getMarketString()); - int numMessages = bisqEasyOfferbookController.getNumMessages(item.getMarket()); - numOffers.setText(numMessages > 0 ? - numMessages > 1 ? - Res.get("bisqEasy.offerbook.marketListCell.numOffers.many", numMessages) : - Res.get("bisqEasy.offerbook.marketListCell.numOffers.one", numMessages) : - ""); - String quoteCurrencyName = item.getMarket().getQuoteCurrencyName(); - tooltip.setText(numMessages > 0 ? - numMessages > 1 ? - Res.get("bisqEasy.offerbook.marketListCell.numOffers.tooltip.many", - numMessages, quoteCurrencyName) : - Res.get("bisqEasy.offerbook.marketListCell.numOffers.tooltip.one", - numMessages, quoteCurrencyName) : - Res.get("bisqEasy.offerbook.marketListCell.numOffers.tooltip.none", - quoteCurrencyName)); - setGraphic(hBox); - } else { - setGraphic(null); - } - } - }; + private void configTableView() { + BisqTableColumn marketLogoTableColumn = new BisqTableColumn.Builder() + .fixWidth(55) + .setCellFactory(BisqEasyOfferbookUtil.getMarketLogoCellFactory()) + .isSortable(false) + .build(); + + marketLabelTableColumn = new BisqTableColumn.Builder() + .minWidth(100) + .left() + .setCellFactory(BisqEasyOfferbookUtil.getMarketLabelCellFactory()) + .build(); + + tableView.getColumns().add(tableView.getSelectionMarkerColumn()); + tableView.getColumns().add(marketLogoTableColumn); + tableView.getColumns().add(marketLabelTableColumn); } + private void addChatBox() { + centerVBox.setSpacing(0); + centerVBox.setFillWidth(true); + + Label label = new Label(Res.get("bisqEasy.topPane.filter.hideUserMessages")); + hideUserMessagesCheckbox = new CheckBox(); + HBox checkbox = new HBox(5, label, hideUserMessagesCheckbox); + checkbox.getStyleClass().add("market-selection-subheader-checkbox"); + checkbox.setAlignment(Pos.CENTER); + + HBox subheaderContent = new HBox(5, checkbox); + subheaderContent.getStyleClass().add("market-selection-subheader-content"); + HBox.setHgrow(subheaderContent, Priority.ALWAYS); + + HBox subheader = new HBox(subheaderContent); + subheader.setAlignment(Pos.CENTER); + subheader.getStyleClass().add("market-selection-subheader"); + + chatMessagesComponent.setMinWidth(700); + + VBox.setVgrow(chatMessagesComponent, Priority.ALWAYS); + centerVBox.getChildren().addAll(titleHBox, Layout.hLine(), subheader, chatMessagesComponent); + centerVBox.getStyleClass().add("bisq-easy-container"); + centerVBox.setAlignment(Pos.CENTER); + } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/MarketChannelItem.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/MarketChannelItem.java index 05e6c97e09..51ecad8a3f 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/MarketChannelItem.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/bisq_easy/offerbook/MarketChannelItem.java @@ -18,19 +18,52 @@ package bisq.desktop.main.content.bisq_easy.offerbook; import bisq.chat.bisqeasy.offerbook.BisqEasyOfferbookChannel; +import bisq.chat.bisqeasy.offerbook.BisqEasyOfferbookMessage; import bisq.common.currency.Market; +import bisq.desktop.common.threading.UIThread; +import bisq.desktop.common.utils.ImageUtil; +import javafx.beans.property.IntegerProperty; +import javafx.beans.property.SimpleIntegerProperty; +import javafx.scene.CacheHint; +import javafx.scene.effect.ColorAdjust; +import javafx.scene.image.ImageView; import lombok.EqualsAndHashCode; import lombok.Getter; +import java.lang.ref.WeakReference; + @EqualsAndHashCode @Getter -class MarketChannelItem { - private final Market market; +public class MarketChannelItem { private final BisqEasyOfferbookChannel channel; + private final Market market; + private final ImageView marketLogo; + private final IntegerProperty numOffers = new SimpleIntegerProperty(0); public MarketChannelItem(BisqEasyOfferbookChannel channel) { this.channel = channel; market = channel.getMarket(); + + String marketCode = market.getQuoteCurrencyCode().toLowerCase(); + String iconId = String.format("market-%s", marketCode); + marketLogo = ImageUtil.getImageViewById(iconId); + marketLogo.setCache(true); + marketLogo.setCacheHint(CacheHint.SPEED); + ColorAdjust colorAdjust = new ColorAdjust(); + colorAdjust.setBrightness(-0.1); + marketLogo.setEffect(colorAdjust); + + channel.getChatMessages().addObserver(new WeakReference(this::updateNumOffers).get()); + updateNumOffers(); + } + + private void updateNumOffers() { + UIThread.run(() -> { + int numOffers = (int) channel.getChatMessages().stream() + .filter(BisqEasyOfferbookMessage::hasBisqEasyOffer) + .count(); + this.getNumOffers().set(numOffers); + }); } public String getMarketString() { diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/BaseChatController.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/BaseChatController.java index 1169040e18..a7be0a9088 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/BaseChatController.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/BaseChatController.java @@ -22,7 +22,6 @@ import bisq.chat.ChatChannelDomain; import bisq.chat.ChatMessage; import bisq.chat.ChatService; -import bisq.chat.bisqeasy.offerbook.BisqEasyOfferbookChannel; import bisq.chat.bisqeasy.open_trades.BisqEasyOpenTradeChannel; import bisq.chat.common.CommonPublicChatChannel; import bisq.chat.priv.PrivateChatChannel; @@ -141,12 +140,6 @@ protected void selectedChannelChanged(@Nullable ChatChannel controller, diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/ChatView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/ChatView.java index 3ebfed013f..c8d15519de 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/ChatView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/ChatView.java @@ -26,7 +26,6 @@ @Slf4j public class ChatView, M extends ChatModel> extends BaseChatView { protected static final double SIDE_PADDING = 40; - protected static final double CHAT_BOX_MAX_WIDTH = 1200; public ChatView(ChatModel model, ChatController controller, @@ -37,12 +36,29 @@ public ChatView(ChatModel model, @Override protected void configTitleHBox() { + titleHBox.getStyleClass().add("chat-container-header"); + + HBox headerTitle = new HBox(10, channelTitle, channelDescription); + headerTitle.setAlignment(Pos.BASELINE_LEFT); + headerTitle.setPadding(new Insets(7, 0, 0, 0)); + HBox.setHgrow(headerTitle, Priority.ALWAYS); + + channelTitle.getStyleClass().add("chat-header-title"); + channelDescription.getStyleClass().add("chat-header-description"); + + searchBox.setMaxWidth(200); + double searchBoxHeight = 29; + searchBox.setMinHeight(searchBoxHeight); + searchBox.setMaxHeight(searchBoxHeight); + searchBox.setPrefHeight(searchBoxHeight); + + HBox.setMargin(channelIcon, new Insets(0, 0, -2, 5)); + titleHBox.getChildren().addAll(channelIcon, headerTitle, searchBox, headerDropdownMenu); } @Override protected void configCenterVBox() { VBox.setVgrow(chatMessagesComponent, Priority.ALWAYS); - titleHBox.setMaxWidth(CHAT_BOX_MAX_WIDTH); centerVBox.getChildren().addAll(titleHBox, Layout.hLine(), chatMessagesComponent); centerVBox.setAlignment(Pos.CENTER); centerVBox.getStyleClass().add("bisq-easy-container"); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/DropdownMenu.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/DropdownMenu.java deleted file mode 100644 index ab39d3ed56..0000000000 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/DropdownMenu.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * 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.content.chat; - -import bisq.desktop.common.utils.ImageUtil; -import javafx.geometry.Bounds; -import javafx.scene.control.*; -import javafx.scene.image.ImageView; -import javafx.stage.PopupWindow; -import javafx.stage.WindowEvent; - -public class DropdownMenu extends Button { - private final ContextMenu contextMenu = new ContextMenu(); - - public DropdownMenu(String regularIconId, String hoveringIconId) { - ImageView regularIcon = ImageUtil.getImageViewById(regularIconId); - ImageView hoveringIcon = ImageUtil.getImageViewById(hoveringIconId); - setGraphic(regularIcon); - - getStyleClass().add("dropdown-menu"); - - double size = 29; - setMaxSize(size, size); - setMinSize(size, size); - setPrefSize(size, size); - - attachHideListeners(); - setOnAction(event -> toggleContextMenu()); - - contextMenu.getStyleClass().add("dropdown-menu-popup"); - contextMenu.setOnShowing(e -> { - getStyleClass().add("dropdown-menu-active"); - setGraphic(hoveringIcon); - }); - contextMenu.setOnHidden(e -> { - getStyleClass().remove("dropdown-menu-active"); - setGraphic(regularIcon); - }); - setOnMouseExited(e -> setGraphic(contextMenu.isShowing() ? hoveringIcon : regularIcon)); - setOnMouseEntered(e -> setGraphic(hoveringIcon)); - } - - private void toggleContextMenu() { - if (!contextMenu.isShowing()) { - contextMenu.setAnchorLocation(PopupWindow.AnchorLocation.WINDOW_TOP_RIGHT); - Bounds bounds = this.localToScreen(this.getBoundsInLocal()); - double x = bounds.getMaxX() - 10; // Removing padding - double y = bounds.getMaxY() - 3; - contextMenu.show(this, x, y); - } else { - contextMenu.hide(); - } - } - - public void addMenuItems(MenuItem... items) { - contextMenu.getItems().addAll(items); - } - - public void clearMenuItems() { - contextMenu.getItems().clear(); - } - - private void attachHideListeners() { - this.sceneProperty().addListener((observable, oldScene, newScene) -> { - if (newScene != null) { - newScene.windowProperty().addListener((obs, oldWindow, newWindow) -> { - if (newWindow != null) { - newWindow.addEventHandler(WindowEvent.WINDOW_HIDING, e -> contextMenu.hide()); - } - }); - } - }); - } -} diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/common/pub/CommonPublicChatView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/common/pub/CommonPublicChatView.java index 686c499373..47e4ad50e0 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/common/pub/CommonPublicChatView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/common/pub/CommonPublicChatView.java @@ -30,30 +30,4 @@ public CommonPublicChatView(ChatModel model, CommonPublicChatController controll Pane chatMessagesComponent, Pane channelInfo) { super(model, controller, chatMessagesComponent, channelInfo); } - - @Override - protected void configTitleHBox() { - titleHBox.setAlignment(Pos.CENTER); - titleHBox.setPadding(new Insets(12.5, 25, 12.5, 25)); - titleHBox.getStyleClass().add("bisq-easy-container-header"); - titleHBox.setMinHeight(HEADER_HEIGHT); - titleHBox.setMaxHeight(HEADER_HEIGHT); - - HBox headerTitle = new HBox(10, channelTitle, channelDescription); - headerTitle.setAlignment(Pos.BASELINE_LEFT); - headerTitle.setPadding(new Insets(7, 0, 0, 0)); - HBox.setHgrow(headerTitle, Priority.ALWAYS); - - channelTitle.getStyleClass().add("chat-header-title"); - channelDescription.getStyleClass().add("chat-header-description"); - - searchBox.setMaxWidth(200); - double searchBoxHeight = 29; - searchBox.setMinHeight(searchBoxHeight); - searchBox.setMaxHeight(searchBoxHeight); - searchBox.setPrefHeight(searchBoxHeight); - - HBox.setMargin(channelIcon, new Insets(0, 0, -2, 5)); - titleHBox.getChildren().addAll(channelIcon, headerTitle, searchBox, headerDropdownMenu); - } } diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/priv/PrivateChatsView.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/priv/PrivateChatsView.java index cfe1d0bcd3..37ce9b512a 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/priv/PrivateChatsView.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/chat/priv/PrivateChatsView.java @@ -49,7 +49,7 @@ @Slf4j public abstract class PrivateChatsView extends ChatView { private BisqTableView tableView; - private VBox openChatsList, chatHeaderVBox; + private VBox openChatsSelectionList, chatHeaderVBox; private Subscription noOpenChatsPin, tableViewSelectionPin, selectedModelItemPin, peersUserProfilePin, myUserProfilePin; private UserProfileDisplay chatPeerUserProfileDisplay, chatMyUserProfileDisplay; @@ -64,79 +64,15 @@ public PrivateChatsView(PrivateChatsModel model, @Override protected void configCenterVBox() { - addOpenChatsList(); + addOpenChatsSelectionList(); addChatBox(); } - private void addOpenChatsList() { - Label openChatsHeader = new Label(Res.get("chat.private.openChatsList.headline")); - openChatsHeader.setMinHeight(HEADER_HEIGHT); - openChatsHeader.setMaxHeight(HEADER_HEIGHT); - openChatsHeader.setAlignment(Pos.CENTER_LEFT); - openChatsHeader.setPadding(new Insets(15, 30, 15, 30)); - openChatsHeader.getStyleClass().add("chat-header-title"); - - tableView = new BisqTableView<>(getModel().getSortedList()); - tableView.allowVerticalScrollbar(); - configTableView(); - VBox.setVgrow(tableView, Priority.ALWAYS); - - openChatsList = new VBox(openChatsHeader, Layout.hLine(), tableView); - openChatsList.setPrefWidth(210); - openChatsList.setMinWidth(210); - openChatsList.setFillWidth(true); - openChatsList.getStyleClass().add("chat-container"); - } - - private void addChatBox() { - chatMessagesComponent.setMinHeight(200); - chatMessagesComponent.setPadding(new Insets(0, -30, -15, -30)); - - chatHeaderVBox = new VBox(0); - - leaveChatButton = new MenuItem(Res.get("bisqEasy.privateChats.leave")); - leaveChatButton.getStyleClass().add("leave-chat-item"); - leaveChatButton.setGraphic(ImageUtil.getImageViewById("exit-door")); - - headerDropdownMenu.clearMenuItems(); - headerDropdownMenu.addMenuItems(helpButton, leaveChatButton); - - HBox chatHeaderHBox = new HBox(10, chatHeaderVBox, Spacer.fillHBox(), headerDropdownMenu); - chatHeaderHBox.setMinHeight(HEADER_HEIGHT); - chatHeaderHBox.setMaxHeight(HEADER_HEIGHT); - chatHeaderHBox.setAlignment(Pos.CENTER_LEFT); - chatHeaderHBox.setPadding(new Insets(15, 30, 15, 30)); - chatHeaderHBox.getStyleClass().add("bisq-easy-container-header"); - chatHeaderHBox.setMaxWidth(CHAT_BOX_MAX_WIDTH); - - VBox.setMargin(chatMessagesComponent, new Insets(0, 30, 15, 30)); - VBox.setVgrow(chatMessagesComponent, Priority.ALWAYS); - VBox chatVBox = new VBox(chatHeaderHBox, Layout.hLine(), chatMessagesComponent); - chatVBox.getStyleClass().add("bisq-easy-container"); - chatVBox.setAlignment(Pos.CENTER); - - VBox.setVgrow(chatVBox, Priority.ALWAYS); - centerVBox.setAlignment(Pos.CENTER); - centerVBox.setFillWidth(true); - centerVBox.getChildren().add(chatVBox); - } - @Override protected void configContainerHBox() { - containerHBox.setSpacing(10); - containerHBox.setFillHeight(true); - Layout.pinToAnchorPane(containerHBox, 0, 0, 0, 0); - - AnchorPane wrapper = new AnchorPane(); - wrapper.setPadding(new Insets(0, SIDE_PADDING, 0, SIDE_PADDING)); - wrapper.getChildren().add(containerHBox); - - root.setContent(wrapper); + super.configContainerHBox(); - HBox.setHgrow(centerVBox, Priority.ALWAYS); - HBox.setHgrow(sideBar, Priority.NEVER); - containerHBox.getChildren().addAll(openChatsList, centerVBox, sideBar); - containerHBox.setAlignment(Pos.CENTER); + containerHBox.getChildren().setAll(openChatsSelectionList, centerVBox, sideBar); } @Override @@ -204,6 +140,53 @@ protected void onViewDetached() { tableView.managedProperty().unbind(); } + @Override + protected void configTitleHBox() { + super.configTitleHBox(); + + chatHeaderVBox = new VBox(0); + HBox.setHgrow(chatHeaderVBox, Priority.ALWAYS); + + leaveChatButton = new MenuItem(Res.get("bisqEasy.privateChats.leave")); + leaveChatButton.getStyleClass().add("leave-chat-item"); + leaveChatButton.setGraphic(ImageUtil.getImageViewById("exit-door")); + + headerDropdownMenu.clearMenuItems(); + headerDropdownMenu.addMenuItems(helpButton, leaveChatButton); + + titleHBox.getChildren().setAll(chatHeaderVBox, searchBox, headerDropdownMenu); + } + + private void addOpenChatsSelectionList() { + Label openChatsHeader = new Label(Res.get("chat.private.openChatsList.headline")); + openChatsHeader.setMinHeight(HEADER_HEIGHT); + openChatsHeader.setMaxHeight(HEADER_HEIGHT); + openChatsHeader.setAlignment(Pos.CENTER_LEFT); + openChatsHeader.setPadding(new Insets(15, 30, 15, 30)); + openChatsHeader.getStyleClass().add("chat-header-title"); + + tableView = new BisqTableView<>(getModel().getSortedList()); + tableView.allowVerticalScrollbar(); + configTableView(); + VBox.setVgrow(tableView, Priority.ALWAYS); + + openChatsSelectionList = new VBox(openChatsHeader, Layout.hLine(), tableView); + openChatsSelectionList.setPrefWidth(210); + openChatsSelectionList.setMinWidth(210); + openChatsSelectionList.setFillWidth(true); + openChatsSelectionList.getStyleClass().add("chat-container"); + } + + private void addChatBox() { + centerVBox.setSpacing(0); + centerVBox.setFillWidth(true); + chatMessagesComponent.setMinWidth(200); + VBox.setVgrow(chatMessagesComponent, Priority.ALWAYS); + centerVBox.getChildren().addAll(titleHBox, Layout.hLine(), chatMessagesComponent); + centerVBox.getStyleClass().add("bisq-easy-container"); + centerVBox.setAlignment(Pos.CENTER); + } + private void configTableView() { tableView.getColumns().add(tableView.getSelectionMarkerColumn()); diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/ChatMessagesComponent.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/ChatMessagesComponent.java index 15a1707b4a..ced8451250 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/ChatMessagesComponent.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/ChatMessagesComponent.java @@ -39,7 +39,6 @@ import bisq.desktop.components.controls.BisqTextArea; import bisq.desktop.components.controls.BisqTooltip; import bisq.desktop.components.overlay.Popup; -import bisq.desktop.main.content.bisq_easy.trade_wizard.TradeWizardController; import bisq.desktop.main.content.chat.ChatUtil; import bisq.i18n.Res; import bisq.offer.Direction; @@ -77,7 +76,6 @@ import java.util.function.Predicate; import java.util.stream.Collectors; -import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; @Slf4j @@ -217,11 +215,9 @@ protected void selectedChannelChanged(ChatChannel chatCha model.selectedChannel.set(chatChannel); applyUserProfileOrChannelChange(); - boolean isBisqEasyPublicChatChannel = chatChannel instanceof BisqEasyOfferbookChannel; boolean isBisqEasyPrivateTradeChatChannel = chatChannel instanceof BisqEasyOpenTradeChannel; boolean isTwoPartyPrivateChatChannel = chatChannel instanceof TwoPartyPrivateChatChannel; model.getLeaveChannelButtonVisible().set(false); - model.getCreateOfferButtonVisible().set(isBisqEasyPublicChatChannel); model.getOpenDisputeButtonVisible().set(isBisqEasyPrivateTradeChatChannel); model.getSendBtcAddressButtonVisible().set(false); model.getSendPaymentAccountButtonVisible().set(false); @@ -373,13 +369,6 @@ void onLeaveChannel() { }); } - void onCreateOffer() { - ChatChannel chatChannel = model.getSelectedChannel().get(); - checkArgument(chatChannel instanceof BisqEasyOfferbookChannel, - "channel must be instanceof BisqEasyPublicChatChannel at onCreateOfferButtonClicked"); - Navigation.navigateTo(NavigationTarget.TRADE_WIZARD, new TradeWizardController.InitData(true)); - } - private void onSendMessage(String text) { if (text == null || text.isEmpty()) { return; @@ -484,7 +473,6 @@ private void enableChatDialog(boolean isEnabled) { @Getter private static class Model implements bisq.desktop.common.view.Model { private final BooleanProperty leaveChannelButtonVisible = new SimpleBooleanProperty(); - private final BooleanProperty createOfferButtonVisible = new SimpleBooleanProperty(); private final BooleanProperty openDisputeButtonVisible = new SimpleBooleanProperty(); private final BooleanProperty sendBtcAddressButtonVisible = new SimpleBooleanProperty(); private final BooleanProperty sendPaymentAccountButtonVisible = new SimpleBooleanProperty(); @@ -541,7 +529,7 @@ public static class View extends bisq.desktop.common.view.View userMentionPopup; private ChatMentionPopupMenu> channelMentionPopup; private Pane userProfileSelectionRoot; - private Button leaveChannelButton, createOfferButton; + private Button leaveChannelButton; private View(Model model, Controller controller, @@ -602,10 +590,6 @@ protected void onViewAttached() { channelMentionPopup.setItems(model.mentionableChatChannels); createChatDialogEnabledSubscription(); - - createOfferButton.visibleProperty().bind(model.getCreateOfferButtonVisible()); - createOfferButton.managedProperty().bind(model.getCreateOfferButtonVisible()); - createOfferButton.setOnAction(e -> controller.onCreateOffer()); } @Override @@ -617,18 +601,14 @@ protected void onViewDetached() { inputField.textProperty().unbindBidirectional(model.getTextInput()); userMentionPopup.filterProperty().unbind(); channelMentionPopup.filterProperty().unbind(); - createOfferButton.visibleProperty().unbind(); - createOfferButton.managedProperty().unbind(); removeChatDialogEnabledSubscription(); inputField.setOnKeyPressed(null); sendButton.setOnAction(null); leaveChannelButton.setOnAction(null); - createOfferButton.setOnAction(null); } private VBox createAndGetBottomBar(UserProfileSelection userProfileSelection) { - createOfferButton = createAndGetCreateOfferButton(); setUpUserProfileSelection(userProfileSelection); HBox sendMessageBox = createAndGetSendMessageBox(); @@ -636,7 +616,7 @@ private VBox createAndGetBottomBar(UserProfileSelection userProfileSelection) { leaveChannelButton = createAndGetChatButton(Res.get("chat.leave"), 120); HBox bottomBar = new HBox(10); - bottomBar.getChildren().addAll(createOfferButton, userProfileSelectionRoot, sendMessageBox, leaveChannelButton); + bottomBar.getChildren().addAll(userProfileSelectionRoot, sendMessageBox, leaveChannelButton); bottomBar.setMaxWidth(CHAT_BOX_MAX_WIDTH); bottomBar.setPadding(new Insets(14, 20, 14, 20)); bottomBar.setAlignment(Pos.BOTTOM_CENTER); @@ -678,18 +658,6 @@ private void setUpInputFieldAtMentions() { channelMentionPopup.setSelectionHandler(controller::listChannelsHandler); } - private Button createAndGetCreateOfferButton() { - Button createOfferButton = new Button(Res.get("offer.createOffer")); - createOfferButton.getStyleClass().addAll("create-offer-button", "normal-text"); - createOfferButton.setMinWidth(170); - - double height = 45; - createOfferButton.setMinHeight(height); - createOfferButton.setMaxHeight(height); - createOfferButton.setPrefHeight(height); - return createOfferButton; - } - private void setUpUserProfileSelection(UserProfileSelection userProfileSelection) { userProfileSelection.setMaxComboBoxWidth(165); userProfileSelection.setConverter(new StringConverter<>() { diff --git a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/MarketImageComposition.java b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/MarketImageComposition.java index 1a6331bab3..84af46bfd5 100644 --- a/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/MarketImageComposition.java +++ b/apps/desktop/desktop/src/main/java/bisq/desktop/main/content/components/MarketImageComposition.java @@ -7,12 +7,15 @@ import bisq.security.DigestUtil; import javafx.geometry.Insets; import javafx.geometry.Pos; +import javafx.scene.control.ContentDisplay; import javafx.scene.control.Label; import javafx.scene.effect.ColorAdjust; import javafx.scene.image.ImageView; import javafx.scene.layout.StackPane; +import javafx.scene.paint.Color; import javafx.scene.paint.Paint; import javafx.scene.shape.Circle; +import javafx.scene.text.Text; import lombok.extern.slf4j.Slf4j; import java.math.BigInteger; @@ -116,12 +119,7 @@ public static StackPane getCurrencyIcon(String code) { circle.setFill(Paint.valueOf("#3D8603")); } else { circle.setFill(Paint.valueOf("#FF0000")); - ColorAdjust colorAdjust = new ColorAdjust(); - colorAdjust.setSaturation(-0.25); - colorAdjust.setBrightness(-0.5); - double hue = new BigInteger(DigestUtil.sha256(symbolOrCode.getBytes())).mod(BigInteger.valueOf(100000)).doubleValue() / 100000; - colorAdjust.setHue(hue); - circle.setEffect(colorAdjust); + circle.setEffect(createColorAdjust(symbolOrCode)); } StackPane.setAlignment(label, Pos.CENTER); @@ -131,4 +129,28 @@ public static StackPane getCurrencyIcon(String code) { return pane; } + + public static Label createMarketLogoPlaceholder(String marketCode) { + Circle circle = new Circle(15); + circle.setFill(Paint.valueOf("#FF0000")); + circle.setEffect(createColorAdjust(marketCode)); + + Text text = new Text(marketCode.substring(0, Math.min(3, marketCode.length()))); + text.getStyleClass().setAll("fiat-code"); + + Label label = new Label("", new Circle(15, Color.LIGHTGRAY)); + label.setGraphic(circle); + label.setText(text.getText()); + label.setContentDisplay(ContentDisplay.CENTER); + return label; + } + + private static ColorAdjust createColorAdjust(String code) { + ColorAdjust colorAdjust = new ColorAdjust(); + colorAdjust.setSaturation(-0.25); + colorAdjust.setBrightness(-0.5); + double hue = new BigInteger(DigestUtil.sha256(code.getBytes())).mod(BigInteger.valueOf(100000)).doubleValue() / 100000; + colorAdjust.setHue(hue); + return colorAdjust; + } } diff --git a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css index b646960b29..7f701de9c8 100644 --- a/apps/desktop/desktop/src/main/resources/css/bisq_easy.css +++ b/apps/desktop/desktop/src/main/resources/css/bisq_easy.css @@ -7,11 +7,6 @@ -fx-background-radius: 8; } -.bisq-easy-container-header { - -fx-background-color: -bisq-dark-grey-20; - -fx-background-radius: 8 8 0 0; -} - .bisq-easy-container-headline { -fx-fill: -fx-light-text-color; -fx-text-fill: -fx-light-text-color; @@ -120,6 +115,86 @@ -fx-text-fill: -bisq2-green; } +.market-selection-subheader-content { + -fx-max-width: 1200; + -fx-alignment: center-right; + -fx-padding: 0 25 0 25; +} + +.market-selection-subheader { + -fx-background-color: -bisq-dark-grey-30; + -fx-background-radius: 0; + -fx-max-height: 30; + -fx-min-height: 30; + -fx-pref-height: 30; + -fx-padding: 2 12 2 7; +} + +.market-selection-subheader-checkbox .check-box { + -fx-scale-x: 0.6; + -fx-scale-y: 0.6; +} + +.market-selection-subheader-checkbox .label { + -fx-text-fill: -fx-mid-text-color; +} + +.market-selection-subheader-checkbox .check-box > .box { + -fx-background-color: transparent; + -fx-background-radius: 0; + -fx-border-color: -bisq-mid-grey-20; + -fx-border-width: 1; +} + +.market-selection-search-box { + -fx-background-radius: 0; + -fx-background-color: -bisq-dark-grey-30; + -fx-border-color: transparent; + -fx-border-width: 0; + -fx-border-radius: 0; + -fx-padding: 0; + -fx-max-width: 95; +} + +.market-selection-search-box .search-text-field { + -fx-padding: 0 5 0 5; +} + +.market-selection-dropdown-menu { + -fx-padding: 0 10 0 10; +} + +.market-selection-list .column-header-background { + -fx-max-height: 0; + -fx-pref-height: 0; + -fx-min-height: 0; +} + +.market-selection-list { + -fx-background-insets: 0; + -fx-padding: 0; +} + +.market-selection-list .table-row-cell { + -fx-border-width: 0; +} + +.market-selection-list .table-cell { + /*-fx-border-width: 1;*/ + /*-fx-border-color: blue;*/ + -fx-padding: 0; +} + +.market-selection-list .table-cell .text { + -fx-fill: -fx-mid-text-color; + -fx-text-fill: -fx-mid-text-color; +} + +.market-selection-list .market-name .text { + -fx-fill: -fx-light-text-color !important; + -fx-text-fill: -fx-light-text-color !important; +} + .create-offer-button { -fx-background-color: -fx-default-button; -fx-text-fill: -fx-light-text-color; @@ -614,21 +689,6 @@ -fx-background-radius: 8 8 0 0; } -.bisq-easy-chat-filter-panel-bg { - -fx-background-color: rgba(255, 255, 255, 0.05); - -fx-background-radius: 4; - -fx-background-insets: 0 25 10 25; - -fx-border-color: transparent; - -fx-border-insets: 0 25 10 25; -} - -.bisq-easy-chat-filter-headline { - -fx-fill: -fx-light-text-color; - -fx-text-fill: -fx-light-text-color; - -fx-font-family: "IBM Plex Sans Light"; - -fx-font-size: 1.4em; -} - /******************************************************************************* * * diff --git a/apps/desktop/desktop/src/main/resources/css/chat.css b/apps/desktop/desktop/src/main/resources/css/chat.css index 275942f26d..99df5fd7b5 100644 --- a/apps/desktop/desktop/src/main/resources/css/chat.css +++ b/apps/desktop/desktop/src/main/resources/css/chat.css @@ -245,66 +245,20 @@ -fx-background-color: -bisq-dark-grey-20; } + /******************************************************************************* - * Dropdown Menu * + * Header * ******************************************************************************/ -.dropdown-menu { - -fx-background-color: transparent; - -fx-background-radius: 6; - -fx-border-width: 0; -} - -.dropdown-menu:hover, -.dropdown-menu-active { - -fx-background-color: -bisq-dark-grey-40; -} - -.dropdown-menu > .arrow-button { - -fx-padding: 0; - -fx-shape: none; -} - -.dropdown-menu-popup { - -fx-background-color: -bisq-dark-grey-40; - -fx-background-radius: 6; - -fx-padding: 8 3 8 3; - -fx-border-color: -bisq-dark-grey-50; - -fx-border-width: 1; - -fx-border-radius: 6; - -fx-effect: none; -} - -.dropdown-menu-popup .menu-item, -.dropdown-menu-popup .menu-item:focused { - -fx-padding: 10; - -fx-background-color: transparent; - -fx-cursor: hand; -} - -.dropdown-menu-popup .menu-item > .label, -.dropdown-menu-popup .menu-item:focused > .label { - -fx-padding: 0 5 0 5; - -fx-font-size: 1em; - -fx-text-fill: -fx-mid-text-color; - -fx-font-family: "IBM Plex Sans"; -} - -.dropdown-menu-popup .menu-item:hover { +.chat-container-header { -fx-background-color: -bisq-dark-grey-20; -} - -.dropdown-menu-popup .menu-item:hover > .label { - -fx-text-fill: -fx-light-text-color; -} - -.dropdown-menu-popup .leave-chat-item > .label, -.dropdown-menu-popup .leave-chat-item:focused > .label { - -fx-text-fill: -bisq2-red-lit-10; -} - -.dropdown-menu-popup .leave-chat-item:hover > .label { - -fx-text-fill: -bisq2-red-lit-50; + -fx-background-radius: 8 8 0 0; + -fx-max-width: 1200; + -fx-max-height: 61; + -fx-min-height: 61; + -fx-pref-height: 61; + -fx-alignment: center-left; + -fx-padding: 12.5 25 12.5 25; } diff --git a/apps/desktop/desktop/src/main/resources/css/containers.css b/apps/desktop/desktop/src/main/resources/css/containers.css index 9c2b64c887..f387f90226 100644 --- a/apps/desktop/desktop/src/main/resources/css/containers.css +++ b/apps/desktop/desktop/src/main/resources/css/containers.css @@ -175,6 +175,14 @@ -fx-opacity: 0; } +.force-hide-horizontal-scrollbar *.scroll-bar:horizontal { + -fx-max-height: 0; + -fx-pref-height: 0; + -fx-min-height: 0; + -fx-opacity: 0; + -fx-visible: false; +} + /* column-header */ .table-view .column-header { -fx-background-color: transparent; diff --git a/apps/desktop/desktop/src/main/resources/css/controls.css b/apps/desktop/desktop/src/main/resources/css/controls.css index b09712188f..21521e8bb2 100644 --- a/apps/desktop/desktop/src/main/resources/css/controls.css +++ b/apps/desktop/desktop/src/main/resources/css/controls.css @@ -863,7 +863,7 @@ /******************************************************************************* * * - * SearchBox * + * SearchBox * * * ******************************************************************************/ @@ -887,4 +887,73 @@ -fx-text-fill: -fx-light-text-color; -fx-prompt-text-fill: -fx-mid-text-color; -fx-font-family: "IBM Plex Sans"; +} + + +/******************************************************************************* + * * + * Dropdown Menu * + * * + ******************************************************************************/ + +.dropdown-menu { + -fx-background-color: transparent; + -fx-background-radius: 6; + -fx-border-width: 0; +} + +.dropdown-menu .label { + -fx-text-fill: -fx-mid-text-color; +} + +.dropdown-menu:hover, +.dropdown-menu-active { + -fx-background-color: -bisq-dark-grey-40; +} + +.dropdown-menu:hover .label, +.dropdown-menu-active .label { + -fx-text-fill: -fx-light-text-color; +} + +.dropdown-menu-popup { + -fx-background-color: -bisq-dark-grey-40; + -fx-background-radius: 6; + -fx-padding: 8 3 8 3; + -fx-border-color: -bisq-dark-grey-50; + -fx-border-width: 1; + -fx-border-radius: 6; + -fx-effect: none; +} + +.dropdown-menu-popup .menu-item, +.dropdown-menu-popup .menu-item:focused { + -fx-padding: 10; + -fx-background-color: transparent; + -fx-cursor: hand; +} + +.dropdown-menu-popup .menu-item > .label, +.dropdown-menu-popup .menu-item:focused > .label { + -fx-padding: 0 5 0 5; + -fx-font-size: 1em; + -fx-text-fill: -fx-mid-text-color; + -fx-font-family: "IBM Plex Sans"; +} + +.dropdown-menu-popup .menu-item:hover { + -fx-background-color: -bisq-dark-grey-20; +} + +.dropdown-menu-popup .menu-item:hover > .label { + -fx-text-fill: -fx-light-text-color; +} + +.dropdown-menu-popup .leave-chat-item > .label, +.dropdown-menu-popup .leave-chat-item:focused > .label { + -fx-text-fill: -bisq2-red-lit-10; +} + +.dropdown-menu-popup .leave-chat-item:hover > .label { + -fx-text-fill: -bisq2-red-lit-50; } \ No newline at end of file diff --git a/apps/desktop/desktop/src/main/resources/css/markets.css b/apps/desktop/desktop/src/main/resources/css/markets.css new file mode 100644 index 0000000000..cf6bef9130 --- /dev/null +++ b/apps/desktop/desktop/src/main/resources/css/markets.css @@ -0,0 +1,595 @@ +/* ------------------------------------------------------------------------------------ */ +/* Fiat */ +/* ------------------------------------------------------------------------------------ */ + +#market-aed { + -fx-image: url("/images/markets/fiat-logos/market-aed.png"); +} + +#market-afn { + -fx-image: url("/images/markets/fiat-logos/market-afn.png"); +} + +#market-all { + -fx-image: url("/images/markets/fiat-logos/market-all.png"); +} + +#market-amd { + -fx-image: url("/images/markets/fiat-logos/market-amd.png"); +} + +#market-aoa { + -fx-image: url("/images/markets/fiat-logos/market-aoa.png"); +} + +#market-ars { + -fx-image: url("/images/markets/fiat-logos/market-ars.png"); +} + +#market-aud { + -fx-image: url("/images/markets/fiat-logos/market-aud.png"); +} + +#market-awg { + -fx-image: url("/images/markets/fiat-logos/market-awg.png"); +} + +#market-azn { + -fx-image: url("/images/markets/fiat-logos/market-azn.png"); +} + +#market-bam { + -fx-image: url("/images/markets/fiat-logos/market-bam.png"); +} + +#market-bbd { + -fx-image: url("/images/markets/fiat-logos/market-bbd.png"); +} + +#market-bdt { + -fx-image: url("/images/markets/fiat-logos/market-bdt.png"); +} + +#market-bgn { + -fx-image: url("/images/markets/fiat-logos/market-bgn.png"); +} + +#market-bhd { + -fx-image: url("/images/markets/fiat-logos/market-bhd.png"); +} + +#market-bif { + -fx-image: url("/images/markets/fiat-logos/market-bif.png"); +} + +#market-bmd { + -fx-image: url("/images/markets/fiat-logos/market-bmd.png"); +} + +#market-bnd { + -fx-image: url("/images/markets/fiat-logos/market-bnd.png"); +} + +#market-bob { + -fx-image: url("/images/markets/fiat-logos/market-bob.png"); +} + +#market-brl { + -fx-image: url("/images/markets/fiat-logos/market-brl.png"); +} + +#market-bsd { + -fx-image: url("/images/markets/fiat-logos/market-bsd.png"); +} + +#market-btn { + -fx-image: url("/images/markets/fiat-logos/market-btn.png"); +} + +#market-bwp { + -fx-image: url("/images/markets/fiat-logos/market-bwp.png"); +} + +#market-byn { + -fx-image: url("/images/markets/fiat-logos/market-byn.png"); +} + +#market-bzd { + -fx-image: url("/images/markets/fiat-logos/market-bzd.png"); +} + +#market-cad { + -fx-image: url("/images/markets/fiat-logos/market-cad.png"); +} + +#market-chf { + -fx-image: url("/images/markets/fiat-logos/market-chf.png"); +} + +#market-clp { + -fx-image: url("/images/markets/fiat-logos/market-clp.png"); +} + +#market-cny { + -fx-image: url("/images/markets/fiat-logos/market-cny.png"); +} + +#market-cop { + -fx-image: url("/images/markets/fiat-logos/market-cop.png"); +} + +#market-crc { + -fx-image: url("/images/markets/fiat-logos/market-crc.png"); +} + +#market-cup { + -fx-image: url("/images/markets/fiat-logos/market-cup.png"); +} + +#market-cve { + -fx-image: url("/images/markets/fiat-logos/market-cve.png"); +} + +#market-czk { + -fx-image: url("/images/markets/fiat-logos/market-czk.png"); +} + +#market-djf { + -fx-image: url("/images/markets/fiat-logos/market-djf.png"); +} + +#market-dkk { + -fx-image: url("/images/markets/fiat-logos/market-dkk.png"); +} + +#market-dop { + -fx-image: url("/images/markets/fiat-logos/market-dop.png"); +} + +#market-dzd { + -fx-image: url("/images/markets/fiat-logos/market-dzd.png"); +} + +#market-egp { + -fx-image: url("/images/markets/fiat-logos/market-egp.png"); +} + +#market-ern { + -fx-image: url("/images/markets/fiat-logos/market-ern.png"); +} + +#market-etb { + -fx-image: url("/images/markets/fiat-logos/market-etb.png"); +} + +#market-eur { + -fx-image: url("/images/markets/fiat-logos/market-eur.png"); +} + +#market-fjd { + -fx-image: url("/images/markets/fiat-logos/market-fjd.png"); +} + +#market-fkp { + -fx-image: url("/images/markets/fiat-logos/market-fkp.png"); +} + +#market-gbp { + -fx-image: url("/images/markets/fiat-logos/market-gbp.png"); +} + +#market-gel { + -fx-image: url("/images/markets/fiat-logos/market-gel.png"); +} + +#market-ghs { + -fx-image: url("/images/markets/fiat-logos/market-ghs.png"); +} + +#market-gip { + -fx-image: url("/images/markets/fiat-logos/market-gip.png"); +} + +#market-gmd { + -fx-image: url("/images/markets/fiat-logos/market-gmd.png"); +} + +#market-gnf { + -fx-image: url("/images/markets/fiat-logos/market-gnf.png"); +} + +#market-gtq { + -fx-image: url("/images/markets/fiat-logos/market-gtq.png"); +} + +#market-gyd { + -fx-image: url("/images/markets/fiat-logos/market-gyd.png"); +} + +#market-hkd { + -fx-image: url("/images/markets/fiat-logos/market-hkd.png"); +} + +#market-hnl { + -fx-image: url("/images/markets/fiat-logos/market-hnl.png"); +} + +#market-htg { + -fx-image: url("/images/markets/fiat-logos/market-htg.png"); +} + +#market-huf { + -fx-image: url("/images/markets/fiat-logos/market-huf.png"); +} + +#market-idr { + -fx-image: url("/images/markets/fiat-logos/market-idr.png"); +} + +#market-ils { + -fx-image: url("/images/markets/fiat-logos/market-ils.png"); +} + +#market-inr { + -fx-image: url("/images/markets/fiat-logos/market-inr.png"); +} + +#market-iqd { + -fx-image: url("/images/markets/fiat-logos/market-iqd.png"); +} + +#market-irr { + -fx-image: url("/images/markets/fiat-logos/market-irr.png"); +} + +#market-isk { + -fx-image: url("/images/markets/fiat-logos/market-isk.png"); +} + +#market-jmd { + -fx-image: url("/images/markets/fiat-logos/market-jmd.png"); +} + +#market-jod { + -fx-image: url("/images/markets/fiat-logos/market-jod.png"); +} + +#market-jpy { + -fx-image: url("/images/markets/fiat-logos/market-jpy.png"); +} + +#market-kes { + -fx-image: url("/images/markets/fiat-logos/market-kes.png"); +} + +#market-kgs { + -fx-image: url("/images/markets/fiat-logos/market-kgs.png"); +} + +#market-khr { + -fx-image: url("/images/markets/fiat-logos/market-khr.png"); +} + +#market-kmf { + -fx-image: url("/images/markets/fiat-logos/market-kmf.png"); +} + +#market-kpw { + -fx-image: url("/images/markets/fiat-logos/market-kpw.png"); +} + +#market-krw { + -fx-image: url("/images/markets/fiat-logos/market-krw.png"); +} + +#market-kwd { + -fx-image: url("/images/markets/fiat-logos/market-kwd.png"); +} + +#market-kyd { + -fx-image: url("/images/markets/fiat-logos/market-kyd.png"); +} + +#market-kzt { + -fx-image: url("/images/markets/fiat-logos/market-kzt.png"); +} + +#market-lak { + -fx-image: url("/images/markets/fiat-logos/market-lak.png"); +} + +#market-lbp { + -fx-image: url("/images/markets/fiat-logos/market-lbp.png"); +} + +#market-lkr { + -fx-image: url("/images/markets/fiat-logos/market-lkr.png"); +} + +#market-lrd { + -fx-image: url("/images/markets/fiat-logos/market-lrd.png"); +} + +#market-lsl { + -fx-image: url("/images/markets/fiat-logos/market-lsl.png"); +} + +#market-lyd { + -fx-image: url("/images/markets/fiat-logos/market-lyd.png"); +} + +#market-mad { + -fx-image: url("/images/markets/fiat-logos/market-mad.png"); +} + +#market-mdl { + -fx-image: url("/images/markets/fiat-logos/market-mdl.png"); +} + +#market-mga { + -fx-image: url("/images/markets/fiat-logos/market-mga.png"); +} + +#market-mmk { + -fx-image: url("/images/markets/fiat-logos/market-mmk.png"); +} + +#market-mnt { + -fx-image: url("/images/markets/fiat-logos/market-mnt.png"); +} + +#market-mop { + -fx-image: url("/images/markets/fiat-logos/market-mop.png"); +} + +#market-mru { + -fx-image: url("/images/markets/fiat-logos/market-mru.png"); +} + +#market-mur { + -fx-image: url("/images/markets/fiat-logos/market-mur.png"); +} + +#market-mvr { + -fx-image: url("/images/markets/fiat-logos/market-mvr.png"); +} + +#market-mwk { + -fx-image: url("/images/markets/fiat-logos/market-mwk.png"); +} + +#market-mxn { + -fx-image: url("/images/markets/fiat-logos/market-mxn.png"); +} + +#market-myr { + -fx-image: url("/images/markets/fiat-logos/market-myr.png"); +} + +#market-mzn { + -fx-image: url("/images/markets/fiat-logos/market-mzn.png"); +} + +#market-nad { + -fx-image: url("/images/markets/fiat-logos/market-nad.png"); +} + +#market-ngn { + -fx-image: url("/images/markets/fiat-logos/market-ngn.png"); +} + +#market-nio { + -fx-image: url("/images/markets/fiat-logos/market-nio.png"); +} + +#market-nok { + -fx-image: url("/images/markets/fiat-logos/market-nok.png"); +} + +#market-npr { + -fx-image: url("/images/markets/fiat-logos/market-npr.png"); +} + +#market-nzd { + -fx-image: url("/images/markets/fiat-logos/market-nzd.png"); +} + +#market-omr { + -fx-image: url("/images/markets/fiat-logos/market-omr.png"); +} + +#market-pab { + -fx-image: url("/images/markets/fiat-logos/market-pab.png"); +} + +#market-pen { + -fx-image: url("/images/markets/fiat-logos/market-pen.png"); +} + +#market-pgk { + -fx-image: url("/images/markets/fiat-logos/market-pgk.png"); +} + +#market-php { + -fx-image: url("/images/markets/fiat-logos/market-php.png"); +} + +#market-pkr { + -fx-image: url("/images/markets/fiat-logos/market-pkr.png"); +} + +#market-pln { + -fx-image: url("/images/markets/fiat-logos/market-pln.png"); +} + +#market-pyg { + -fx-image: url("/images/markets/fiat-logos/market-pyg.png"); +} + +#market-qar { + -fx-image: url("/images/markets/fiat-logos/market-qar.png"); +} + +#market-ron { + -fx-image: url("/images/markets/fiat-logos/market-ron.png"); +} + +#market-rsd { + -fx-image: url("/images/markets/fiat-logos/market-rsd.png"); +} + +#market-rub { + -fx-image: url("/images/markets/fiat-logos/market-rub.png"); +} + +#market-rwf { + -fx-image: url("/images/markets/fiat-logos/market-rwf.png"); +} + +#market-sar { + -fx-image: url("/images/markets/fiat-logos/market-sar.png"); +} + +#market-sbd { + -fx-image: url("/images/markets/fiat-logos/market-sbd.png"); +} + +#market-scr { + -fx-image: url("/images/markets/fiat-logos/market-scr.png"); +} + +#market-sdg { + -fx-image: url("/images/markets/fiat-logos/market-sdg.png"); +} + +#market-sek { + -fx-image: url("/images/markets/fiat-logos/market-sek.png"); +} + +#market-sgd { + -fx-image: url("/images/markets/fiat-logos/market-sgd.png"); +} + +#market-sle { + -fx-image: url("/images/markets/fiat-logos/market-sle.png"); +} + +#market-sos { + -fx-image: url("/images/markets/fiat-logos/market-sos.png"); +} + +#market-srd { + -fx-image: url("/images/markets/fiat-logos/market-srd.png"); +} + +#market-ssp { + -fx-image: url("/images/markets/fiat-logos/market-ssp.png"); +} + +#market-stn { + -fx-image: url("/images/markets/fiat-logos/market-stn.png"); +} + +#market-svc { + -fx-image: url("/images/markets/fiat-logos/market-svc.png"); +} + +#market-syp { + -fx-image: url("/images/markets/fiat-logos/market-syp.png"); +} + +#market-szl { + -fx-image: url("/images/markets/fiat-logos/market-szl.png"); +} + +#market-thb { + -fx-image: url("/images/markets/fiat-logos/market-thb.png"); +} + +#market-tjs { + -fx-image: url("/images/markets/fiat-logos/market-tjs.png"); +} + +#market-tmt { + -fx-image: url("/images/markets/fiat-logos/market-tmt.png"); +} + +#market-tnd { + -fx-image: url("/images/markets/fiat-logos/market-tnd.png"); +} + +#market-top { + -fx-image: url("/images/markets/fiat-logos/market-top.png"); +} + +#market-try { + -fx-image: url("/images/markets/fiat-logos/market-try.png"); +} + +#market-ttd { + -fx-image: url("/images/markets/fiat-logos/market-ttd.png"); +} + +#market-twd { + -fx-image: url("/images/markets/fiat-logos/market-twd.png"); +} + +#market-tzs { + -fx-image: url("/images/markets/fiat-logos/market-tzs.png"); +} + +#market-uah { + -fx-image: url("/images/markets/fiat-logos/market-uah.png"); +} + +#market-ugx { + -fx-image: url("/images/markets/fiat-logos/market-ugx.png"); +} + +#market-usd { + -fx-image: url("/images/markets/fiat-logos/market-usd.png"); +} + +#market-uyu { + -fx-image: url("/images/markets/fiat-logos/market-uyu.png"); +} + +#market-uzs { + -fx-image: url("/images/markets/fiat-logos/market-uzs.png"); +} + +#market-ves { + -fx-image: url("/images/markets/fiat-logos/market-ves.png"); +} + +#market-vnd { + -fx-image: url("/images/markets/fiat-logos/market-vnd.png"); +} + +#market-vuv { + -fx-image: url("/images/markets/fiat-logos/market-vuv.png"); +} + +#market-wst { + -fx-image: url("/images/markets/fiat-logos/market-wst.png"); +} + +#market-xaf { + -fx-image: url("/images/markets/fiat-logos/market-xaf.png"); +} + +#market-yer { + -fx-image: url("/images/markets/fiat-logos/market-yer.png"); +} + +#market-zar { + -fx-image: url("/images/markets/fiat-logos/market-zar.png"); +} + +#market-zmw { + -fx-image: url("/images/markets/fiat-logos/market-zmw.png"); +} + +#market-zwl { + -fx-image: url("/images/markets/fiat-logos/market-zwl.png"); +} diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aed.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aed.png new file mode 100644 index 0000000000..0017bb3137 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aed.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aed@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aed@2x.png new file mode 100644 index 0000000000..f33edfdc3f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aed@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-afn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-afn.png new file mode 100644 index 0000000000..c4e4818dbc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-afn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-afn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-afn@2x.png new file mode 100644 index 0000000000..33367aa8e9 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-afn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-all.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-all.png new file mode 100644 index 0000000000..2904420550 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-all.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-all@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-all@2x.png new file mode 100644 index 0000000000..0bbd843f8d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-all@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-amd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-amd.png new file mode 100644 index 0000000000..13186cec2f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-amd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-amd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-amd@2x.png new file mode 100644 index 0000000000..dfa4a2ccd4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-amd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aoa.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aoa.png new file mode 100644 index 0000000000..71db8defdf Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aoa.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aoa@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aoa@2x.png new file mode 100644 index 0000000000..3c6b3b7676 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aoa@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ars.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ars.png new file mode 100644 index 0000000000..36ad420eb4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ars.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ars@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ars@2x.png new file mode 100644 index 0000000000..7fea323ed0 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ars@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aud.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aud.png new file mode 100644 index 0000000000..677199ce43 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aud.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aud@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aud@2x.png new file mode 100644 index 0000000000..13397b7ee7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-aud@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-awg.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-awg.png new file mode 100644 index 0000000000..c7c89750de Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-awg.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-awg@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-awg@2x.png new file mode 100644 index 0000000000..df6951b30a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-awg@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-azn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-azn.png new file mode 100644 index 0000000000..f3e44e5331 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-azn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-azn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-azn@2x.png new file mode 100644 index 0000000000..1f0c13d7e9 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-azn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bam.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bam.png new file mode 100644 index 0000000000..69959e4bfb Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bam.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bam@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bam@2x.png new file mode 100644 index 0000000000..aa1645d571 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bam@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bbd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bbd.png new file mode 100644 index 0000000000..3f4a8b48ab Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bbd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bbd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bbd@2x.png new file mode 100644 index 0000000000..db3a3e914d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bbd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bdt.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bdt.png new file mode 100644 index 0000000000..e7cd67705a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bdt.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bdt@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bdt@2x.png new file mode 100644 index 0000000000..49125a19f0 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bdt@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bgn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bgn.png new file mode 100644 index 0000000000..f5eaf9f458 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bgn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bgn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bgn@2x.png new file mode 100644 index 0000000000..0e2c5c57d0 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bgn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bhd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bhd.png new file mode 100644 index 0000000000..0a288f8aae Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bhd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bhd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bhd@2x.png new file mode 100644 index 0000000000..e211d577b6 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bhd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bif.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bif.png new file mode 100644 index 0000000000..8d68c6a362 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bif.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bif@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bif@2x.png new file mode 100644 index 0000000000..cb99b92e38 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bif@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bmd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bmd.png new file mode 100644 index 0000000000..12953d1832 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bmd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bmd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bmd@2x.png new file mode 100644 index 0000000000..85cca0b84a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bmd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bnd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bnd.png new file mode 100644 index 0000000000..d8853dd034 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bnd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bnd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bnd@2x.png new file mode 100644 index 0000000000..b37d1079b9 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bnd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bob.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bob.png new file mode 100644 index 0000000000..4f43e694a2 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bob.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bob@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bob@2x.png new file mode 100644 index 0000000000..caeeebd476 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bob@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-brl.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-brl.png new file mode 100644 index 0000000000..7e33ebdfe1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-brl.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-brl@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-brl@2x.png new file mode 100644 index 0000000000..1e2b8ca6c1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-brl@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bsd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bsd.png new file mode 100644 index 0000000000..b5181867d7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bsd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bsd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bsd@2x.png new file mode 100644 index 0000000000..a080c6813a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bsd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-btn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-btn.png new file mode 100644 index 0000000000..d4ef59d2a1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-btn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-btn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-btn@2x.png new file mode 100644 index 0000000000..73dec97ec2 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-btn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bwp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bwp.png new file mode 100644 index 0000000000..6b6dc382eb Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bwp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bwp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bwp@2x.png new file mode 100644 index 0000000000..21bfbb9832 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bwp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-byn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-byn.png new file mode 100644 index 0000000000..a180a0b01f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-byn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-byn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-byn@2x.png new file mode 100644 index 0000000000..b0954f6338 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-byn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bzd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bzd.png new file mode 100644 index 0000000000..5b94c810d4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bzd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bzd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bzd@2x.png new file mode 100644 index 0000000000..6b8ecfba6d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-bzd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cad.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cad.png new file mode 100644 index 0000000000..eb1fe2bbf5 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cad.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cad@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cad@2x.png new file mode 100644 index 0000000000..4e85043331 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cad@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-chf.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-chf.png new file mode 100644 index 0000000000..05968451a2 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-chf.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-chf@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-chf@2x.png new file mode 100644 index 0000000000..989260bb50 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-chf@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-clp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-clp.png new file mode 100644 index 0000000000..ce804c5dd2 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-clp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-clp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-clp@2x.png new file mode 100644 index 0000000000..70ee2f3a71 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-clp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cny.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cny.png new file mode 100644 index 0000000000..e5f8a14bda Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cny.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cny@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cny@2x.png new file mode 100644 index 0000000000..c1cc283cc0 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cny@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cop.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cop.png new file mode 100644 index 0000000000..a0f0d3c7fc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cop.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cop@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cop@2x.png new file mode 100644 index 0000000000..c8cf3c3f08 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cop@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-crc.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-crc.png new file mode 100644 index 0000000000..c1bbf4540d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-crc.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-crc@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-crc@2x.png new file mode 100644 index 0000000000..1f57125e0b Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-crc@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cup.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cup.png new file mode 100644 index 0000000000..5123c22a3b Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cup.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cup@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cup@2x.png new file mode 100644 index 0000000000..b824722277 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cup@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cve.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cve.png new file mode 100644 index 0000000000..97f2cd0013 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cve.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cve@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cve@2x.png new file mode 100644 index 0000000000..e5dde20365 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-cve@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-czk.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-czk.png new file mode 100644 index 0000000000..1b47301a45 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-czk.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-czk@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-czk@2x.png new file mode 100644 index 0000000000..af03260223 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-czk@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-djf.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-djf.png new file mode 100644 index 0000000000..bd4f3f2bd5 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-djf.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-djf@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-djf@2x.png new file mode 100644 index 0000000000..7493f3e8a9 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-djf@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dkk.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dkk.png new file mode 100644 index 0000000000..f67a0f6577 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dkk.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dkk@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dkk@2x.png new file mode 100644 index 0000000000..621daa60fe Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dkk@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dop.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dop.png new file mode 100644 index 0000000000..344837ec11 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dop.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dop@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dop@2x.png new file mode 100644 index 0000000000..71c3707b9d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dop@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dzd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dzd.png new file mode 100644 index 0000000000..2e224a75a4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dzd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dzd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dzd@2x.png new file mode 100644 index 0000000000..b9d7b3b1a9 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-dzd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-egp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-egp.png new file mode 100644 index 0000000000..6c3d7d2471 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-egp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-egp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-egp@2x.png new file mode 100644 index 0000000000..a232ceab45 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-egp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ern.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ern.png new file mode 100644 index 0000000000..0d8339fa8d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ern.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ern@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ern@2x.png new file mode 100644 index 0000000000..cee5dcaf90 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ern@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-etb.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-etb.png new file mode 100644 index 0000000000..777fdc072f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-etb.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-etb@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-etb@2x.png new file mode 100644 index 0000000000..df7a96bdcb Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-etb@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-eur.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-eur.png new file mode 100644 index 0000000000..19cfce460e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-eur.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-eur@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-eur@2x.png new file mode 100644 index 0000000000..fc88ad1f09 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-eur@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fjd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fjd.png new file mode 100644 index 0000000000..7b3305dd56 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fjd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fjd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fjd@2x.png new file mode 100644 index 0000000000..0b0357a2a8 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fjd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fkp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fkp.png new file mode 100644 index 0000000000..38487a1b02 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fkp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fkp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fkp@2x.png new file mode 100644 index 0000000000..26292bf5fc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-fkp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gbp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gbp.png new file mode 100644 index 0000000000..795cf2521f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gbp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gbp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gbp@2x.png new file mode 100644 index 0000000000..eddcabab0e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gbp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gel.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gel.png new file mode 100644 index 0000000000..29351bb1b7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gel.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gel@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gel@2x.png new file mode 100644 index 0000000000..2c515eb971 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gel@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ghs.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ghs.png new file mode 100644 index 0000000000..6506d5561f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ghs.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ghs@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ghs@2x.png new file mode 100644 index 0000000000..764ed36e82 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ghs@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gip.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gip.png new file mode 100644 index 0000000000..bcf0f6c628 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gip.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gip@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gip@2x.png new file mode 100644 index 0000000000..6ec1339548 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gip@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gmd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gmd.png new file mode 100644 index 0000000000..bdfca22240 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gmd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gmd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gmd@2x.png new file mode 100644 index 0000000000..fce2d52085 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gmd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gnf.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gnf.png new file mode 100644 index 0000000000..8fc5b1875e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gnf.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gnf@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gnf@2x.png new file mode 100644 index 0000000000..f417edc749 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gnf@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gtq.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gtq.png new file mode 100644 index 0000000000..98a08a88fc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gtq.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gtq@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gtq@2x.png new file mode 100644 index 0000000000..3762fc4ffa Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gtq@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gyd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gyd.png new file mode 100644 index 0000000000..0e6a860ec7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gyd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gyd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gyd@2x.png new file mode 100644 index 0000000000..cc2747f7ba Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-gyd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hkd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hkd.png new file mode 100644 index 0000000000..be0e687583 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hkd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hkd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hkd@2x.png new file mode 100644 index 0000000000..1b25ed3156 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hkd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hnl.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hnl.png new file mode 100644 index 0000000000..5b8f319bb1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hnl.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hnl@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hnl@2x.png new file mode 100644 index 0000000000..7878aeac1c Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-hnl@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-htg.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-htg.png new file mode 100644 index 0000000000..438c5cd477 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-htg.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-htg@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-htg@2x.png new file mode 100644 index 0000000000..0e1d575d31 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-htg@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-huf.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-huf.png new file mode 100644 index 0000000000..39eb21c4d7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-huf.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-huf@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-huf@2x.png new file mode 100644 index 0000000000..82fa248b21 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-huf@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-idr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-idr.png new file mode 100644 index 0000000000..1bdcf756bd Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-idr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-idr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-idr@2x.png new file mode 100644 index 0000000000..3774ed2215 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-idr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ils.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ils.png new file mode 100644 index 0000000000..a50e32a1ee Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ils.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ils@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ils@2x.png new file mode 100644 index 0000000000..5680385d37 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ils@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-inr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-inr.png new file mode 100644 index 0000000000..1762b6e540 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-inr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-inr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-inr@2x.png new file mode 100644 index 0000000000..4b62d3f060 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-inr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-iqd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-iqd.png new file mode 100644 index 0000000000..a70fe19d51 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-iqd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-iqd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-iqd@2x.png new file mode 100644 index 0000000000..e977751340 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-iqd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-irr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-irr.png new file mode 100644 index 0000000000..6d5b7b1433 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-irr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-irr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-irr@2x.png new file mode 100644 index 0000000000..91353ca87a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-irr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-isk.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-isk.png new file mode 100644 index 0000000000..3df2464239 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-isk.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-isk@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-isk@2x.png new file mode 100644 index 0000000000..50e154f999 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-isk@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jmd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jmd.png new file mode 100644 index 0000000000..aa87ece5f4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jmd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jmd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jmd@2x.png new file mode 100644 index 0000000000..2655570789 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jmd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jod.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jod.png new file mode 100644 index 0000000000..5efe309bda Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jod.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jod@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jod@2x.png new file mode 100644 index 0000000000..f57bc71018 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jod@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jpy.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jpy.png new file mode 100644 index 0000000000..75291c2e03 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jpy.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jpy@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jpy@2x.png new file mode 100644 index 0000000000..0e07efbccb Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-jpy@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kes.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kes.png new file mode 100644 index 0000000000..895f6635cf Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kes.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kes@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kes@2x.png new file mode 100644 index 0000000000..f3e8e85639 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kes@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kgs.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kgs.png new file mode 100644 index 0000000000..676b40edbc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kgs.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kgs@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kgs@2x.png new file mode 100644 index 0000000000..bfc2659652 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kgs@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-khr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-khr.png new file mode 100644 index 0000000000..a9bb23cba7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-khr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-khr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-khr@2x.png new file mode 100644 index 0000000000..71c62640f6 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-khr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kmf.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kmf.png new file mode 100644 index 0000000000..1a9b6bfc5a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kmf.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kmf@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kmf@2x.png new file mode 100644 index 0000000000..1520037a94 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kmf@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kpw.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kpw.png new file mode 100644 index 0000000000..31bfa51ec3 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kpw.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kpw@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kpw@2x.png new file mode 100644 index 0000000000..8040a2915a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kpw@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-krw.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-krw.png new file mode 100644 index 0000000000..05920365e1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-krw.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-krw@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-krw@2x.png new file mode 100644 index 0000000000..97ee15f647 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-krw@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kwd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kwd.png new file mode 100644 index 0000000000..89c9f80c06 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kwd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kwd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kwd@2x.png new file mode 100644 index 0000000000..89bfbb494a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kwd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kyd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kyd.png new file mode 100644 index 0000000000..87070d596f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kyd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kyd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kyd@2x.png new file mode 100644 index 0000000000..6e6ea2ea1d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kyd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kzt.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kzt.png new file mode 100644 index 0000000000..288c1e083a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kzt.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kzt@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kzt@2x.png new file mode 100644 index 0000000000..fe461c2fe4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-kzt@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lak.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lak.png new file mode 100644 index 0000000000..90d4543054 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lak.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lak@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lak@2x.png new file mode 100644 index 0000000000..fe24e3ca1d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lak@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lbp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lbp.png new file mode 100644 index 0000000000..94f570f198 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lbp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lbp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lbp@2x.png new file mode 100644 index 0000000000..32f329ce68 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lbp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lkr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lkr.png new file mode 100644 index 0000000000..194a184173 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lkr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lkr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lkr@2x.png new file mode 100644 index 0000000000..e014d056a2 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lkr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lrd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lrd.png new file mode 100644 index 0000000000..f20d0ad0a7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lrd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lrd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lrd@2x.png new file mode 100644 index 0000000000..62cf563245 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lrd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lsl.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lsl.png new file mode 100644 index 0000000000..2cb3a66ba8 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lsl.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lsl@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lsl@2x.png new file mode 100644 index 0000000000..8f351f7e7c Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lsl@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lyd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lyd.png new file mode 100644 index 0000000000..aa2a4c47cc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lyd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lyd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lyd@2x.png new file mode 100644 index 0000000000..249c683499 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-lyd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mad.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mad.png new file mode 100644 index 0000000000..c20e327864 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mad.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mad@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mad@2x.png new file mode 100644 index 0000000000..db471e634e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mad@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mdl.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mdl.png new file mode 100644 index 0000000000..772f19eecc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mdl.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mdl@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mdl@2x.png new file mode 100644 index 0000000000..fe68b7facf Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mdl@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mga.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mga.png new file mode 100644 index 0000000000..64399fea90 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mga.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mga@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mga@2x.png new file mode 100644 index 0000000000..4dbbf5b27d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mga@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mmk.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mmk.png new file mode 100644 index 0000000000..3fb2f36e82 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mmk.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mmk@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mmk@2x.png new file mode 100644 index 0000000000..b6d9cdcbdf Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mmk@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mnt.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mnt.png new file mode 100644 index 0000000000..f71fd79ce1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mnt.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mnt@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mnt@2x.png new file mode 100644 index 0000000000..ab3c6bac04 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mnt@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mop.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mop.png new file mode 100644 index 0000000000..72917f9091 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mop.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mop@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mop@2x.png new file mode 100644 index 0000000000..277f836a69 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mop@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mru.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mru.png new file mode 100644 index 0000000000..6281f3e60a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mru.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mru@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mru@2x.png new file mode 100644 index 0000000000..715f8cfc64 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mru@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mur.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mur.png new file mode 100644 index 0000000000..05681399c6 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mur.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mur@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mur@2x.png new file mode 100644 index 0000000000..089a108ec2 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mur@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mvr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mvr.png new file mode 100644 index 0000000000..171e972e34 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mvr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mvr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mvr@2x.png new file mode 100644 index 0000000000..67ab7e22e8 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mvr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mwk.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mwk.png new file mode 100644 index 0000000000..91571606ee Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mwk.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mwk@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mwk@2x.png new file mode 100644 index 0000000000..dd8765c5c1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mwk@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mxn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mxn.png new file mode 100644 index 0000000000..8ee13f0a16 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mxn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mxn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mxn@2x.png new file mode 100644 index 0000000000..14216d1c77 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mxn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-myr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-myr.png new file mode 100644 index 0000000000..ec5372d2e7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-myr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-myr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-myr@2x.png new file mode 100644 index 0000000000..975fc88e0d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-myr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mzn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mzn.png new file mode 100644 index 0000000000..94a592a02b Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mzn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mzn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mzn@2x.png new file mode 100644 index 0000000000..b02c7da2e4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-mzn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nad.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nad.png new file mode 100644 index 0000000000..9570c13dd5 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nad.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nad@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nad@2x.png new file mode 100644 index 0000000000..081a216518 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nad@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ngn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ngn.png new file mode 100644 index 0000000000..7a516c6e72 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ngn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ngn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ngn@2x.png new file mode 100644 index 0000000000..7a1e6b3d8a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ngn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nio.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nio.png new file mode 100644 index 0000000000..fd25d9894e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nio.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nio@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nio@2x.png new file mode 100644 index 0000000000..9cb7f7e677 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nio@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nok.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nok.png new file mode 100644 index 0000000000..f932879413 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nok.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nok@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nok@2x.png new file mode 100644 index 0000000000..b8ee950f59 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nok@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-npr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-npr.png new file mode 100644 index 0000000000..b27e98f56f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-npr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-npr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-npr@2x.png new file mode 100644 index 0000000000..12ab74c675 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-npr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nzd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nzd.png new file mode 100644 index 0000000000..c7fb57907b Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nzd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nzd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nzd@2x.png new file mode 100644 index 0000000000..c8fe91a658 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-nzd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-omr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-omr.png new file mode 100644 index 0000000000..60283c0d5a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-omr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-omr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-omr@2x.png new file mode 100644 index 0000000000..0e1f7a6288 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-omr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pab.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pab.png new file mode 100644 index 0000000000..40c351aa71 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pab.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pab@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pab@2x.png new file mode 100644 index 0000000000..dce1030183 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pab@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pen.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pen.png new file mode 100644 index 0000000000..5ab20f9bbf Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pen.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pen@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pen@2x.png new file mode 100644 index 0000000000..45f3918ad6 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pen@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pgk.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pgk.png new file mode 100644 index 0000000000..2ce68183d6 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pgk.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pgk@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pgk@2x.png new file mode 100644 index 0000000000..464d33f07d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pgk@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-php.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-php.png new file mode 100644 index 0000000000..774032e8d3 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-php.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-php@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-php@2x.png new file mode 100644 index 0000000000..e1df0afdc4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-php@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pkr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pkr.png new file mode 100644 index 0000000000..635c196365 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pkr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pkr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pkr@2x.png new file mode 100644 index 0000000000..ffe0c45a9e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pkr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pln.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pln.png new file mode 100644 index 0000000000..fe3a3fcdd3 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pln.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pln@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pln@2x.png new file mode 100644 index 0000000000..4326d71c34 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pln@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pyg.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pyg.png new file mode 100644 index 0000000000..b42ba6f280 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pyg.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pyg@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pyg@2x.png new file mode 100644 index 0000000000..2063345e36 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-pyg@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-qar.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-qar.png new file mode 100644 index 0000000000..36e1c689b6 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-qar.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-qar@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-qar@2x.png new file mode 100644 index 0000000000..89eed23a0b Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-qar@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ron.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ron.png new file mode 100644 index 0000000000..d4939db028 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ron.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ron@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ron@2x.png new file mode 100644 index 0000000000..fe63a50cd7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ron@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rsd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rsd.png new file mode 100644 index 0000000000..fca9650523 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rsd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rsd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rsd@2x.png new file mode 100644 index 0000000000..81a51d28da Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rsd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rub.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rub.png new file mode 100644 index 0000000000..1345b98b73 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rub.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rub@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rub@2x.png new file mode 100644 index 0000000000..1b06707651 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rub@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rwf.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rwf.png new file mode 100644 index 0000000000..d6099d29c9 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rwf.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rwf@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rwf@2x.png new file mode 100644 index 0000000000..6d28eb99e8 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-rwf@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sar.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sar.png new file mode 100644 index 0000000000..5c18977eb1 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sar.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sar@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sar@2x.png new file mode 100644 index 0000000000..755c37825d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sar@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sbd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sbd.png new file mode 100644 index 0000000000..34099476a6 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sbd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sbd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sbd@2x.png new file mode 100644 index 0000000000..e27b711b03 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sbd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-scr.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-scr.png new file mode 100644 index 0000000000..fafec7b19d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-scr.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-scr@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-scr@2x.png new file mode 100644 index 0000000000..d413c37205 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-scr@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sdg.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sdg.png new file mode 100644 index 0000000000..91cda94fbd Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sdg.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sdg@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sdg@2x.png new file mode 100644 index 0000000000..5b91805c02 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sdg@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sek.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sek.png new file mode 100644 index 0000000000..c603541501 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sek.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sek@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sek@2x.png new file mode 100644 index 0000000000..bb872fe592 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sek@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sgd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sgd.png new file mode 100644 index 0000000000..6e99e26762 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sgd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sgd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sgd@2x.png new file mode 100644 index 0000000000..08c63538bf Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sgd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sle.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sle.png new file mode 100644 index 0000000000..a149599a9d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sle.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sle@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sle@2x.png new file mode 100644 index 0000000000..89af45e1fd Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sle@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sos.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sos.png new file mode 100644 index 0000000000..643bf46ebe Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sos.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sos@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sos@2x.png new file mode 100644 index 0000000000..34ad457f7c Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-sos@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-srd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-srd.png new file mode 100644 index 0000000000..3637b6ff16 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-srd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-srd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-srd@2x.png new file mode 100644 index 0000000000..8359fea9cc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-srd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ssp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ssp.png new file mode 100644 index 0000000000..2a94b7ec89 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ssp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ssp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ssp@2x.png new file mode 100644 index 0000000000..dc282ac2d4 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ssp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-stn.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-stn.png new file mode 100644 index 0000000000..f7076b4814 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-stn.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-stn@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-stn@2x.png new file mode 100644 index 0000000000..aaa1b0c5ac Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-stn@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-svc.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-svc.png new file mode 100644 index 0000000000..f8e863e4ac Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-svc.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-svc@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-svc@2x.png new file mode 100644 index 0000000000..229250b004 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-svc@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-syp.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-syp.png new file mode 100644 index 0000000000..7104b0c8e2 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-syp.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-syp@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-syp@2x.png new file mode 100644 index 0000000000..b4814bfd3c Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-syp@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-szl.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-szl.png new file mode 100644 index 0000000000..68f2a9d63c Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-szl.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-szl@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-szl@2x.png new file mode 100644 index 0000000000..ad212a16c7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-szl@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-thb.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-thb.png new file mode 100644 index 0000000000..edc74343d7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-thb.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-thb@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-thb@2x.png new file mode 100644 index 0000000000..478101339d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-thb@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tjs.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tjs.png new file mode 100644 index 0000000000..4ab3743854 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tjs.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tjs@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tjs@2x.png new file mode 100644 index 0000000000..a2ffb072d0 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tjs@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tmt.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tmt.png new file mode 100644 index 0000000000..f97848f32d Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tmt.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tmt@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tmt@2x.png new file mode 100644 index 0000000000..7c262c9068 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tmt@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tnd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tnd.png new file mode 100644 index 0000000000..033c65b146 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tnd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tnd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tnd@2x.png new file mode 100644 index 0000000000..58b2441c05 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tnd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-top.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-top.png new file mode 100644 index 0000000000..233f36e628 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-top.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-top@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-top@2x.png new file mode 100644 index 0000000000..ed7bc6b21f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-top@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-try.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-try.png new file mode 100644 index 0000000000..e1247dddec Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-try.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-try@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-try@2x.png new file mode 100644 index 0000000000..365cd14f04 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-try@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ttd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ttd.png new file mode 100644 index 0000000000..e8b22dcefb Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ttd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ttd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ttd@2x.png new file mode 100644 index 0000000000..a88b4fb599 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ttd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-twd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-twd.png new file mode 100644 index 0000000000..644734321f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-twd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-twd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-twd@2x.png new file mode 100644 index 0000000000..64ce6ee508 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-twd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tzs.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tzs.png new file mode 100644 index 0000000000..e264e184cb Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tzs.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tzs@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tzs@2x.png new file mode 100644 index 0000000000..27ec3f49e5 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-tzs@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uah.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uah.png new file mode 100644 index 0000000000..f6bf7a919c Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uah.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uah@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uah@2x.png new file mode 100644 index 0000000000..6a1bbc1847 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uah@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ugx.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ugx.png new file mode 100644 index 0000000000..4c67b2655a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ugx.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ugx@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ugx@2x.png new file mode 100644 index 0000000000..69d81a035e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ugx@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-usd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-usd.png new file mode 100644 index 0000000000..7e16fc4bb7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-usd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-usd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-usd@2x.png new file mode 100644 index 0000000000..8bfcbe5390 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-usd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uyu.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uyu.png new file mode 100644 index 0000000000..12164e6e9f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uyu.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uyu@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uyu@2x.png new file mode 100644 index 0000000000..447c4fb253 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uyu@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uzs.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uzs.png new file mode 100644 index 0000000000..7f57ea165c Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uzs.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uzs@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uzs@2x.png new file mode 100644 index 0000000000..ae7130ad73 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-uzs@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ves.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ves.png new file mode 100644 index 0000000000..3df0621760 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ves.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ves@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ves@2x.png new file mode 100644 index 0000000000..bd0f6b0001 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-ves@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vnd.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vnd.png new file mode 100644 index 0000000000..1e9f072056 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vnd.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vnd@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vnd@2x.png new file mode 100644 index 0000000000..c7cb25b9cc Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vnd@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vuv.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vuv.png new file mode 100644 index 0000000000..0957db0cca Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vuv.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vuv@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vuv@2x.png new file mode 100644 index 0000000000..4c0837c8db Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-vuv@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-wst.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-wst.png new file mode 100644 index 0000000000..a616226462 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-wst.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-wst@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-wst@2x.png new file mode 100644 index 0000000000..d3b77742fa Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-wst@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-xaf.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-xaf.png new file mode 100644 index 0000000000..fe2f39ce53 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-xaf.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-xaf@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-xaf@2x.png new file mode 100644 index 0000000000..203166ebb7 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-xaf@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-yer.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-yer.png new file mode 100644 index 0000000000..1d2c0f3952 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-yer.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-yer@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-yer@2x.png new file mode 100644 index 0000000000..1c3e288abd Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-yer@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zar.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zar.png new file mode 100644 index 0000000000..c1ffb1f86f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zar.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zar@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zar@2x.png new file mode 100644 index 0000000000..72d48718b9 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zar@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zmw.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zmw.png new file mode 100644 index 0000000000..b5955ca34f Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zmw.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zmw@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zmw@2x.png new file mode 100644 index 0000000000..ee40369412 Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zmw@2x.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zwl.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zwl.png new file mode 100644 index 0000000000..179d7fde5e Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zwl.png differ diff --git a/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zwl@2x.png b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zwl@2x.png new file mode 100644 index 0000000000..114f94e95a Binary files /dev/null and b/apps/desktop/desktop/src/main/resources/images/markets/fiat-logos/market-zwl@2x.png differ diff --git a/i18n/src/main/resources/bisq_easy.properties b/i18n/src/main/resources/bisq_easy.properties index fadd802068..160e1ad76f 100644 --- a/i18n/src/main/resources/bisq_easy.properties +++ b/i18n/src/main/resources/bisq_easy.properties @@ -377,6 +377,10 @@ bisqEasy.offerbook.marketListCell.numOffers.tooltip.none=No offers yet available bisqEasy.offerbook.marketListCell.numOffers.tooltip.one={0} offer is available in the {1} market bisqEasy.offerbook.marketListCell.numOffers.tooltip.many={0} offers are available in the {1} market +bisqEasy.offerbook.dropdownMenu.offers=Offers +bisqEasy.offerbook.dropdownMenu.nameAZ=Name A-Z +bisqEasy.offerbook.dropdownMenu.nameZA=Name Z-A + ###################################################### # Open trades @@ -460,7 +464,7 @@ bisqEasy.privateChats.table.myUser=My profile ###################################################### -# Top pane +# Top pane ###################################################### # Commented out in code @@ -470,6 +474,7 @@ bisqEasy.topPane.filter=Filter offerbook # suppress inspection "UnusedProperty" bisqEasy.topPane.closeFilter=Close filter bisqEasy.topPane.filter.offersOnly=Show offers only +bisqEasy.topPane.filter.hideUserMessages=Hide user messages ################################################################################