diff --git a/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamConfigUI.java b/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamConfigUI.java new file mode 100644 index 00000000..1e9608b1 --- /dev/null +++ b/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamConfigUI.java @@ -0,0 +1,51 @@ +package ctbrec.ui.sites.xlovecam; + +import ctbrec.Config; +import ctbrec.sites.xlovecam.XloveCam; +import ctbrec.ui.DesktopIntegration; +import ctbrec.ui.settings.SettingsTab; +import ctbrec.ui.sites.AbstractConfigUI; +import javafx.geometry.Insets; +import javafx.scene.Parent; +import javafx.scene.control.Button; +import javafx.scene.control.CheckBox; +import javafx.scene.control.Label; +import javafx.scene.layout.GridPane; + +public class XloveCamConfigUI extends AbstractConfigUI { + private XloveCam site; + + public XloveCamConfigUI(XloveCam site) { + this.site = site; + } + + @Override + public Parent createConfigPanel() { + GridPane layout = SettingsTab.createGridLayout(); + var settings = Config.getInstance().getSettings(); + + var row = 0; + var l = new Label("Active"); + layout.add(l, 0, row); + var enabled = new CheckBox(); + enabled.setSelected(!settings.disabledSites.contains(site.getName())); + enabled.setOnAction(e -> { + if(enabled.isSelected()) { + settings.disabledSites.remove(site.getName()); + } else { + settings.disabledSites.add(site.getName()); + } + save(); + }); + GridPane.setMargin(enabled, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + layout.add(enabled, 1, row++); + + var createAccount = new Button("Create new Account"); + createAccount.setOnAction(e -> DesktopIntegration.open(site.getAffiliateLink())); + layout.add(createAccount, 1, row); + GridPane.setColumnSpan(createAccount, 2); + GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + return layout; + } + +} diff --git a/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamSiteUi.java b/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamSiteUi.java index 36f585f6..e595d313 100644 --- a/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamSiteUi.java +++ b/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamSiteUi.java @@ -11,10 +11,12 @@ public class XloveCamSiteUi extends AbstractSiteUi { private final XloveCamTabProvider tabProvider; private final XloveCam site; + private final XloveCamConfigUI configUi; public XloveCamSiteUi(XloveCam xloveCam) { this.site = xloveCam; tabProvider = new XloveCamTabProvider(xloveCam); + configUi = new XloveCamConfigUI(xloveCam); } @Override @@ -24,7 +26,7 @@ public class XloveCamSiteUi extends AbstractSiteUi { @Override public ConfigUI getConfigUI() { - return null; + return configUi; } @Override diff --git a/common/src/main/java/ctbrec/sites/xlovecam/XloveCam.java b/common/src/main/java/ctbrec/sites/xlovecam/XloveCam.java index 48c947b8..ad89e34f 100644 --- a/common/src/main/java/ctbrec/sites/xlovecam/XloveCam.java +++ b/common/src/main/java/ctbrec/sites/xlovecam/XloveCam.java @@ -33,12 +33,12 @@ public class XloveCam extends AbstractSite { @Override public String getAffiliateLink() { - return getBaseUrl(); + return getBaseUrl() + "/en/register/"; } @Override public String getBuyTokensLink() { - return getAffiliateLink(); + return getBaseUrl(); } @Override