50 lines
2.3 KiB
Java
50 lines
2.3 KiB
Java
package ctbrec.ui.sites.cherrytv;
|
|
|
|
import ctbrec.sites.cherrytv.CherryTv;
|
|
import ctbrec.ui.sites.AbstractTabProvider;
|
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
|
import javafx.scene.Scene;
|
|
import javafx.scene.control.Tab;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class CherryTvTabProvider extends AbstractTabProvider {
|
|
|
|
private final CherryTvFollowedTab followedTab;
|
|
|
|
public CherryTvTabProvider(CherryTv cherryTv) {
|
|
super(cherryTv);
|
|
|
|
followedTab = new CherryTvFollowedTab("Following", (CherryTv) site);
|
|
followedTab.setImageAspectRatio(1);
|
|
followedTab.preserveAspectRatioProperty().set(false);
|
|
followedTab.setRecorder(recorder);
|
|
}
|
|
|
|
@Override
|
|
protected List<Tab> getSiteTabs(Scene scene) {
|
|
List<Tab> tabs = new ArrayList<>();
|
|
tabs.add(createTab("Female", site.getBaseUrl() + "/graphql?operationName=findBroadcastsByPage&variables={\"slug\":\"female\",\"tag\":null,\"following\":null,\"limit\":${limit},\"cursor\":${offset}}&extensions={\"persistedQuery\":{\"version\":1,\"sha256Hash\":\"f1e214ca901e525301fcc6966cf081ee95ef777974ec184897c4a2cf15e9ac6f\"}}"));
|
|
tabs.add(createTab("Trans", site.getBaseUrl() + "/graphql?operationName=findBroadcastsByPage&variables={\"slug\":\"trans\",\"tag\":null,\"following\":null,\"limit\":${limit},\"cursor\":${offset}}&extensions={\"persistedQuery\":{\"version\":1,\"sha256Hash\":\"f1e214ca901e525301fcc6966cf081ee95ef777974ec184897c4a2cf15e9ac6f\"}}"));
|
|
tabs.add(createTab("Group Show", site.getBaseUrl() + "/graphql?operationName=findBroadcastsByPage&variables={\"slug\":\"groupshow\",\"tag\":null,\"following\":null,\"limit\":${limit},\"cursor\":${offset}}&extensions={\"persistedQuery\":{\"version\":1,\"sha256Hash\":\"f1e214ca901e525301fcc6966cf081ee95ef777974ec184897c4a2cf15e9ac6f\"}}"));
|
|
tabs.add(followedTab);
|
|
return tabs;
|
|
}
|
|
|
|
@Override
|
|
public Tab getFollowedTab() {
|
|
return followedTab;
|
|
}
|
|
|
|
private Tab createTab(String name, String url) {
|
|
var updateService = new CherryTvUpdateService(url, (CherryTv) site, false);
|
|
var tab = new ThumbOverviewTab(name, updateService, site);
|
|
tab.setImageAspectRatio(9.0 / 16.0);
|
|
tab.preserveAspectRatioProperty().set(false);
|
|
tab.setRecorder(recorder);
|
|
return tab;
|
|
}
|
|
|
|
}
|