Add missing tab mapping and Followed tab

This commit is contained in:
Jafea7 2025-04-16 16:42:47 +10:00
parent 9d2005ba6b
commit a8936ed5c6
1 changed files with 28 additions and 11 deletions

View File

@ -9,7 +9,9 @@ import javafx.scene.Scene;
import javafx.scene.control.Tab;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
public class ChaturbateTabProvider extends AbstractTabProvider {
@ -27,37 +29,52 @@ public class ChaturbateTabProvider extends AbstractTabProvider {
protected List<Tab> getSiteTabs(Scene scene) {
List<Tab> tabs = new ArrayList<>();
Map<String, String> tabMap = new HashMap<>();
tabMap.put("f", "Female");
tabMap.put("nf", "New Female");
tabMap.put("m", "Male");
tabMap.put("nm", "New Male");
tabMap.put("c", "Couples");
tabMap.put("t", "Trans");
tabMap.put("xp", "Private");
tabMap.put("xh", "Hidden");
tabMap.put("xg", "Gaming");
tabMap.put("ar", "Top Rated");
tabMap.put("at", "Trending");
for (String tab : getEnabledTabs()) {
String title = tabMap.getOrDefault(tab, tab);
switch (tab) {
case "ft":
tabs.add(createTab("Featured", apiUrl + "/roomlist/room-list/?enable_recommendations=false"));
tabs.add(createTab(title, apiUrl + "/roomlist/room-list/?enable_recommendations=false"));
break;
case "f":
case "m":
case "c":
case "t":
tabs.add(createTab("Female", apiUrl + "/roomlist/room-list/?enable_recommendations=false&genders=" + tab));
// String title = tabMap.getOrDefault(tab, tab);
tabs.add(createTab(title, apiUrl + "/roomlist/room-list/?enable_recommendations=false&genders=" + tab));
break;
case "nf":
addNewCamsTab(tabs, "New Female", "f");
addNewCamsTab(tabs, title, "f");
break;
case "nm":
addNewCamsTab(tabs, "New Male", "m");
addNewCamsTab(tabs, title, "m");
break;
case "xp":
tabs.add(createTab("Private", apiUrl + "/roomlist/room-list/?enable_recommendations=false&private=true"));
tabs.add(createTab(title, apiUrl + "/roomlist/room-list/?enable_recommendations=false&private=true"));
break;
case "xh":
tabs.add(createTab("Hidden", apiUrl + "/roomlist/room-list/?enable_recommendations=false&hidden=true"));
tabs.add(createTab(title, apiUrl + "/roomlist/room-list/?enable_recommendations=false&hidden=true"));
break;
case "xg":
tabs.add(createTab("Gaming", apiUrl + "/roomlist/room-list/?enable_recommendations=false&gaming=true"));
tabs.add(createTab(title, apiUrl + "/roomlist/room-list/?enable_recommendations=false&gaming=true"));
break;
case "ar":
tabs.add(createApiTab("Top Rated", apiUrl + "/discover/carousels/top-rated/"));
tabs.add(createApiTab(title, apiUrl + "/discover/carousels/top-rated/"));
break;
case "at":
tabs.add(createApiTab("Trending", apiUrl + "/discover/carousels/trending/"));
tabs.add(createApiTab(title, apiUrl + "/discover/carousels/trending/"));
break;
default:
if (Pattern.matches("^[A-Z].+", tab)) {
@ -66,7 +83,7 @@ public class ChaturbateTabProvider extends AbstractTabProvider {
break;
}
}
tabs.add(followedTab);
return tabs;
}