mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-12-30 21:17:49 +01:00
Applied Locale to Pages
This commit is contained in:
parent
420e098d41
commit
f869de01b8
@ -17,14 +17,11 @@
|
||||
package com.djrapitops.plan.data.store.containers;
|
||||
|
||||
import com.djrapitops.plan.delivery.domain.container.DynamicDataContainer;
|
||||
import com.djrapitops.plan.delivery.domain.keys.PlaceholderKey;
|
||||
|
||||
/**
|
||||
* Container used for analysis.
|
||||
*
|
||||
* @author Rsl1122
|
||||
* @see com.djrapitops.plan.delivery.domain.keys.AnalysisKeys for Key objects
|
||||
* @see PlaceholderKey for placeholder information
|
||||
* @deprecated AnalysisContainer is no longer used.
|
||||
*/
|
||||
@Deprecated
|
||||
|
@ -24,7 +24,6 @@ import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver;
|
||||
import com.djrapitops.plan.exceptions.connection.NotFoundException;
|
||||
import com.djrapitops.plan.exceptions.connection.WebException;
|
||||
import com.djrapitops.plan.identification.Server;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.settings.theme.Theme;
|
||||
import com.djrapitops.plan.storage.database.DBSystem;
|
||||
import com.djrapitops.plan.storage.database.Database;
|
||||
@ -51,7 +50,6 @@ public class NetworkPageExporter extends FileExporter {
|
||||
private final DBSystem dbSystem;
|
||||
private final PageFactory pageFactory;
|
||||
private final RootJSONResolver jsonHandler;
|
||||
private final Locale locale;
|
||||
private final Theme theme;
|
||||
|
||||
private final ExportPaths exportPaths;
|
||||
@ -62,14 +60,12 @@ public class NetworkPageExporter extends FileExporter {
|
||||
DBSystem dbSystem,
|
||||
PageFactory pageFactory,
|
||||
RootJSONResolver jsonHandler,
|
||||
Locale locale,
|
||||
Theme theme
|
||||
) {
|
||||
this.files = files;
|
||||
this.dbSystem = dbSystem;
|
||||
this.pageFactory = pageFactory;
|
||||
this.jsonHandler = jsonHandler;
|
||||
this.locale = locale;
|
||||
this.theme = theme;
|
||||
|
||||
exportPaths = new ExportPaths();
|
||||
@ -92,7 +88,7 @@ public class NetworkPageExporter extends FileExporter {
|
||||
.resolve("index.html");
|
||||
|
||||
Page page = pageFactory.networkPage();
|
||||
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
|
||||
export(to, exportPaths.resolveExportPaths(page.toHtml()));
|
||||
}
|
||||
|
||||
public void exportJSON(Path toDirectory, Server server) throws IOException, NotFoundException {
|
||||
|
@ -23,7 +23,6 @@ import com.djrapitops.plan.delivery.web.resolver.request.Request;
|
||||
import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver;
|
||||
import com.djrapitops.plan.exceptions.connection.NotFoundException;
|
||||
import com.djrapitops.plan.exceptions.connection.WebException;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.settings.theme.Theme;
|
||||
import com.djrapitops.plan.storage.database.DBSystem;
|
||||
import com.djrapitops.plan.storage.database.Database;
|
||||
@ -52,7 +51,6 @@ public class PlayerPageExporter extends FileExporter {
|
||||
private final DBSystem dbSystem;
|
||||
private final PageFactory pageFactory;
|
||||
private final RootJSONResolver jsonHandler;
|
||||
private final Locale locale;
|
||||
private final Theme theme;
|
||||
|
||||
@Inject
|
||||
@ -61,14 +59,12 @@ public class PlayerPageExporter extends FileExporter {
|
||||
DBSystem dbSystem,
|
||||
PageFactory pageFactory,
|
||||
RootJSONResolver jsonHandler,
|
||||
Locale locale,
|
||||
Theme theme
|
||||
) {
|
||||
this.files = files;
|
||||
this.dbSystem = dbSystem;
|
||||
this.pageFactory = pageFactory;
|
||||
this.jsonHandler = jsonHandler;
|
||||
this.locale = locale;
|
||||
this.theme = theme;
|
||||
}
|
||||
|
||||
@ -93,7 +89,7 @@ public class PlayerPageExporter extends FileExporter {
|
||||
|
||||
try {
|
||||
Page page = pageFactory.playerPage(playerUUID);
|
||||
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
|
||||
export(to, exportPaths.resolveExportPaths(page.toHtml()));
|
||||
} catch (IllegalStateException notFound) {
|
||||
throw new NotFoundException(notFound.getMessage());
|
||||
}
|
||||
|
@ -24,7 +24,6 @@ import com.djrapitops.plan.delivery.webserver.resolver.json.RootJSONResolver;
|
||||
import com.djrapitops.plan.exceptions.connection.NotFoundException;
|
||||
import com.djrapitops.plan.exceptions.connection.WebException;
|
||||
import com.djrapitops.plan.identification.ServerInfo;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.settings.theme.Theme;
|
||||
import com.djrapitops.plan.storage.database.DBSystem;
|
||||
import com.djrapitops.plan.storage.database.Database;
|
||||
@ -51,7 +50,6 @@ public class PlayersPageExporter extends FileExporter {
|
||||
private final DBSystem dbSystem;
|
||||
private final PageFactory pageFactory;
|
||||
private final RootJSONResolver jsonHandler;
|
||||
private final Locale locale;
|
||||
private final Theme theme;
|
||||
private final ServerInfo serverInfo;
|
||||
|
||||
@ -63,7 +61,6 @@ public class PlayersPageExporter extends FileExporter {
|
||||
DBSystem dbSystem,
|
||||
PageFactory pageFactory,
|
||||
RootJSONResolver jsonHandler,
|
||||
Locale locale,
|
||||
Theme theme,
|
||||
ServerInfo serverInfo
|
||||
) {
|
||||
@ -71,7 +68,6 @@ public class PlayersPageExporter extends FileExporter {
|
||||
this.dbSystem = dbSystem;
|
||||
this.pageFactory = pageFactory;
|
||||
this.jsonHandler = jsonHandler;
|
||||
this.locale = locale;
|
||||
this.theme = theme;
|
||||
this.serverInfo = serverInfo;
|
||||
|
||||
@ -95,7 +91,7 @@ public class PlayersPageExporter extends FileExporter {
|
||||
.resolve("index.html");
|
||||
|
||||
Page page = pageFactory.playersPage();
|
||||
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
|
||||
export(to, exportPaths.resolveExportPaths(page.toHtml()));
|
||||
}
|
||||
|
||||
private void exportJSON(Path toDirectory) throws NotFoundException, IOException {
|
||||
|
@ -25,7 +25,6 @@ import com.djrapitops.plan.exceptions.connection.NotFoundException;
|
||||
import com.djrapitops.plan.exceptions.connection.WebException;
|
||||
import com.djrapitops.plan.identification.Server;
|
||||
import com.djrapitops.plan.identification.ServerInfo;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.settings.theme.Theme;
|
||||
import com.djrapitops.plan.storage.database.DBSystem;
|
||||
import com.djrapitops.plan.storage.database.Database;
|
||||
@ -53,7 +52,6 @@ public class ServerPageExporter extends FileExporter {
|
||||
private final PageFactory pageFactory;
|
||||
private final DBSystem dbSystem;
|
||||
private final RootJSONResolver jsonHandler;
|
||||
private final Locale locale;
|
||||
private final Theme theme;
|
||||
private final ServerInfo serverInfo;
|
||||
|
||||
@ -65,7 +63,6 @@ public class ServerPageExporter extends FileExporter {
|
||||
PageFactory pageFactory,
|
||||
DBSystem dbSystem,
|
||||
RootJSONResolver jsonHandler,
|
||||
Locale locale,
|
||||
Theme theme,
|
||||
ServerInfo serverInfo // To know if current server is a Proxy
|
||||
) {
|
||||
@ -73,7 +70,6 @@ public class ServerPageExporter extends FileExporter {
|
||||
this.pageFactory = pageFactory;
|
||||
this.dbSystem = dbSystem;
|
||||
this.jsonHandler = jsonHandler;
|
||||
this.locale = locale;
|
||||
this.theme = theme;
|
||||
this.serverInfo = serverInfo;
|
||||
|
||||
@ -98,7 +94,7 @@ public class ServerPageExporter extends FileExporter {
|
||||
.resolve("index.html");
|
||||
|
||||
Page page = pageFactory.serverPage(serverUUID);
|
||||
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
|
||||
export(to, exportPaths.resolveExportPaths(page.toHtml()));
|
||||
}
|
||||
|
||||
public void exportJSON(Path toDirectory, Server server) throws IOException, NotFoundException {
|
||||
|
@ -16,13 +16,10 @@
|
||||
*/
|
||||
package com.djrapitops.plan.delivery.formatting;
|
||||
|
||||
import com.djrapitops.plan.delivery.domain.container.DataContainer;
|
||||
import com.djrapitops.plan.delivery.domain.keys.PlaceholderKey;
|
||||
import org.apache.commons.text.StringSubstitutor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* Formatter for replacing ${placeholder} values inside strings.
|
||||
@ -31,16 +28,6 @@ import java.util.Objects;
|
||||
*/
|
||||
public class PlaceholderReplacer extends HashMap<String, Serializable> implements Formatter<String> {
|
||||
|
||||
public <T> void addPlaceholderFrom(DataContainer container, PlaceholderKey<T> key) {
|
||||
put(key.getPlaceholder(), container.getValue(key).map(Objects::toString).orElse("Missing value " + key.getPlaceholder()));
|
||||
}
|
||||
|
||||
public void addAllPlaceholdersFrom(DataContainer container, PlaceholderKey... keys) {
|
||||
for (PlaceholderKey key : keys) {
|
||||
addPlaceholderFrom(container, key);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String apply(String string) {
|
||||
StringSubstitutor sub = new StringSubstitutor(this);
|
||||
|
@ -19,6 +19,7 @@ package com.djrapitops.plan.delivery.rendering.pages;
|
||||
import com.djrapitops.plan.delivery.formatting.PlaceholderReplacer;
|
||||
import com.djrapitops.plan.delivery.rendering.html.Contributors;
|
||||
import com.djrapitops.plan.delivery.rendering.html.icon.Icon;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.version.VersionChecker;
|
||||
|
||||
/**
|
||||
@ -33,24 +34,26 @@ public class ErrorMessagePage implements Page {
|
||||
private final String errorTitle;
|
||||
private final String errorMsg;
|
||||
|
||||
private final Locale locale;
|
||||
private final VersionChecker versionChecker;
|
||||
|
||||
public ErrorMessagePage(
|
||||
String template, Icon icon, String errorTitle, String errorMsg,
|
||||
VersionChecker versionChecker
|
||||
Locale locale, VersionChecker versionChecker
|
||||
) {
|
||||
this.template = template;
|
||||
this.icon = icon;
|
||||
this.errorTitle = errorTitle;
|
||||
this.errorMsg = errorMsg;
|
||||
this.locale = locale;
|
||||
this.versionChecker = versionChecker;
|
||||
}
|
||||
|
||||
public ErrorMessagePage(
|
||||
String template, String errorTitle, String errorMsg,
|
||||
VersionChecker versionChecker
|
||||
) {
|
||||
this(template, Icon.called("exclamation-circle").build(), errorTitle, errorMsg, versionChecker);
|
||||
VersionChecker versionChecker,
|
||||
Locale locale) {
|
||||
this(template, Icon.called("exclamation-circle").build(), errorTitle, errorMsg, locale, versionChecker);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -63,6 +66,6 @@ public class ErrorMessagePage implements Page {
|
||||
placeholders.put("version", versionChecker.getUpdateButton().orElse(versionChecker.getCurrentVersionButton()));
|
||||
placeholders.put("updateModal", versionChecker.getUpdateModal());
|
||||
placeholders.put("contributors", Contributors.generateContributorHtml());
|
||||
return placeholders.apply(template);
|
||||
return locale.replaceLanguageInHtml(placeholders.apply(template));
|
||||
}
|
||||
}
|
@ -27,6 +27,7 @@ import com.djrapitops.plan.extension.implementation.storage.queries.ExtensionSer
|
||||
import com.djrapitops.plan.identification.ServerInfo;
|
||||
import com.djrapitops.plan.settings.config.PlanConfig;
|
||||
import com.djrapitops.plan.settings.config.paths.ProxySettings;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.settings.theme.Theme;
|
||||
import com.djrapitops.plan.settings.theme.ThemeVal;
|
||||
import com.djrapitops.plan.storage.database.DBSystem;
|
||||
@ -49,6 +50,7 @@ public class NetworkPage implements Page {
|
||||
private final VersionChecker versionChecker;
|
||||
private final PlanConfig config;
|
||||
private final Theme theme;
|
||||
private final Locale locale;
|
||||
private final ServerInfo serverInfo;
|
||||
private final Formatters formatters;
|
||||
|
||||
@ -59,6 +61,7 @@ public class NetworkPage implements Page {
|
||||
VersionChecker versionChecker,
|
||||
PlanConfig config,
|
||||
Theme theme,
|
||||
Locale locale,
|
||||
ServerInfo serverInfo,
|
||||
Formatters formatters
|
||||
) {
|
||||
@ -67,6 +70,7 @@ public class NetworkPage implements Page {
|
||||
this.versionChecker = versionChecker;
|
||||
this.config = config;
|
||||
this.theme = theme;
|
||||
this.locale = locale;
|
||||
this.serverInfo = serverInfo;
|
||||
this.formatters = formatters;
|
||||
}
|
||||
@ -98,12 +102,15 @@ public class NetworkPage implements Page {
|
||||
return new ServerPluginTabs(extensionData, formatters);
|
||||
});
|
||||
|
||||
String html = locale.replaceLanguageInHtml(placeholders.apply(templateHtml));
|
||||
|
||||
String nav = JSONCache.getOrCacheString(DataID.EXTENSION_NAV, serverUUID, () -> pluginTabs.get().getNav());
|
||||
String tabs = JSONCache.getOrCacheString(DataID.EXTENSION_TABS, serverUUID, () -> pluginTabs.get().getTabs());
|
||||
|
||||
placeholders = new PlaceholderReplacer();
|
||||
placeholders.put("navPluginsTabs", nav);
|
||||
placeholders.put("tabsPlugins", StringUtils.remove(tabs, "${backButton}"));
|
||||
|
||||
return placeholders.apply(templateHtml);
|
||||
return placeholders.apply(html);
|
||||
}
|
||||
}
|
@ -101,7 +101,7 @@ public class PageFactory {
|
||||
}
|
||||
|
||||
public PlayersPage playersPage() throws IOException {
|
||||
return new PlayersPage(getResource("web/players.html"), versionChecker.get(), config.get(), serverInfo.get());
|
||||
return new PlayersPage(getResource("web/players.html"), versionChecker.get(), config.get(), locale.get(), serverInfo.get());
|
||||
}
|
||||
|
||||
public ServerPage serverPage(UUID serverUUID) throws NotFoundException, IOException {
|
||||
@ -112,6 +112,7 @@ public class PageFactory {
|
||||
server,
|
||||
config.get(),
|
||||
theme.get(),
|
||||
locale.get(),
|
||||
versionChecker.get(),
|
||||
dbSystem.get(),
|
||||
serverInfo.get(),
|
||||
@ -125,7 +126,7 @@ public class PageFactory {
|
||||
return new PlayerPage(
|
||||
getResource("web/player.html"), player,
|
||||
versionChecker.get(),
|
||||
config.get(), this, theme.get(),
|
||||
config.get(), this, theme.get(), locale.get(),
|
||||
formatters.get(), serverInfo.get()
|
||||
);
|
||||
}
|
||||
@ -166,7 +167,9 @@ public class PageFactory {
|
||||
public NetworkPage networkPage() throws IOException {
|
||||
return new NetworkPage(getResource("web/network.html"),
|
||||
dbSystem.get(),
|
||||
versionChecker.get(), config.get(), theme.get(), serverInfo.get(), formatters.get());
|
||||
versionChecker.get(),
|
||||
config.get(), theme.get(), locale.get(),
|
||||
serverInfo.get(), formatters.get());
|
||||
}
|
||||
|
||||
public Page internalErrorPage(String message, Throwable error) {
|
||||
@ -184,13 +187,13 @@ public class PageFactory {
|
||||
public Page errorPage(String title, String error) throws IOException {
|
||||
return new ErrorMessagePage(
|
||||
getResource("web/error.html"), title, error,
|
||||
versionChecker.get());
|
||||
versionChecker.get(), locale.get());
|
||||
}
|
||||
|
||||
public Page errorPage(Icon icon, String title, String error) throws IOException {
|
||||
return new ErrorMessagePage(
|
||||
getResource("web/error.html"), icon, title, error,
|
||||
versionChecker.get());
|
||||
locale.get(), versionChecker.get());
|
||||
}
|
||||
|
||||
public String getResource(String name) throws IOException {
|
||||
|
@ -25,6 +25,7 @@ import com.djrapitops.plan.delivery.rendering.html.Contributors;
|
||||
import com.djrapitops.plan.delivery.rendering.html.Html;
|
||||
import com.djrapitops.plan.identification.ServerInfo;
|
||||
import com.djrapitops.plan.settings.config.PlanConfig;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.settings.theme.Theme;
|
||||
import com.djrapitops.plan.settings.theme.ThemeVal;
|
||||
import com.djrapitops.plan.version.VersionChecker;
|
||||
@ -46,6 +47,7 @@ public class PlayerPage implements Page {
|
||||
private final PlanConfig config;
|
||||
private final PageFactory pageFactory;
|
||||
private final Theme theme;
|
||||
private final Locale locale;
|
||||
private final ServerInfo serverInfo;
|
||||
|
||||
private final Formatter<Long> clockLongFormatter;
|
||||
@ -58,6 +60,7 @@ public class PlayerPage implements Page {
|
||||
PlanConfig config,
|
||||
PageFactory pageFactory,
|
||||
Theme theme,
|
||||
Locale locale,
|
||||
Formatters formatters,
|
||||
ServerInfo serverInfo
|
||||
) {
|
||||
@ -67,6 +70,7 @@ public class PlayerPage implements Page {
|
||||
this.config = config;
|
||||
this.pageFactory = pageFactory;
|
||||
this.theme = theme;
|
||||
this.locale = locale;
|
||||
this.serverInfo = serverInfo;
|
||||
|
||||
clockLongFormatter = formatters.clockLong();
|
||||
@ -91,24 +95,24 @@ public class PlayerPage implements Page {
|
||||
placeholders.put("refreshFull", secondLongFormatter.apply(now));
|
||||
placeholders.put("version", versionChecker.getUpdateButton().orElse(versionChecker.getCurrentVersionButton()));
|
||||
placeholders.put("updateModal", versionChecker.getUpdateModal());
|
||||
placeholders.put("timeZone", config.getTimeZoneOffsetHours());
|
||||
|
||||
String playerName = player.getValue(PlayerKeys.NAME).orElse(playerUUID.toString());
|
||||
placeholders.put("playerName", playerName);
|
||||
|
||||
placeholders.put("worldPieColors", theme.getValue(ThemeVal.GRAPH_WORLD_PIE));
|
||||
placeholders.put("timeZone", config.getTimeZoneOffsetHours());
|
||||
placeholders.put("gmPieColors", theme.getValue(ThemeVal.GRAPH_GM_PIE));
|
||||
placeholders.put("serverPieColors", theme.getValue(ThemeVal.GRAPH_SERVER_PREF_PIE));
|
||||
placeholders.put("firstDay", 1);
|
||||
|
||||
placeholders.put("backButton", (serverInfo.getServer().isProxy() ? Html.BACK_BUTTON_NETWORK : Html.BACK_BUTTON_SERVER).create());
|
||||
placeholders.put("contributors", Contributors.generateContributorHtml());
|
||||
|
||||
String html = locale.replaceLanguageInHtml(placeholders.apply(templateHtml));
|
||||
|
||||
placeholders = new PlaceholderReplacer();
|
||||
PlayerPluginTab pluginTabs = pageFactory.inspectPluginTabs(playerUUID);
|
||||
|
||||
placeholders.put("navPluginsTabs", pluginTabs.getNav());
|
||||
placeholders.put("pluginsTabs", pluginTabs.getTab());
|
||||
|
||||
return placeholders.apply(templateHtml);
|
||||
return placeholders.apply(html);
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ import com.djrapitops.plan.identification.ServerInfo;
|
||||
import com.djrapitops.plan.settings.config.PlanConfig;
|
||||
import com.djrapitops.plan.settings.config.paths.PluginSettings;
|
||||
import com.djrapitops.plan.settings.config.paths.ProxySettings;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.version.VersionChecker;
|
||||
|
||||
/**
|
||||
@ -34,17 +35,20 @@ public class PlayersPage implements Page {
|
||||
private final String templateHtml;
|
||||
private final VersionChecker versionChecker;
|
||||
private final PlanConfig config;
|
||||
private final Locale locale;
|
||||
private final ServerInfo serverInfo;
|
||||
|
||||
PlayersPage(
|
||||
String templateHtml,
|
||||
VersionChecker versionChecker,
|
||||
PlanConfig config,
|
||||
Locale locale,
|
||||
ServerInfo serverInfo
|
||||
) {
|
||||
this.templateHtml = templateHtml;
|
||||
this.versionChecker = versionChecker;
|
||||
this.config = config;
|
||||
this.locale = locale;
|
||||
this.serverInfo = serverInfo;
|
||||
}
|
||||
|
||||
@ -61,6 +65,6 @@ public class PlayersPage implements Page {
|
||||
placeholders.put("networkName", config.get(PluginSettings.SERVER_NAME));
|
||||
}
|
||||
|
||||
return placeholders.apply(templateHtml);
|
||||
return locale.replaceLanguageInHtml(placeholders.apply(templateHtml));
|
||||
}
|
||||
}
|
@ -28,6 +28,7 @@ import com.djrapitops.plan.extension.implementation.storage.queries.ExtensionSer
|
||||
import com.djrapitops.plan.identification.Server;
|
||||
import com.djrapitops.plan.identification.ServerInfo;
|
||||
import com.djrapitops.plan.settings.config.PlanConfig;
|
||||
import com.djrapitops.plan.settings.locale.Locale;
|
||||
import com.djrapitops.plan.settings.theme.Theme;
|
||||
import com.djrapitops.plan.settings.theme.ThemeVal;
|
||||
import com.djrapitops.plan.storage.database.DBSystem;
|
||||
@ -47,6 +48,7 @@ public class ServerPage implements Page {
|
||||
private final Server server;
|
||||
private final PlanConfig config;
|
||||
private final Theme theme;
|
||||
private final Locale locale;
|
||||
private final VersionChecker versionChecker;
|
||||
private final DBSystem dbSystem;
|
||||
private final ServerInfo serverInfo;
|
||||
@ -56,6 +58,7 @@ public class ServerPage implements Page {
|
||||
String templateHtml, Server server,
|
||||
PlanConfig config,
|
||||
Theme theme,
|
||||
Locale locale,
|
||||
VersionChecker versionChecker,
|
||||
DBSystem dbSystem,
|
||||
ServerInfo serverInfo,
|
||||
@ -65,6 +68,7 @@ public class ServerPage implements Page {
|
||||
this.server = server;
|
||||
this.config = config;
|
||||
this.theme = theme;
|
||||
this.locale = locale;
|
||||
this.versionChecker = versionChecker;
|
||||
this.dbSystem = dbSystem;
|
||||
this.serverInfo = serverInfo;
|
||||
@ -93,12 +97,15 @@ public class ServerPage implements Page {
|
||||
return new ServerPluginTabs(extensionData, formatters);
|
||||
});
|
||||
|
||||
String html = locale.replaceLanguageInHtml(placeholders.apply(templateHtml));
|
||||
|
||||
String nav = JSONCache.getOrCacheString(DataID.EXTENSION_NAV, serverUUID, () -> pluginTabs.get().getNav());
|
||||
String tabs = JSONCache.getOrCacheString(DataID.EXTENSION_TABS, serverUUID, () -> pluginTabs.get().getTabs());
|
||||
|
||||
placeholders = new PlaceholderReplacer();
|
||||
placeholders.put("navPluginsTabs", nav);
|
||||
placeholders.put("tabsPlugins", tabs);
|
||||
|
||||
return placeholders.apply(templateHtml);
|
||||
return placeholders.apply(html);
|
||||
}
|
||||
}
|
@ -102,7 +102,6 @@ public class Locale extends HashMap<Lang, Message> {
|
||||
this.langCode = locale.langCode;
|
||||
}
|
||||
|
||||
// TODO Use inside Page implementations
|
||||
public String replaceLanguageInHtml(String from) {
|
||||
if (isEmpty()) {
|
||||
return from;
|
||||
|
Loading…
Reference in New Issue
Block a user