package ctbrec.ui.sites.dreamcam; import ctbrec.Config; import ctbrec.sites.dreamcam.Dreamcam; // import ctbrec.sites.dreamcam.DreamcamModel; import ctbrec.ui.sites.AbstractTabProvider; import ctbrec.ui.tabs.ThumbOverviewTab; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; // import java.util.Objects; import javafx.scene.Scene; import javafx.scene.control.Tab; public class DreamcamTabProvider extends AbstractTabProvider { private final static String API_URL = "https://bss.dreamcamtrue.com/api/clients/v1/broadcasts?partnerId=dreamcam_oauth2&show-offline=false&stream-types=video2D&include-tags=false&include-tip-menu=false"; public DreamcamTabProvider(Dreamcam site) { super(site); } @Override protected List getSiteTabs(Scene scene) { List tabs = new ArrayList<>(); Map tabMap = new HashMap<>(); tabMap.put("girls", "Girls"); tabMap.put("men", "Boys"); tabMap.put("couples", "Couples"); tabMap.put("trans", "Trans"); List enabledTabs = getEnabledTabs(); for (String tab : enabledTabs) { String title = tabMap.getOrDefault(tab, tab); tabs.add(createTab(title, API_URL + "&tag-categories=" + tab)); } return tabs; } private Tab createTab(String title, String url) { var updateService = new DreamcamUpdateService((Dreamcam) site, url); var tab = new ThumbOverviewTab(title, updateService, site); tab.setImageAspectRatio(10.0 / 16.0); tab.setRecorder(recorder); return tab; } private List getEnabledTabs() { return new ArrayList<>(Config.getInstance().getSettings().dreamcamTabs); } }