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 javafx.scene.control.Tab;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class ChaturbateTabProvider extends AbstractTabProvider { public class ChaturbateTabProvider extends AbstractTabProvider {
@ -27,37 +29,52 @@ public class ChaturbateTabProvider extends AbstractTabProvider {
protected List<Tab> getSiteTabs(Scene scene) { protected List<Tab> getSiteTabs(Scene scene) {
List<Tab> tabs = new ArrayList<>(); 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()) { for (String tab : getEnabledTabs()) {
String title = tabMap.getOrDefault(tab, tab);
switch (tab) { switch (tab) {
case "ft": 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; break;
case "f": case "f":
case "m": case "m":
case "c": case "c":
case "t": 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; break;
case "nf": case "nf":
addNewCamsTab(tabs, "New Female", "f"); addNewCamsTab(tabs, title, "f");
break; break;
case "nm": case "nm":
addNewCamsTab(tabs, "New Male", "m"); addNewCamsTab(tabs, title, "m");
break; break;
case "xp": 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; break;
case "xh": 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; break;
case "xg": 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; break;
case "ar": case "ar":
tabs.add(createApiTab("Top Rated", apiUrl + "/discover/carousels/top-rated/")); tabs.add(createApiTab(title, apiUrl + "/discover/carousels/top-rated/"));
break; break;
case "at": case "at":
tabs.add(createApiTab("Trending", apiUrl + "/discover/carousels/trending/")); tabs.add(createApiTab(title, apiUrl + "/discover/carousels/trending/"));
break; break;
default: default:
if (Pattern.matches("^[A-Z].+", tab)) { if (Pattern.matches("^[A-Z].+", tab)) {
@ -66,7 +83,7 @@ public class ChaturbateTabProvider extends AbstractTabProvider {
break; break;
} }
} }
tabs.add(followedTab);
return tabs; return tabs;
} }