From 01554eb42802580891d9b76328d3b2d365f5c701 Mon Sep 17 00:00:00 2001 From: sirjonasxx <36828922+sirjonasxx@users.noreply.github.com> Date: Thu, 19 Aug 2021 03:55:20 +0200 Subject: [PATCH] base layout extensionstore --- .../main/java/gearth/misc/OSValidator.java | 12 + .../simple/SimpleExtensionProducer.java | 5 + .../extensionstore/GExtensionStore.java | 56 ++++- .../GExtensionStoreLauncher.java | 40 +++ .../GExtensionStoreController.java | 231 ++++++++++++++++++ .../extensionstore/application/WebUtils.java | 79 ++++++ .../application/entities/ContentItem.java | 9 + .../application/entities/HOverview.java | 45 ++++ .../entities/StoreExtensionItem.java | 19 ++ .../entities/categories/CategoryItem.java | 19 ++ .../entities/categories/CategoryOverview.java | 80 ++++++ .../StoreExtensionDetailsItem.java | 19 ++ .../entities/installed/InstalledOverview.java | 86 +++++++ .../StoreExtensionInstalledItem.java | 30 +++ .../queriedoverviews/ByDateOverview.java | 55 +++++ .../queriedoverviews/ByRatingOverview.java | 54 ++++ .../queriedoverviews/ManualQueryOverview.java | 4 + .../QueriedExtensionOverview.java | 49 ++++ .../entities/search/SearchComponent.java | 12 + .../entities/search/SearchOverview.java | 76 ++++++ .../extensionstore/repository/StoreFetch.java | 2 +- .../repository/StoreRepository.java | 33 ++- .../tools/InstalledExtension.java | 20 ++ .../tools/StoreExtensionTools.java | 46 +++- .../application/gextensionstore.fxml | 7 + .../webview/css/add_item_layout.css | 72 ++++++ .../application/webview/css/buttons.css | 169 +++++++++++++ .../webview/css/category_overview.css | 51 ++++ .../webview/css/comments_overview.css | 131 ++++++++++ .../application/webview/css/content.css | 43 ++++ .../webview/css/extension_overview.css | 63 +++++ .../application/webview/css/general.css | 50 ++++ .../application/webview/css/layout.css | 145 +++++++++++ .../application/webview/fonts/Ubuntu-C.ttf | Bin 0 -> 369840 bytes .../application/webview/fonts/UbuntuHabbo.ttf | Bin 0 -> 9264 bytes .../webview/fonts/UbuntuHabbo.woff | Bin 0 -> 6272 bytes .../webview/fonts/UbuntuHabbo.woff2 | Bin 0 -> 5128 bytes .../webview/images/overviews/clock.png | Bin 0 -> 3749 bytes .../webview/images/overviews/idea.png | Bin 0 -> 2070 bytes .../webview/images/overviews/search.png | Bin 0 -> 2570 bytes .../webview/images/overviews/star.png | Bin 0 -> 1763 bytes .../webview/images/overviews/success.png | Bin 0 -> 2231 bytes .../application/webview/index.html | 84 +++++++ .../application/webview/js/script.js | 85 +++++++ 44 files changed, 1962 insertions(+), 19 deletions(-) create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStoreLauncher.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/GExtensionStoreController.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/WebUtils.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/ContentItem.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/HOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/StoreExtensionItem.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryItem.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/InstalledOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/StoreExtensionInstalledItem.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByDateOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByRatingOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ManualQueryOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/QueriedExtensionOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchComponent.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchOverview.java create mode 100644 G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/InstalledExtension.java create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/gextensionstore.fxml create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/add_item_layout.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/buttons.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/category_overview.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/comments_overview.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/content.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/extension_overview.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/general.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/layout.css create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/Ubuntu-C.ttf create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/UbuntuHabbo.ttf create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/UbuntuHabbo.woff create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/UbuntuHabbo.woff2 create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/clock.png create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/idea.png create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/search.png create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/star.png create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/success.png create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/index.html create mode 100644 G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/js/script.js diff --git a/G-Earth/src/main/java/gearth/misc/OSValidator.java b/G-Earth/src/main/java/gearth/misc/OSValidator.java index 6e3264a..0899ffb 100644 --- a/G-Earth/src/main/java/gearth/misc/OSValidator.java +++ b/G-Earth/src/main/java/gearth/misc/OSValidator.java @@ -51,4 +51,16 @@ public class OSValidator { } } + public static String getOSFull() { + if (isWindows()) { + return "Windows"; + } else if (isMac()) { + return "Max"; + } else if (isUnix()) { + return "Linux"; + } else { + return "err"; + } + } + } diff --git a/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/simple/SimpleExtensionProducer.java b/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/simple/SimpleExtensionProducer.java index c28e6d0..03cdfc1 100644 --- a/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/simple/SimpleExtensionProducer.java +++ b/G-Earth/src/main/java/gearth/services/extension_handler/extensions/implementations/simple/SimpleExtensionProducer.java @@ -5,6 +5,8 @@ import gearth.services.extension_handler.extensions.extensionproducers.Extension import gearth.services.extension_handler.extensions.extensionproducers.ExtensionProducerObserver; import gearth.services.internal_extensions.blockreplacepackets.BlockAndReplacePackets; import gearth.services.internal_extensions.blockreplacepackets.BlockAndReplacePacketsLauncher; +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.GExtensionStoreLauncher; import gearth.services.internal_extensions.packetinfoexplorer.PacketInfoExplorer; import gearth.services.internal_extensions.packetinfoexplorer.PacketInfoExplorerLauncher; @@ -16,6 +18,9 @@ public class SimpleExtensionProducer implements ExtensionProducer { // uncomment the next line if you want to see an embedded example extension in G-Earth // observer.onExtensionProduced(new ExampleExtension()); + new InternalExtensionFormBuilder() + .launch(new GExtensionStoreLauncher(), observer); + new InternalExtensionFormBuilder() .launch(new BlockAndReplacePacketsLauncher(), observer); diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStore.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStore.java index c9541a8..9d13cf5 100644 --- a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStore.java +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStore.java @@ -1,5 +1,59 @@ package gearth.services.internal_extensions.extensionstore; -public class GExtensionStore { +import gearth.extensions.ExtensionForm; +import gearth.extensions.ExtensionInfo; +import gearth.services.internal_extensions.extensionstore.application.GExtensionStoreController; +import gearth.services.internal_extensions.extensionstore.application.entities.queriedoverviews.ByDateOverview; +import gearth.services.internal_extensions.extensionstore.repository.StoreFetch; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; +@ExtensionInfo( + Title = "G-ExtensionStore", + Description = "Get your extensions here", + Version = "1.0", + Author = "sirjonasxx" +) +public class GExtensionStore extends ExtensionForm { + + public static final int PAGESIZE = 20; + + private StoreRepository repository = null; + private GExtensionStoreController extensionStoreController = null; + + public GExtensionStore() { + StoreFetch.fetch(new StoreFetch.StoreFetchListener() { + @Override + public void success(StoreRepository storeRepository) { + repository = storeRepository; + if (extensionStoreController != null) { + extensionStoreController.maybeInitialized(); + } + } + + @Override + public void fail(String reason) { + System.out.println("failed fetching store repository"); + } + }); + } + + + + public void setgExtensionStoreController(GExtensionStoreController gExtensionStoreController) { + this.extensionStoreController = gExtensionStoreController; + gExtensionStoreController.maybeInitialized(); + } + + public GExtensionStoreController getExtensionStoreController() { + return extensionStoreController; + } + + public StoreRepository getRepository() { + return repository; + } + + @Override + protected boolean canLeave() { + return false; + } } diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStoreLauncher.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStoreLauncher.java new file mode 100644 index 0000000..b94c5fb --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/GExtensionStoreLauncher.java @@ -0,0 +1,40 @@ +package gearth.services.internal_extensions.extensionstore; + +import gearth.Main; +import gearth.extensions.InternalExtensionFormLauncher; +import gearth.services.internal_extensions.extensionstore.application.GExtensionStoreController; +import gearth.ui.GEarthController; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.image.Image; +import javafx.stage.Stage; + +public class GExtensionStoreLauncher extends InternalExtensionFormLauncher { + + @Override + public GExtensionStore createForm(Stage stage) throws Exception { + FXMLLoader loader = new FXMLLoader(GExtensionStoreController.class.getResource("gextensionstore.fxml")); + Parent root = loader.load(); + +// stage.getIcons().add(new Image(GExtensionStoreController.class.getResourceAsStream("webview/images/logo.png"))); + stage.setTitle("G-ExtensionStore"); + stage.setMinWidth(420); + stage.setMinHeight(500); + + stage.setWidth(550); + stage.setHeight(530); + + stage.setScene(new Scene(root)); + stage.getScene().getStylesheets().add(GEarthController.class.getResource("/gearth/ui/bootstrap3.css").toExternalForm()); + stage.getIcons().add(new Image(Main.class.getResourceAsStream("G-EarthLogoSmaller.png"))); + + GExtensionStore gExtensionStore = new GExtensionStore(); + + GExtensionStoreController gExtensionStoreController = loader.getController(); + gExtensionStore.setgExtensionStoreController(gExtensionStoreController); + gExtensionStoreController.gExtensionStore(gExtensionStore); + + return gExtensionStore; + } +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/GExtensionStoreController.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/GExtensionStoreController.java new file mode 100644 index 0000000..ae64cb7 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/GExtensionStoreController.java @@ -0,0 +1,231 @@ +package gearth.services.internal_extensions.extensionstore.application; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; +import gearth.services.internal_extensions.extensionstore.application.entities.HOverview; +import gearth.services.internal_extensions.extensionstore.application.entities.categories.CategoryOverview; +import gearth.services.internal_extensions.extensionstore.application.entities.installed.InstalledOverview; +import gearth.services.internal_extensions.extensionstore.application.entities.queriedoverviews.ByDateOverview; +import gearth.services.internal_extensions.extensionstore.application.entities.queriedoverviews.ByRatingOverview; +import gearth.services.internal_extensions.extensionstore.application.entities.search.SearchOverview; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; +import javafx.application.Platform; +import javafx.concurrent.Worker; +import javafx.fxml.Initializable; +import javafx.scene.layout.BorderPane; +import javafx.scene.web.WebView; +import netscape.javascript.JSObject; +import org.w3c.dom.Element; +import org.w3c.dom.events.EventTarget; + +import java.net.URL; +import java.util.*; +import java.util.function.Supplier; + +public class GExtensionStoreController implements Initializable { + + private GExtensionStore extensionStore = null; + + private volatile boolean UIInitialized = false; + private volatile boolean initialized = false; + + public BorderPane borderPane; + private WebView webView; + + private LinkedList currentOverviews = new LinkedList<>(); + private final String contentItemsContainer = "content_items_container"; + + @Override + public void initialize(URL location, ResourceBundle resources) { + webView = new WebView(); + borderPane.setCenter(webView); + + webView.getEngine().getLoadWorker().stateProperty().addListener((observableValue, oldState, newState) -> { + if (newState == Worker.State.SUCCEEDED) { + JSObject window = (JSObject) webView.getEngine().executeScript("window"); + window.setMember("app", extensionStore); + + Element by_date_link = webView.getEngine().getDocument().getElementById("overview_by_date"); + Element by_rating_link = webView.getEngine().getDocument().getElementById("overview_by_rating"); + Element by_category_link = webView.getEngine().getDocument().getElementById("overview_by_category"); + Element installed_link = webView.getEngine().getDocument().getElementById("overview_installed"); + Element seach_link = webView.getEngine().getDocument().getElementById("search_page"); + + Map> hOverviewSupplier = new HashMap<>(); + hOverviewSupplier.put(by_date_link, () -> new ByDateOverview(null, 0, GExtensionStore.PAGESIZE, getStoreRepository())); + hOverviewSupplier.put(by_rating_link, () -> new ByRatingOverview(null, 0, GExtensionStore.PAGESIZE, getStoreRepository())); + hOverviewSupplier.put(by_category_link, () -> new CategoryOverview(null, 0, GExtensionStore.PAGESIZE, getStoreRepository())); + hOverviewSupplier.put(installed_link, () -> new InstalledOverview(null, 0, GExtensionStore.PAGESIZE, getStoreRepository())); + hOverviewSupplier.put(seach_link, () -> new SearchOverview(null, getStoreRepository())); + + Arrays.asList(by_date_link, by_rating_link, by_category_link, installed_link, seach_link).forEach(l -> + ((EventTarget) l).addEventListener("click", event -> { + if (initialized) setRootOverview(hOverviewSupplier.get(l).get()); + }, true)); + + + Element first_btn = webView.getEngine().getDocument().getElementById("first_btn"); + Element prev_btn = webView.getEngine().getDocument().getElementById("prev_btn"); + Element next_btn = webView.getEngine().getDocument().getElementById("next_btn"); + Element last_btn = webView.getEngine().getDocument().getElementById("last_btn"); + + Map> newStartIndex = new HashMap<>(); + newStartIndex.put(first_btn, () -> 0); + newStartIndex.put(prev_btn, () -> getCurrentOverview().getStartIndex() - GExtensionStore.PAGESIZE); + newStartIndex.put(next_btn, () -> getCurrentOverview().getStartIndex() + GExtensionStore.PAGESIZE); + newStartIndex.put(last_btn, () -> { + int lastPageSize = getCurrentOverview().getMaxAmount() % GExtensionStore.PAGESIZE; + if (lastPageSize == 0) lastPageSize = GExtensionStore.PAGESIZE; + return getCurrentOverview().getMaxAmount() - lastPageSize; + }); + + Arrays.asList(first_btn, prev_btn, next_btn, last_btn).forEach(l -> + ((EventTarget) l).addEventListener("click", event ->{ + if (!initialized || l.getAttribute("class").contains("gdisabled")) return; + overwriteCurrentOverview(getCurrentOverview().getNewPage(newStartIndex.get(l).get(), GExtensionStore.PAGESIZE)); + }, true)); + + + Element return_btn = webView.getEngine().getDocument().getElementById("return_btn"); + Element generic_btn = webView.getEngine().getDocument().getElementById("generic_btn"); + + ((EventTarget) return_btn).addEventListener("click", event -> popOverview(), true); + ((EventTarget) generic_btn).addEventListener("click", event -> { + if (initialized && getCurrentOverview() != null && getCurrentOverview().buttonEnabled()) { + getCurrentOverview().buttonClick(extensionStore); + } + }, true); + + + + UIInitialized = true; + maybeInitialized(); + } + }); + + webView.getEngine().load(GExtensionStoreController.class.getResource("webview/index.html").toString()); + } + + + private void setRootOverview(HOverview overview) { + currentOverviews.clear(); + pushOverview(overview); + } + + private void overwriteCurrentOverview(HOverview overview) { + currentOverviews.removeLast(); + pushOverview(overview); + } + + public void pushOverview(HOverview overview) { + currentOverviews.add(overview); + setOverview(true); + } + +// private void reloadOverview(HOverview overview) { +// setOverview(true); +// } + + private void popOverview() { + if (currentOverviews.size() > 1) { + currentOverviews.removeLast(); + setOverview(true); + } + } + + public void setOverview(boolean scrollTop) { + if (initialized) { + Platform.runLater(() -> { + HOverview overview = currentOverviews.getLast(); + + Element content_items_container = webView.getEngine().getDocument().getElementById(contentItemsContainer); + WebUtils.clearElement(content_items_container); + for (int i = 0; i < overview.getAmount(); i++) { + ContentItem contentItem = overview.getContentItems().get(i); + contentItem.addHtml(i, extensionStore); + } + if (scrollTop) { + webView.getEngine().executeScript("document.getElementById('" + contentItemsContainer + "').scrollTop = 0"); + } + + Element first_btn = webView.getEngine().getDocument().getElementById("first_btn"); + Element prev_btn = webView.getEngine().getDocument().getElementById("prev_btn"); + Element next_btn = webView.getEngine().getDocument().getElementById("next_btn"); + Element last_btn = webView.getEngine().getDocument().getElementById("last_btn"); + WebUtils.removeClass(first_btn, "gdisabled"); + WebUtils.removeClass(prev_btn, "gdisabled"); + WebUtils.removeClass(next_btn, "gdisabled"); + WebUtils.removeClass(last_btn, "gdisabled"); + + boolean isLast = overview.getMaxAmount() <= overview.getAmount() + overview.getStartIndex(); + boolean isFirst = overview.getStartIndex() < GExtensionStore.PAGESIZE; + if (isLast) { + WebUtils.addClass(next_btn, "gdisabled"); + WebUtils.addClass(last_btn, "gdisabled"); + } + if (isFirst) { + WebUtils.addClass(first_btn, "gdisabled"); + WebUtils.addClass(prev_btn, "gdisabled"); + } + int thispage = Math.max(1, 1 + (overview.getStartIndex() / GExtensionStore.PAGESIZE)); + int lastpage = Math.max(1, 1 + ((overview.getMaxAmount() - 1) / GExtensionStore.PAGESIZE)); + webView.getEngine().executeScript("document.getElementById('paging_lbl').innerHTML = '" + thispage + " / " + lastpage + "';"); + + + Element return_btn = webView.getEngine().getDocument().getElementById("return_btn"); + Element generic_btn = webView.getEngine().getDocument().getElementById("generic_btn"); + WebUtils.removeClass((Element) return_btn.getParentNode(), "invisible"); + WebUtils.removeClass((Element) generic_btn.getParentNode(), "invisible"); + + if (currentOverviews.size() < 2) WebUtils.addClass((Element) return_btn.getParentNode(), "invisible"); + if (overview.buttonText() == null) WebUtils.addClass((Element) generic_btn.getParentNode(), "invisible"); + else webView.getEngine().executeScript("document.getElementById('generic_btn').innerHTML = '" + overview.buttonText() + "';"); + + + WebUtils.removeClass((Element) generic_btn.getParentNode(), "gdisabled"); + if (!overview.buttonEnabled()) WebUtils.addClass((Element) generic_btn.getParentNode(), "gdisabled"); + + webView.getEngine().executeScript(String.format("setHeading(\"%s\", \"%s\", \"%s\")", + WebUtils.escapeHtmlNoBackslash(overview.header().iconUrl()), + WebUtils.escapeMessage(overview.header().title()), + WebUtils.escapeMessage(overview.header().description()) + )); + webView.getEngine().executeScript(String.format("setContentTitle(\"%s\")", + WebUtils.escapeMessage(overview.header().contentTitle()) + )); + }); + } + } + + public void maybeInitialized() { + if (UIInitialized && extensionStore != null && extensionStore.getRepository() != null) { + onFullInitialize(); + } + } + + private void onFullInitialize() { + initialized = true; + pushOverview(new ByDateOverview(null, 0, GExtensionStore.PAGESIZE, getStoreRepository())); + } + + public void gExtensionStore(GExtensionStore gExtensionStore) { + this.extensionStore = gExtensionStore; + } + + public GExtensionStore getExtensionStore() { + return extensionStore; + } + + public StoreRepository getStoreRepository() { + return extensionStore.getRepository(); + } + + public WebView getWebView() { + return webView; + } + + public HOverview getCurrentOverview() { + return currentOverviews.getLast(); + } + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/WebUtils.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/WebUtils.java new file mode 100644 index 0000000..c53a8f8 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/WebUtils.java @@ -0,0 +1,79 @@ +package gearth.services.internal_extensions.extensionstore.application; + +import org.w3c.dom.Element; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; + +public class WebUtils { + + + private static HashMap entityMap = new HashMap<>(); + static { + entityMap.put("&", "&"); + entityMap.put("<", "<"); + entityMap.put(">", ">"); +// entityMap.put("\"", """); + entityMap.put("'", "'"); +// entityMap.put("/", "/"); + entityMap.put("`", "`"); + entityMap.put("=", "="); + } + + public static String escapeHtml(String s) { + s = escapeHtmlNoBackslash(s); + return s.replace("/", "/"); + } + + public static String escapeHtmlNoBackslash(String s) { + for(String key : entityMap.keySet()) { + s = s.replace(key, entityMap.get(key)); + } + return s; + } + + public static String elapsedTime(int time) { + if (time < 60) return time + (time == 1 ? " second" : " seconds"); + time = time/60; + if (time < 60) return time + (time == 1 ? " minute" : " minutes"); + time = time/60; + if (time < 24) return time + (time == 1 ? " hour" : " hours"); + int days = time/24; + if (days < 7) return days + (days == 1 ? " day" : " days"); + int weeks = days/7; + if (weeks < 6) return weeks + (weeks == 1 ? " week" : " weeks"); + int months = days/31; + if (months < 12) return months + (months == 1 ? " month" : " months"); + int years = days/365; + return years + (years == 1 ? " year" : " years"); + } + + public static String escapeMessage(String text) { + text = escapeHtml(text); + return text + .replace("\n\r", "
") + .replace("\n", "
") + .replace("\r", "
"); + } + + public static void clearElement(Element node) { + while (node.hasChildNodes()) + node.removeChild(node.getFirstChild()); + } + + public static void removeClass(Element node, String classname) { + String[] classes = node.getAttribute("class").split(" "); + List classesFiltered = new ArrayList<>(Arrays.asList(classes)); + classesFiltered = classesFiltered.stream().filter(s -> !s.toLowerCase().equals(classname.toLowerCase())).collect(Collectors.toList()); + node.setAttribute("class", String.join(" ", classesFiltered)); + } + + public static void addClass(Element node, String classname) { + removeClass(node, classname); + node.setAttribute("class", node.getAttribute("class") + " " + classname); + } + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/ContentItem.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/ContentItem.java new file mode 100644 index 0000000..490bd58 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/ContentItem.java @@ -0,0 +1,9 @@ +package gearth.services.internal_extensions.extensionstore.application.entities; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; + +public interface ContentItem { + + void addHtml(int i, GExtensionStore gExtensionStore); + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/HOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/HOverview.java new file mode 100644 index 0000000..10600fb --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/HOverview.java @@ -0,0 +1,45 @@ +package gearth.services.internal_extensions.extensionstore.application.entities; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; + +import java.util.List; + +public abstract class HOverview { + + protected final HOverview parent; + protected final int startIndex; + protected final int limit; + + public HOverview(HOverview parent, int startIndex, int limit) { + this.parent = parent; + this.startIndex = startIndex; + this.limit = limit; + } + + public interface Header { + + String iconUrl(); + String title(); + String description(); + + String contentTitle(); + + } + + public abstract String buttonText(); + public abstract boolean buttonEnabled(); + + public int getStartIndex() { + return startIndex; + } + + public int getAmount() { return getContentItems().size(); }; + public abstract List getContentItems(); + + public abstract int getMaxAmount(); + public abstract void buttonClick(GExtensionStore gExtensionStore); + + // may be inherited from parent + public abstract Header header(); + public abstract HOverview getNewPage(int startIndex, int size); +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/StoreExtensionItem.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/StoreExtensionItem.java new file mode 100644 index 0000000..40f9c86 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/StoreExtensionItem.java @@ -0,0 +1,19 @@ +package gearth.services.internal_extensions.extensionstore.application.entities; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; + +public class StoreExtensionItem implements ContentItem { + + protected final StoreExtension storeExtension; + + public StoreExtensionItem(StoreExtension storeExtension) { + this.storeExtension = storeExtension; + } + + @Override + public void addHtml(int i, GExtensionStore gExtensionStore) { + + } + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryItem.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryItem.java new file mode 100644 index 0000000..a2b83a5 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryItem.java @@ -0,0 +1,19 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.categories; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; +import gearth.services.internal_extensions.extensionstore.repository.models.ExtCategory; + +public class CategoryItem implements ContentItem { + + private final ExtCategory category; + + public CategoryItem(ExtCategory category) { + this.category = category; + } + + @Override + public void addHtml(int i, GExtensionStore gExtensionStore) { + + } +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryOverview.java new file mode 100644 index 0000000..c773b4f --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/categories/CategoryOverview.java @@ -0,0 +1,80 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.categories; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; +import gearth.services.internal_extensions.extensionstore.application.entities.HOverview; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; +import gearth.services.internal_extensions.extensionstore.repository.models.ExtCategory; + +import java.util.List; +import java.util.stream.Collectors; + +public class CategoryOverview extends HOverview { + + protected final StoreRepository storeRepository; + + public CategoryOverview(HOverview parent, int startIndex, int size, StoreRepository storeRepository) { + super(parent, startIndex, size); + this.storeRepository = storeRepository; + } + + + @Override + public String buttonText() { + return null; + } + + @Override + public boolean buttonEnabled() { + return false; + } + + @Override + public List getContentItems() { + List categories = storeRepository.getCategories(); + + return categories.subList(startIndex, Math.min(startIndex + limit, categories.size())).stream() + .map(CategoryItem::new).collect(Collectors.toList()); + } + + @Override + public int getMaxAmount() { + return storeRepository.getCategories().size(); + } + + @Override + public void buttonClick(GExtensionStore gExtensionStore) { + // button is disabled + } + + @Override + public Header header() { + return new Header() { + @Override + public String iconUrl() { + return "images/overviews/idea.png"; + } + + @Override + public String title() { + return "Categories"; + } + + @Override + public String description() { + return "Explore the different kinds of extensions G-Earth has to offer"; + } + + @Override + public String contentTitle() { + return "Categories"; + } + }; + } + + @Override + public HOverview getNewPage(int startIndex, int size) { + return new CategoryOverview(parent, startIndex, size, storeRepository); + } + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java new file mode 100644 index 0000000..d94d060 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/extensiondetails/StoreExtensionDetailsItem.java @@ -0,0 +1,19 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.extensiondetails; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; +import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; + +public class StoreExtensionDetailsItem implements ContentItem { + + private final StoreExtension storeExtension; + + public StoreExtensionDetailsItem(StoreExtension storeExtension) { + this.storeExtension = storeExtension; + } + + @Override + public void addHtml(int i, GExtensionStore gExtensionStore) { + + } +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/InstalledOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/InstalledOverview.java new file mode 100644 index 0000000..5c8137c --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/InstalledOverview.java @@ -0,0 +1,86 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.installed; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; +import gearth.services.internal_extensions.extensionstore.application.entities.HOverview; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; +import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; +import gearth.services.internal_extensions.extensionstore.tools.InstalledExtension; +import gearth.services.internal_extensions.extensionstore.tools.StoreExtensionTools; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +public class InstalledOverview extends HOverview { + + private final StoreRepository storeRepository; + + public InstalledOverview(HOverview parent, int startIndex, int size, StoreRepository storeRepository) { + super(parent, startIndex, size); + this.storeRepository = storeRepository; + } + + + @Override + public String buttonText() { + return "Open folder"; + } + + @Override + public boolean buttonEnabled() { + return true; + } + + @Override + public List getContentItems() { + List installed = StoreExtensionTools.getInstalledExtension(); + installed = installed.subList(startIndex, Math.min(startIndex + limit, installed.size())); + Map nameToExt = new HashMap<>(); + storeRepository.getExtensions().forEach(e -> nameToExt.put(e.getTitle(), e)); + + return installed.stream().map(i -> new StoreExtensionInstalledItem(nameToExt.get(i.getName()), i)).collect(Collectors.toList()); + } + + @Override + public int getMaxAmount() { + return StoreExtensionTools.getInstalledExtension().size(); + } + + @Override + public void buttonClick(GExtensionStore gExtensionStore) { + // todo open installation folder + } + + @Override + public Header header() { + return new Header() { + @Override + public String iconUrl() { + return "images/overviews/success.png"; + } + + @Override + public String title() { + return "Installed extensions"; + } + + @Override + public String description() { + return "Extensions that are already installed into G-Earth"; + } + + @Override + public String contentTitle() { + return "Installed extensions"; + } + }; + } + + @Override + public HOverview getNewPage(int startIndex, int size) { + return new InstalledOverview(parent, startIndex, size, storeRepository); + } + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/StoreExtensionInstalledItem.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/StoreExtensionInstalledItem.java new file mode 100644 index 0000000..2a05f67 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/installed/StoreExtensionInstalledItem.java @@ -0,0 +1,30 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.installed; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.StoreExtensionItem; +import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; +import gearth.services.internal_extensions.extensionstore.tools.InstalledExtension; + +public class StoreExtensionInstalledItem extends StoreExtensionItem { + + // color red when removed + // color orange when needs update + // otherwise normal color + + private final InstalledExtension installedExtension; + + public StoreExtensionInstalledItem(StoreExtension storeExtension, InstalledExtension installedExtension) { + super(storeExtension); + this.installedExtension = installedExtension; + } + + @Override + public void addHtml(int i, GExtensionStore gExtensionStore) { + if (this.storeExtension != null) { + super.addHtml(i, gExtensionStore /* add custom color here */); + } + + + //todo + } +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByDateOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByDateOverview.java new file mode 100644 index 0000000..1ea07db --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByDateOverview.java @@ -0,0 +1,55 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.queriedoverviews; + +import gearth.misc.OSValidator; +import gearth.services.internal_extensions.extensionstore.application.GExtensionStoreController; +import gearth.services.internal_extensions.extensionstore.application.entities.HOverview; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; +import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; +import gearth.services.internal_extensions.extensionstore.repository.querying.ExtensionOrdering; + +import java.util.Collections; +import java.util.List; + +public class ByDateOverview extends QueriedExtensionOverview { + + + public ByDateOverview(HOverview parent, int startIndex, int size, StoreRepository storeRepository) { + super(parent, startIndex, size, storeRepository); + } + + protected List query(int startIndex, int size) { + return storeRepository.getExtensions(startIndex, size, "", ExtensionOrdering.NEW_RELEASES, + Collections.singletonList(OSValidator.getOSFull()), null, null, null, false, false); + } + + @Override + public Header header() { + return new Header() { + @Override + public String iconUrl() { + return "images/overviews/clock.png"; + } + + @Override + public String title() { + return "New Releases"; + } + + @Override + public String description() { + return "Extensions that were recently added to the G-ExtensionStore"; + } + + @Override + public String contentTitle() { + return "New Releases"; + } + }; + } + + + @Override + public HOverview getNewPage(int startIndex, int size) { + return new ByDateOverview(parent, startIndex, size, storeRepository); + } +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByRatingOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByRatingOverview.java new file mode 100644 index 0000000..bd080b9 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ByRatingOverview.java @@ -0,0 +1,54 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.queriedoverviews; + +import gearth.misc.OSValidator; +import gearth.services.internal_extensions.extensionstore.application.GExtensionStoreController; +import gearth.services.internal_extensions.extensionstore.application.entities.HOverview; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; +import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; +import gearth.services.internal_extensions.extensionstore.repository.querying.ExtensionOrdering; + +import java.util.Collections; +import java.util.List; + +public class ByRatingOverview extends QueriedExtensionOverview { + + public ByRatingOverview(HOverview parent, int startIndex, int size, StoreRepository storeRepository) { + super(parent, startIndex, size, storeRepository); + } + + protected List query(int startIndex, int size) { + return storeRepository.getExtensions(startIndex, size, "", ExtensionOrdering.RATING, + Collections.singletonList(OSValidator.getOSFull()), null, null, null, false, false); + } + + + @Override + public Header header() { + return new Header() { + @Override + public String iconUrl() { + return "images/overviews/star.png"; + } + + @Override + public String title() { + return "Popular Extensions"; + } + + @Override + public String description() { + return "Extensions sorted by rating"; + } + + @Override + public String contentTitle() { + return "Popular Extensions"; + } + }; + } + + @Override + public HOverview getNewPage(int startIndex, int size) { + return new ByRatingOverview(parent, startIndex, size, storeRepository); + } +} \ No newline at end of file diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ManualQueryOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ManualQueryOverview.java new file mode 100644 index 0000000..de80ffa --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/ManualQueryOverview.java @@ -0,0 +1,4 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.queriedoverviews; + +public class ManualQueryOverview { +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/QueriedExtensionOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/QueriedExtensionOverview.java new file mode 100644 index 0000000..447378c --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/queriedoverviews/QueriedExtensionOverview.java @@ -0,0 +1,49 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.queriedoverviews; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; +import gearth.services.internal_extensions.extensionstore.application.entities.HOverview; +import gearth.services.internal_extensions.extensionstore.application.entities.StoreExtensionItem; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; +import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; + +import java.util.List; +import java.util.stream.Collectors; + +public abstract class QueriedExtensionOverview extends HOverview { + + protected final StoreRepository storeRepository; + + public QueriedExtensionOverview(HOverview parent, int startIndex, int size, StoreRepository storeRepository) { + super(parent, startIndex, size); + this.storeRepository = storeRepository; + } + + protected abstract List query(int startIndex, int size); + + @Override + public String buttonText() { + return null; + } + + @Override + public boolean buttonEnabled() { + return false; + } + + @Override + public List getContentItems() { + return query(startIndex, limit).stream().map(StoreExtensionItem::new).collect(Collectors.toList()); + } + + @Override + public int getMaxAmount() { + return query(0, -1).size(); + } + + @Override + public void buttonClick(GExtensionStore gExtensionStore) { + // nothing i think + } + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchComponent.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchComponent.java new file mode 100644 index 0000000..df64070 --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchComponent.java @@ -0,0 +1,12 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.search; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; + +public class SearchComponent implements ContentItem { + + @Override + public void addHtml(int i, GExtensionStore gExtensionStore) { + + } +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchOverview.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchOverview.java new file mode 100644 index 0000000..7666bbb --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/application/entities/search/SearchOverview.java @@ -0,0 +1,76 @@ +package gearth.services.internal_extensions.extensionstore.application.entities.search; + +import gearth.services.internal_extensions.extensionstore.GExtensionStore; +import gearth.services.internal_extensions.extensionstore.application.entities.ContentItem; +import gearth.services.internal_extensions.extensionstore.application.entities.HOverview; +import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; + +import java.util.Collections; +import java.util.List; + +public class SearchOverview extends HOverview { + + private final StoreRepository storeRepository; + + public SearchOverview(HOverview parent, StoreRepository storeRepository) { + super(null, 0, 1); + this.storeRepository = storeRepository; + } + + + @Override + public String buttonText() { + return null; + } + + @Override + public boolean buttonEnabled() { + return false; + } + + @Override + public List getContentItems() { + return Collections.singletonList(new SearchComponent()); + } + + @Override + public int getMaxAmount() { + return 1; + } + + @Override + public void buttonClick(GExtensionStore gExtensionStore) { + // nothing + } + + @Override + public HOverview.Header header() { + return new Header() { + @Override + public String iconUrl() { + return "images/overviews/search.png"; + } + + @Override + public String title() { + return "Search"; + } + + @Override + public String description() { + return "Find the extension that fits your needs"; + } + + @Override + public String contentTitle() { + return "Search extensions"; + } + }; + } + + @Override + public HOverview getNewPage(int startIndex, int size) { + return null; // impossible + } + +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreFetch.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreFetch.java index 55ef2d4..6503972 100644 --- a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreFetch.java +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreFetch.java @@ -38,7 +38,7 @@ public class StoreFetch { new URL(String.format("https://raw.githubusercontent.com/%s/repo/%s/.auto-generated/extensions.json", source, version)) .openStream(), StandardCharsets.UTF_8)); - storeFetchListener.success(new StoreRepository(new StoreData(config, exensions), version)); + storeFetchListener.success(new StoreRepository(new StoreData(config, exensions), version, source)); } catch (Exception e) { storeFetchListener.fail(e.getLocalizedMessage()); diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreRepository.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreRepository.java index bb64008..6c8bb50 100644 --- a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreRepository.java +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/repository/StoreRepository.java @@ -5,17 +5,20 @@ import gearth.services.internal_extensions.extensionstore.repository.querying.Ex import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; public class StoreRepository { - public static StoreRepository EMPTY = new StoreRepository(new StoreData(new StoreConfig(new ArrayList<>(), new ArrayList<>()), new ArrayList<>()), "0.0"); + public static StoreRepository EMPTY = new StoreRepository(new StoreData(new StoreConfig(new ArrayList<>(), new ArrayList<>()), new ArrayList<>()), "0.0", "sirjonasxx/G-ExtensionStore"); private final String repoVersion; private final StoreData storeData; + private final String source; - public StoreRepository(StoreData storeData, String repoVersion) { + public StoreRepository(StoreData storeData, String repoVersion, String source) { this.repoVersion = repoVersion; this.storeData = storeData; + this.source = source; } public List getCategories() { @@ -33,11 +36,11 @@ public class StoreRepository { public List getExtensions(int offset, int length, String queryString, ExtensionOrdering ordering, List filterOSes, List filterClients, List filterFrameworks, - List filterCategories, boolean inverse) { + List filterCategories, boolean includeOutdated, boolean inverse) { String queryLower = queryString.toLowerCase(); - return getExtensions().stream() + Stream stream = getExtensions().stream() .filter(ext -> ext.getTitle().toLowerCase().contains(queryLower) || ext.getDescription().toLowerCase().contains(queryLower) || ext.getAuthors().stream().anyMatch(author -> author.getName().toLowerCase().contains(queryLower) || author.getUsername() != null && author.getUsername().toLowerCase().contains(queryLower)) @@ -46,10 +49,11 @@ public class StoreRepository { || ext.getLanguage().toLowerCase().contains(queryLower) || ext.getCompatibility().getSystems().stream().anyMatch(s -> s.toLowerCase().contains(queryLower)) || ext.getCompatibility().getClients().stream().anyMatch(s -> s.toLowerCase().contains(queryLower))) - .filter(ext -> ext.getCompatibility().getSystems().stream().anyMatch(filterOSes::contains)) - .filter(ext -> ext.getCompatibility().getClients().stream().anyMatch(filterClients::contains)) - .filter(ext -> filterFrameworks.contains(ext.getFramework().getFramework().getName())) - .filter(ext -> ext.getCategories().stream().anyMatch(c -> filterCategories.contains(c.getName()))) + .filter(ext -> filterOSes == null || ext.getCompatibility().getSystems().stream().anyMatch(filterOSes::contains)) + .filter(ext -> filterClients == null || ext.getCompatibility().getClients().stream().anyMatch(filterClients::contains)) + .filter(ext -> filterFrameworks == null || filterFrameworks.contains(ext.getFramework().getFramework().getName())) + .filter(ext -> filterCategories == null || ext.getCategories().stream().anyMatch(c -> filterCategories.contains(c.getName()))) + .filter(ext -> includeOutdated || !ext.isOutdated()) .sorted((o1, o2) -> { int result = 0; if (ordering == ExtensionOrdering.RATING) result = -Integer.compare(o1.getRating(), o2.getRating()); @@ -58,9 +62,12 @@ public class StoreRepository { else if (ordering == ExtensionOrdering.ALPHABETICAL) result = o1.getTitle().toLowerCase().compareTo(o2.getTitle().toLowerCase()); return inverse ? -result : result; }) - .skip(offset) - .limit(length) - .collect(Collectors.toList()); + .skip(offset); + + if (length != -1) { + stream = stream.limit(length); + } + return stream.collect(Collectors.toList()); } public List getOperatingSystems() { @@ -104,6 +111,10 @@ public class StoreRepository { public String getRepoVersion() { return repoVersion; } + + public String getResourceUrl(String resource) { + return String.format("https://raw.githubusercontent.com/%s/repo/%s/%s", source, repoVersion, resource); + } } diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/InstalledExtension.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/InstalledExtension.java new file mode 100644 index 0000000..5d4779e --- /dev/null +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/InstalledExtension.java @@ -0,0 +1,20 @@ +package gearth.services.internal_extensions.extensionstore.tools; + +public class InstalledExtension { + + private final String name; + private final String version; + + public InstalledExtension(String name, String version) { + this.name = name; + this.version = version; + } + + public String getName() { + return name; + } + + public String getVersion() { + return version; + } +} diff --git a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/StoreExtensionTools.java b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/StoreExtensionTools.java index 3c7cb7d..6fc4c67 100644 --- a/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/StoreExtensionTools.java +++ b/G-Earth/src/main/java/gearth/services/internal_extensions/extensionstore/tools/StoreExtensionTools.java @@ -8,21 +8,17 @@ import gearth.services.internal_extensions.extensionstore.repository.StoreFetch; import gearth.services.internal_extensions.extensionstore.repository.StoreRepository; import gearth.services.internal_extensions.extensionstore.repository.models.StoreExtension; import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; +import org.apache.maven.artifact.versioning.ComparableVersion; import org.json.JSONArray; import java.io.*; import java.net.MalformedURLException; import java.net.URL; -import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -157,6 +153,44 @@ public class StoreExtensionTools { FileUtils.deleteDirectory(new File(extensionPath)); } + public static List getInstalledExtension() { + List installedExtensions = new ArrayList<>(); + + String path = Paths.get(NormalExtensionRunner.JARPATH, ExecutionInfo.EXTENSIONSDIRECTORY).toString(); + + File extensionsDir = new File(path); + + File[] existingExtensions = extensionsDir.listFiles(); + if (existingExtensions != null) { + for (File extension : existingExtensions) { + + if (extension.isDirectory()) { + // installed through extensions store + if (extension.getName().contains("_")) { + List parts = new ArrayList<>(Arrays.asList(extension.getName().split("_"))); + parts.remove(parts.size() - 1); + String extensionName = String.join("_", parts); + installedExtensions.add(new InstalledExtension(extensionName, parts.get(parts.size() - 1))); + } + + } + } + } + + return installedExtensions; + } + + // 0 = not installed + // 1 = installed + // 2 = version mismatch + public static int isExtensionInstalled(String name, String version) { + List installedExtensions = getInstalledExtension(); + if (installedExtensions.stream().anyMatch(p -> p.getName().equals(name) + && new ComparableVersion(p.getVersion()).compareTo(new ComparableVersion(version)) >= 0)) + return 1; + if (installedExtensions.stream().anyMatch(p -> p.getName().equals(name))) return 2; + return 0; + } public static void updateExtension(String name, StoreRepository storeRepository, InstallExtListener listener) { // remove old occurences @@ -173,7 +207,7 @@ public class StoreExtensionTools { // installed through extensions store if (extension.getName().contains("_")) { List parts = new ArrayList<>(Arrays.asList(extension.getName().split("_"))); - parts.remove(path.length() - 1); + parts.remove(parts.size() - 1); String extensionName = String.join("_", parts); if (name.equals(extensionName)) { removeExtension(extension.getPath()); diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/gextensionstore.fxml b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/gextensionstore.fxml new file mode 100644 index 0000000..3f621b1 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/gextensionstore.fxml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/add_item_layout.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/add_item_layout.css new file mode 100644 index 0000000..e2a4706 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/add_item_layout.css @@ -0,0 +1,72 @@ +.a_container { + margin: 0 2px 2px 2px; + background-color: #e9e9e1; + flex: 1 1 auto; + + display: flex; + flex-direction: column; + padding: 8px 3px 0 3px; +} + +.a_subcontainer { + flex: 1 1 auto; + display: flex; + flex-direction: column; +} + +.a_lbl { + flex: 0 0 auto; + color: white; + background-color: #3179ac; + height: 13px; + max-height: 13px; + + line-height: 13px; + font-size: 13px; + padding: 4px 3px; +} + +.a_txt { + border: none; + margin: 0; + padding: 2px 3px; + + overflow: auto; + outline: none; + + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + + resize: none; +} + + +.a_subject { + flex: 0 0 auto; + background-color: white; + height: 18px; + max-height: 18px; + overflow: hidden; + + font-size: 15px; + line-height: 21px; +} + +.a_div { + flex: 0 0 auto; + height: 6px; + max-height: 6px; +} + +.a_message { + flex: 1 1 auto; + background-color: white; +} + +#a_content_buttons { + flex: 0 0 38px; + margin: 13px 17px 13px 17px; + + display: flex; +} \ No newline at end of file diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/buttons.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/buttons.css new file mode 100644 index 0000000..014427c --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/buttons.css @@ -0,0 +1,169 @@ + +.forumbtn:not(.invisible) { + -webkit-user-select: none; + display: inline-flex; + + border-style: solid; + height: 25px; + border-color: black; + border-width: 2px 2px 3px 2px; + border-radius: 5px; +} + + +.innerbtn { + flex: 0 1 auto; + + width: 100%; + + text-align: center; + align-items: center; + justify-content: center; + font-weight: bold; + white-space: nowrap; + + font-size: 13px; + line-height: 25px; + + border-style: solid; + border-width: 2px 2px 12px 2px; + border-color: red; + border-radius: 2px; +} + +.forumbtn:hover:not(.gdisabled) { + cursor: pointer; +} + +.forumbtn:hover:not(.gdisabled) > .innerbtn { + border-width: 0 0 12px 0; + padding-top: 2px; +} + +.forumbtn:active:not(.gdisabled) { + cursor: default; + border-width: 2px; + height: 26px; +} + +.forumbtn:active:not(.gdisabled) > .innerbtn { + border-width: 2px 2px 13px 2px; + padding-top: 0; +} + +.forumbtn.gdisabled { + border-width: 2px; + height: 26px; +} + +#paging_lbl { + font-size: 13px; + line-height: 26px; + + overflow: hidden; + text-align: center; + align-items: center; + justify-content: center; + white-space: nowrap; + + color: #9a9a96; + width: 50px; +} + +.largebtn { + width: 98px; + min-width: 98px; + margin: 0 8px; +} +.smallbtn { + width: 21px; + min-width: 21px; + margin: 0 3px 0 2px; +} + + + +.greybtn:not(.gdisabled) > .innerbtn { + background-color: #d1d1d1; + border-color: #bbbbbb; +} + +.greybtn:hover:not(.gdisabled) > .innerbtn { + background-color: #dcdcdc; + border-color: #cacaca; +} + +.greybtn:active:not(.gdisabled) > .innerbtn { + background-color: #c2c2c2; + border-color: #8c8c8c; +} + +.greybtn.gdisabled > .innerbtn { + /*color: #;*/ + /*background-color: #;*/ + /*border-color: #;*/ +} + +.greybtn.gdisabled { + /*border-color: #;*/ +} + + +.bluebtn:not(.gdisabled) > .innerbtn { + color: white; + background-color: #2792b9; + border-color: #2282a5; +} + +.bluebtn:hover:not(.gdisabled) > .innerbtn { + background-color: #2999c2; + border-color: #268db3; +} + +.bluebtn:active:not(.gdisabled) > .innerbtn { + background-color: #2487ac; + border-color: #18617c; +} + +.bluebtn.gdisabled > .innerbtn { + color: #feffff; + background-color: #3d889d; + border-color: #3d889d; +} + +.bluebtn.gdisabled { + border-color: #355b64; +} + + + +.whitebtn:not(.gdisabled) > .innerbtn { + background-color: #f3f3f3; + border-color: #d9d9d9; +} + +.whitebtn:hover:not(.gdisabled) > .innerbtn { + background-color: #ffffff; + border-color: #ebebeb; +} + +.whitebtn:active:not(.gdisabled) > .innerbtn { + background-color: #e1e1e1; + border-color: #a3a3a3; +} + +.whitebtn.gdisabled > .innerbtn { + color: #020202; + background-color: #c3c3c1; + border-color: #c3c3c1; +} + +.whitebtn.gdisabled { + border-color: #7a7a7a; +} + + + +.btnspacing { + flex: 1 1 auto; +} diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/category_overview.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/category_overview.css new file mode 100644 index 0000000..fd042d5 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/category_overview.css @@ -0,0 +1,51 @@ + +.thread_item { + -webkit-user-select: none; + + min-height: 41px; + display: flex; + + overflow: hidden; + white-space: nowrap; +} + +.thread_item > div { + border-style: solid; + border-color: #bab8b4; + border-width: 0 0 0 1px; +} + +.thread_settings { + flex: 0 1 auto; + display: flex; + flex-flow: column; + + width: 20px; + min-width: 20px; +} + +.thread_info { + flex: 1 1 auto; + min-width: 0; + + padding-left: 3px; + padding-top: 2px; +} + +.thread_msgs { + flex: 0 1 auto; + + width: 140px; + min-width: 140px; + padding-left: 4px; + + padding-top: 2px; +} + +.thread_delete_report { + flex: 0 1 auto; + + width: 50px; + min-width: 50px; + display: flex; +} diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/comments_overview.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/comments_overview.css new file mode 100644 index 0000000..76a3e47 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/comments_overview.css @@ -0,0 +1,131 @@ +.comment_item { + flex: 0 0 auto; + background-color: #bab8b4; + + width: 100%; + + + display: flex; + flex-flow: column; + /*overflow: scroll;*/ +} + +.comment_header { + flex: 0 0 auto; + + min-height: 26px; + background-color: #3179ac; + + display: flex; +} + +.comment_body { + display: flex; + min-height: 100px; +} + + + + +.ch_timeago { + flex: 1 1 auto; + color: white; + font-size: 13px; + margin: 7px 0 0 3px; +} +.ch_index { + flex: 0 0 auto; + color: white; + font-size: 13px; + margin: 7px 4px 0 0; +} +.ch_buttons { + flex: 0 0 auto; + display: flex; +} + + + + +.cb_author { + flex: 0 1 auto; + min-width: 130px; + max-width: 130px; + + display: flex; + flex-flow: column; + overflow: hidden; +} + +.cb_content { + flex: 1 1 auto; + + padding: 5px 10px; + font-size: 13px; + overflow-wrap: break-word; + min-width: 0; +} + +.cbc_quote { + background-color: #cccccc; + margin: 3px 10px 3px 16px; + padding: 5px; + + font-size: 13px; + overflow-wrap: break-word; + min-width: 0; +} + + + +.cba_name { + flex: 0 0 auto; + + min-height: 16px; + font-size: 13px; + font-weight: bold; + margin: 8px 0 0 5px; + +} +.cba_messages { + flex: 0 0 auto; + + min-height: 15px; + font-size: 13px; + margin: 2px 0 0 5px; + +} +.cba_look { + margin: -17px 0 0 -7px; + height: 0; +} + + + +.comment_open > .cb_author { + background-color: #c8eff8; +} +.comment_open > .cb_content { + background-color: #ffffff; +} + +.comment_unread > .cb_author { + background-color: #c8eff8; +} +.comment_unread > .cb_content { + background-color: #fef4da; +} + +.comment_hidden > .cb_author { + background-color: #d7d7cf; +} +.comment_hidden > .cb_content { + background-color: #e9e9e0; +} + +.comment_staffhidden > .cb_author { + background-color: #fedfd3; +} +.comment_staffhidden > .cb_content { + background-color: #fdc6bb; +} \ No newline at end of file diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/content.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/content.css new file mode 100644 index 0000000..e7fdfc4 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/content.css @@ -0,0 +1,43 @@ + +#content_items_container { + flex: 1 1 auto; + background-color: #bab8b4; + border-color: white; + border-radius: 4px; + border-style: solid; + border-width: 1px; + + width: 100%; + min-height: 0; + + overflow-y: auto; + + display: flex; + flex-flow: column; + /*overflow: scroll;*/ +} + +.content_item { + flex: 0 1 auto; + + border-style: solid; + border-width: 1px 0 0 0; + border-color: #bab8b4; +} + +.item_lightblue { + background-color: #effeff; +} + +.item_darkblue { + background-color: #b5e6f9; +} + +.item_grey { + background-color: #aaaaaa; +} + +.item_red { + background-color: #fcb0a6; +} + diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/extension_overview.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/extension_overview.css new file mode 100644 index 0000000..111af13 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/extension_overview.css @@ -0,0 +1,63 @@ + +.overview_item { + -webkit-user-select: none; + + min-height: 41px; + display: flex; + + overflow: hidden; + white-space: nowrap; +} + +.overview_item_logo { + flex: 0 1 auto; + display: flex; + align-items: center; + justify-content: center; + + width: 41px; + min-width: 41px; +} + +.overview_item_info { + flex: 1 1 auto; + min-width: 0; + + margin-left: 3px; + + margin-top: 0; +} + +.overview_item_msgs { + flex: 0 1 auto; + + width: 103px; + min-width: 103px; + margin-left: 4px; + + margin-top: 2px; +} + +.oii_name { + font-size: 13px; + width: 100%; + + overflow: hidden; + max-height: 14px; + min-height: 14px; + padding-top: 3px; +} +.oii_desc { + font-size: 11px; + margin-top: 2px; + overflow: hidden; +} + +.oim_msgs { + font-size: 11px; + margin-top: 3px; +} +.oim_unread { + font-size: 11px; + margin-top: 3px; +} diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/general.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/general.css new file mode 100644 index 0000000..954a658 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/general.css @@ -0,0 +1,50 @@ +/*@font-face {*/ +/* font-family:"Ubuntu-C";*/ +/* src: url("https://github.com/sirjonasxx/test/blob/main/Ubuntu-C.ttf?raw=true") format("truetype");*/ +/*}*/ + +/*@font-face {*/ +/* font-family:"Ubuntu-Habbo";*/ +/* src:url("https://github.com/sirjonasxx/test/blob/main/UbuntuHabbo.woff2?raw=true") format("woff2"),*/ +/* url("https://github.com/sirjonasxx/test/blob/main/UbuntuHabbo.woff?raw=true") format("woff")*/ +/*}*/ + +/*@import url(//db.onlinewebfonts.com/c/3549b18f20fd1f535e2e9810c957c3c7?family=Ubuntu+Habbo);*/ +/*@font-face {*/ +/* font-family: "Ubuntu Habbo";*/ +/* src: url("//db.onlinewebfonts.com/t/3549b18f20fd1f535e2e9810c957c3c7.eot");*/ +/* src: url("//db.onlinewebfonts.com/t/3549b18f20fd1f535e2e9810c957c3c7.eot?#iefix") format("embedded-opentype"),*/ +/* url("//db.onlinewebfonts.com/t/3549b18f20fd1f535e2e9810c957c3c7.woff2") format("woff2"),*/ +/* url("//db.onlinewebfonts.com/t/3549b18f20fd1f535e2e9810c957c3c7.woff") format("woff"),*/ +/* url("//db.onlinewebfonts.com/t/3549b18f20fd1f535e2e9810c957c3c7.ttf") format("truetype"),*/ +/* url("//db.onlinewebfonts.com/t/3549b18f20fd1f535e2e9810c957c3c7.svg#Ubuntu Habbo") format("svg");*/ +/*}*/ + +@font-face { + font-family:"Ubuntu Habbo"; + src: url("../fonts/UbuntuHabbo.woff2") format("woff2"), + url("../fonts/UbuntuHabbo.woff") format("woff"); +} + + +html, body, textarea { + height: 100%; + font-family: "Ubuntu Habbo", Ubuntu, sans-serif; + /*font-family: "Ubuntu-Habbo", sans-serif;*/ + margin: 0; + overflow-x: hidden; +} + +a, a:visited, a:hover, a:focus, a:hover, a:active { cursor: pointer; color: #3691cf; text-decoration-line: underline; text-decoration-color: #2c78aa; } + +.invisible { + display: none; !important; +} + +.clickable:hover:not(.gdisabled) { + cursor: pointer; +} + +.clickable:active:not(.gdisabled) { + cursor: default; +} diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/layout.css b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/layout.css new file mode 100644 index 0000000..b21b2ee --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/css/layout.css @@ -0,0 +1,145 @@ +.box { + display: flex; + flex-flow: column; + height: 100%; +} + +.header { + height: 80px; + min-height: 80px; + width: 100%; + /*overflow: hidden;*/ + border-top-width: 1px; + border-top-color: #040f18; + border-top-style: solid; + + display: flex; +} + +.header_logo_container { + /*float:left;*/ + min-width: 80px; + background-color: black; + height: 80px; + display: inline-flex; + + /*display: inline-block;*/ + /*box-sizing: border-box;*/ +} + +.header_banner { + background-color: #153f51; + /*height: 100%;*/ + /*float: right;*/ + /*overflow: auto;*/ + height: 80px; + display: inline-flex; + flex-grow: 100; + + /*display: inline-block;*/ + /*box-sizing: border-box;*/ +} + +#logo { + display: flex; + align-items: center; + justify-content: center; + flex-grow: 100; +} + +#logo > img { + max-height: 50px; + max-width: 50px; +} + + +#info_title_container { + color: white; + font-weight: bold; + font-size: 25px; + + margin: 10px 0 1px 0; + padding: 3px 13px 0 13px; +} + +#info_desc_container { + color: white; + font-size: 13px; + + padding: 1px 13px 0 13px; + + overflow: hidden; + max-height: 26px; +} + + + + + +.quick_links_container { + display: flex; + flex: 0 0 auto; + /*margin: 4px 5px 7px 5px;*/ + margin: 6px 5px 7px 5px; + + font-size: 12px; +} + +.quick_links_item { + display: inline-flex; + margin-right: 8px; + white-space: nowrap; +} + +.quick_links_right { + margin-left: auto; +} + + + + + +.content_container { + margin: 0 2px 2px 2px; + background-color: #e9e9e1; + flex: 1 1 auto; + + display: flex; + flex-flow: column; + + min-height: 0; +} + +#content_title { + flex: 0 1 auto; + margin: 6px 6px 4px 6px; + color: #aaaaaa; + font-weight: bold; + font-size: 17px; + /*overflow: hidden;*/ +} + +#content_items { + flex: 1 1 auto; + + border-style: solid; + border-width: 1px 1px 2px 1px; + border-color: black; + border-radius: 6px; + + padding-right: 2px; + + min-height: 0; + + margin: 0 3px; + + display: flex; + flex-flow: column; +} + +#content_buttons { + flex: 0 0 38px; + margin: 13px 2px 13px 5px; + + display: flex; +} diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/Ubuntu-C.ttf b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/Ubuntu-C.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8e2c4bc27ab954b839ff8079bbcffbba11dc9341 GIT binary patch literal 369840 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

w9rbujT*p5CRxBd+abMY0 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 BjWhrN literal 0 HcmV?d00001 diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/UbuntuHabbo.woff b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/UbuntuHabbo.woff new file mode 100644 index 0000000000000000000000000000000000000000..ee30297dccb67631be7fa6272c55c44203584391 GIT binary patch literal 6272 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 YN&B8qfx#H{t@-#IfXyyCyjc(Y58u#SSO5S3 literal 0 HcmV?d00001 diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/UbuntuHabbo.woff2 b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/fonts/UbuntuHabbo.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..76000bad2b8af0f0251e7da8098a50670f35a2a5 GIT binary patch literal 5128 zcmV+j6!+_QPew8T0RR9102BxS5C8xG03;a}f{K_Lm3d6m288zcUmaE3`9ZU?>`7zKOB6s~LFO z-g%1`o*0~1)AavbdRwYOczV_*7Wgv$zpTgM`C3}idDEr2m~5js zRY#q8%8d8#k+$}$rIUMhuga1xjq_X{$!XR(vw+M)0w~4Iwv1ieh6c&X0J=DrjF@Ctwf z!8Qg6q3}ikz;~a=9z=xla0vil2YDiBO@@B~9O69>N|*pic5i85#WMs-k+(~5KMo`S zzXHBeq6Ho)bn&<=Wa|Osp=q693;+VO>0g_OY_)S{U3T3ak=VDLh42tbEJnQQws3^} z>BB!;W35(Lu91cL6ZikQ|L6UmRJh{ZZJ?P(u7`>fE`Rc$E55n-ZA?8DeSW_Cq4mQeZ(_%UJ%cB!VNO;Q^Y*pGX%EwJ5$bU50AQ>jF1AH@~8q(y=(7dxNM z-*6EP9yfUzO_z*x{(^Tz9M>ShPHt|hZwgKfaPWY^2BRoq z41P5?MQMOhn{C-6DJf**nogd�ApQs1wiO2`o*)18|USb+u5FqQOZZ00&HHt?vr+ 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 literal 0 HcmV?d00001 diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/clock.png b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/clock.png new file mode 100644 index 0000000000000000000000000000000000000000..7585abc5a9d315f0fc7835feac3fa853aee78daa GIT binary patch literal 3749 zcmV;W4qEYvP)UQU!5FM6Ckaae5s) zec8d$`e>E5K0DWT=6>@J^Z34dr=QizDB?IDlxjQ5RHr(%wJKnJU@ck{1S=o`Duld1 z@;G@wlKBHka}prokzD)xD|@ZI*I9dIpMBO^du;-KMp02|s@^=X(Lhm|dYvJmUuO`R z%vP4!Y-U)jRssOnES7`A;n=twmNg_aSS<|Zwefhon?g3LZ2R_&P5#u6@Q2Xd`%2d- zRhsSH3Uz9aQp0gL921g55CozmBC|AF(kK>3?ECGG4M(O})u}VU!Gq;7T^e0UYg@-M zl~Ti=D!HzZNJN&zgt+q&k)fO4ELf|U3Yn8OK+&ONiQV0b(mRdKizv$Emlfp>9*^sI zLY90fJVvzPtxYe>CnIaZ3Ktd@l8&J8!?$jKyIyagNN@dFtRP6G5=f;Yh{D6b<#NDb zvj6~Qixno585(UL6bdyIJt|nO1739q7VsQd^D>SlP77JPYSk*+MCLIe1H8NM{k(>z z=6`j5*Bv~nV1htOay-)0e~i?b$w-Kg1xb3f69B+wvqRqg0F6zpxK-bTmgaVhwU5Nb z#pu#yDZkvYWnJ}n=Q3^s{NaBO?7m)G{~NQ}GU8aFP=KX**?4l{T!_UHW6El7>jwcK zIU!`sek!#VmoDExWn~R?dc%l)xLmd)dwyoo?{{t9>Dx?(;Ijd$tE-u3F5LL~o4Uq~ zk@#VuLabPki`*qyV6lR{%ClH(*k9TR5Wvl%kf1V0KiBM;$ZpE zC;s*Iso-;&K98j+Gftd5i*pyQ!fv;F@MUSq?P*D~(h3TGL3xwq)c^-7Dg+Hzo7$RN z+QsfXu{Z+TwyZ&7!gQaNABF?K`7gUb09d*>W#(eSOQhs`~zTw_Xclxrt1$eC>-=}xo-(azVkTq{MbUGvC^6zLol}a1xV6cB) zbLrgS(Z-KzfIt7GWN*z^b2=x`tJVSvKILh{@Ds@q!aLz+LInJL5T z1^FNd0xFFO$3AI8)4e{#M)M&Qu%>)szM!keh~ua3<_v=L^D`PpYy{JnBFo%8yoiV}6uk11bJ>T6un`f)fpx%+Z|XG@ zp1>!kF5r_>7bZOZX1xa10XrhXI0z9A{a++W;`M@j4=1d>qbr2uMjmpPL0bVuhmIxI z)YKlfS_hm1R8UY55)-H6(&bv33$5+zPv5k2NBOzaC;OfAa}}sibeFjY zHcu^EFyeQf$7N#CJSoHxzB@mzu(>!ewh^2eUm%X)VBx%|5%;0wq&O_in@^+Zbq2Dx zOIhYhb58c)!Sa}fJ1q-cnPH(qyzt!e2`TqD;Kk>kMu<>Aqt!RGEZKYLh;+E^G(eX| zSK=PeuUL^gF8B6v1CPhS$`yGu8bz6iUd_Xj;kMHNa(U-c*N#G=0J%%D{H~86;ol@Ml*3c>sA+%o(!A`)!qb~9SgauA4R?R}$rMs=9@yxfZ%dt-6iD3yg4EPxTHE1p zpiixSl{8SMOjibr6@(dau>n;s5J-rh=CP?$1}c-(>+}h(L}^qc7!2RCx06AeOYGj} z7RUPo3f{EXKyL?{k0qvW%lc{ zqot9wc7MNKOj4AI7KMny!~Cj5`H_>Tz0m-IARrcpLo5ylK@j-5wjLiG{g+>#9T6T% zYg3ek%`{uAw208v^;K)lFqsD-5pjJ=TdUMss8qe9^7|g@aOLVv0KnGQ*B~n^9RN`C zRUHl#AI0S>H}L$kPkB90@C6o&4N8p(Tn^J2uyMKcBg+A+g=AVRR+@(}d|cJpWkAL0 zHUL1Rh>MqBr0=5cP^q=p_4fb4X7e7|vDqx=? zm;eB)RwiP43?Cd0J+3jCEu)`R@p(ZI@R%S80ur(J%rBqI^<8m?gJ!6~K^x5Gq4%H5 znVN&;ND&7lK|sJ`LckwAU%_OvSq|4I&}^{+03yQJcx_#(&ky7aczE}n-;LQvuQy`* z&OgCo9l-k^oWz>dE8%beAAWQidc6^>pdch9O!N7fV_|vDG%U}d%NjQFFt{AHoylRd zY!qd3n#g4G-%cDH%*Tr_EXRlc_&2Jmui@gC*8#wJy0hxVry&sV{q}s5$wF%fvDkJd zkH@w4_Vqgrpy~BIWtmF+eEDLq*)06y_!+0Mc{~pCf3*TRi~SpZYkMEk+B_cH!W4!G z)aZgUQc!fOJqAuC2!cRfZZ?)I&O&#$5&#e#EeVM8)vZv`+95)LiWw~6%K;Yy^r&F7 z+5N5%gF#~2G^zKFQv{pMjvfX5&lLm<+DJa1d&8AzwGKeu{vcqA1qyBQPFM%%RVM-g z=LRWcv&!6)1x8;(e$=&!-~3s+$_TLY$~zhJRgQCWG7Mw3WHmbbU9 zI}W&<3&h7yr=3z73`ShM_*FoZ^e3vSu6b0JB_+juG5p(UfQZP@%{(5LwoXoeS_z6W z`CUnW!Dys#`b-s##^-SzQK6E8;kMHNZx*ao$kI|SyLRr^8SwFm5eqAR5UBY0bLia4 z>148$>MdJV^$fRZ?p{P}#QNZ1J}sa>Us;2e)^-o!T?!+Pe%yk)tq(nTfx_L^hdBCi z3%V3W4_7L-2uA;5QTH_}Q{}uiLmuC~tp2E3uHbKY(p; z5NT;CU@}RNk3p#%Nf2N%hZgejiqG)bS^69ag22K>KiU2EjtzewY5b_E-m3GTo_qeK zHNQ|ORMD>Vd(Cq6_Zu*K){h^XT0y(rj?%IdID77r2QPE(tm}XN{kE4z8#`vu|I=C1 z=cUd}YICPoR@GqdzV~4?daXqs6LyCK_6go68ivt8;oZHZsJeK~gC~=v$bTY>T`<;o zuYcj8L;vR0HQj6S+Ofa*D70G7 zG+uJ@4CS2E%!El5OAn*0teR7Q@2lIl>+hv_2p|Y7$ex3>zkX(12~C4>03{y`g{ZH+ zJQD)G@6{+2Wx|P*UyNEVpO%^=mnF}Z`BEn-N60_5doW6{D)NFqfeb#cOA9CBW~ z{rf#iEv{Ux#f8cm==GjnA29T(Td*K=&;R^p(=K1;F^maq<3+_EExy&zc&fdlYt+j= z1VJD1e7}wjSEURy5SrVv=lYAc6A(N$4$BLuY zyZiRz#gr-h-g_TOv_|dUTJLxKOxfd~tFzK5u{j}O+7}T5QNhlgtCdqB(?6G|_m<`> zdwbthbg5(trJ6gL%hOV+*c2TtX%LA;dxq0kQwhH>+5P1wQ~K2ES4~FK9D~7_*#A&3 zHkr*V%4BiYCa~Eo2an4hASirx}7jSNbh$2h3u6wT8pZfg=WJF+qNWqB- P00000NkvXXu0mjf-sLxM literal 0 HcmV?d00001 diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/idea.png b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/idea.png new file mode 100644 index 0000000000000000000000000000000000000000..9aea4423a9c0196196ca677314d4d08eda6a05f7 GIT binary patch literal 2070 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 literal 0 HcmV?d00001 diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/star.png b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/images/overviews/star.png new file mode 100644 index 0000000000000000000000000000000000000000..eed6a14c1a5515b5dafb767c578b5db2294f575d GIT binary patch literal 1763 zcmV<91|0c`P)e1cOQlFXwd%>Is)rte+D5h6by_FRp;F`qlUOaT z12O)P8^2E4gM`)aCqunk;-+#5FblEShqt%AI~@iO6Go!|aZ~;wupPKBTH5mc zuy};xfJ>*lHd_txiy%7}NqjnMM_P7v9-j@GODGPo>f=9HDjq;#M?6w_DGV-wJ3z;} zW5wHY5!kijr|Z*miIy*Zb>Kfi@(J7lgn5QqbcX8U)kzIcG9 z;@r%){o=D6z6+pl^hH39I1Ut!>gg`u7i+!?P)yH$2S~dJZ7DXyzg25KE8(jE`bJ+w zZGFXk2J@=lF7Q==Ld)!PBJ6RWK_4kt@n>tt=x+EXfa+^T(3idDF)Bw@U-ONpZ;1;Z zyx))TnAbcCty9Bi`f9;xHPmz-pkv*!$=kFTk+dkUD}1RIc?B-0aKu&}OKsy~E!PT; z1<=!7byHgtyNS?@(rk;}EFx{dUX&&vQY&)npa7g#(GjC&9AO-r@!O>>=bbL6*A(Eh z;X^y4RQBE}5@`mS71{(gd#%7Hlo76?jH~GQk~kG9pHGd}Uy%NR%E|zlJbUo#23l?G zw1}hy9#v=tVj&dZCrSe23ZtqzW-wzm{HqSML4{un5(Ch%Y5IqlLMzZJA}Bg9D$fbP zT6%ETC@?v6;A>*cAW$DDHUBXqs)wwO{5#7Zt~v}BhkH5|-U3pA zQ1c&CHm18Vd*Z#7Kdd)TI$WW?+Tu6d^BKd#&86V((C4p)PP;hrXhcTk$$aq}Hl z#nvaR&iut{0~~FLB(u3IT8Zoj`Pex(-*H(gvfoMZ;BrG`;_p2>qIJ9t>~$0G14iwL zKH1owcl?RE-VvJq$D#Wd=F6vQvF+sr0v8sjd-4m}KY!vf-aRIVdUuPdT=9~_E7XoO zr8 zjf1y?5e;7e!V+NdlJk1^eS*S6pZ)F7Hn+j91&GYWA0x!O#>*g^HkVyb$lMEH!XE*a zpdPrm7C;Gq1XzN47>(R_g1T`W;H5M6G74-M2jIbtt^~Ms=9xy|0k@4V;+!hIs`LWq zyrq(zi<}(8l>n9KoEQ6F5tYN%$BB+qNA5(bBX`2ehAmh zH^NV?ZMw(m7(BN8s9FTIGJ^w_eWMNZdEl~RPU5alawUKfNAvGVL5@t%CDO@E?pN#G z?vT#23(0K$cUCO1M^p|2H>&1jyXyyBT|rZ{8ntH>{f$WMbu05`(MkTrE3(HXM!J5# zsg(G!qOSlA>vD3rE^#%JD-8GCWbI?Kc@_O_c|m@@{mZ#e-Q-`1TW6kWEJx>lCdf}% z`}Dey%;p^LPdFCf^ADfi6|wEr_TFsZ4-$#IY_%W1TkPeH zoDw_Inat+;>-XhGo#t|jWai}MR3?AeHkEc@VClJ=9V+LYph%mjzNf|FwEOaU`AQobIG?6?&q#1`K zJi?=r*Y2->Y?6kAZ1!>Y3V#0Dd+t5I^F3$pJ@XS$qP1~L~7Ln%_nF^W_Mmq{ps_5Tr zUiq;6+3cfc>I4%9AZ54PDGf1;fR})Dv+Q=F40zA5$-45Vv#*(9Fzf-yC@e^9wl^&W zUR6jiK~s+iTt;5cZvr*(AB6F);D^CYoH|POK+n(oAk&Qrn zuyrHMHGxGHnK^$7rc&So;C36SBV&Gt@>O{i|+-`3m*9SBJ8HMhsCVT8A z(C5QaXBEO0XKli~lEsUgd%m;>G78;MO^(=NRHvDv&N4o7)+M-l8U(|y2~}yd$E?2t zI}b4ZYTx?JxZQsH==U|4`u*591s0pD%Th-4>1XeCY3trS-CfY_Bal**mnBGHWOP}K z=nIvu+z)Sg>Q;p*#jA#hdP{)b5fx?~S48#Uif3}qbUxAb`A`+Z>wTZ^PUiu7tFQ^x zE`NBJIUwz!m<1~G3u|;)iQJ!b>d==Lx9&ZDQ)$P8jKYG%CVNvkkYuSg>!@v(=%Hs_ zzpQU7xakpSax}ii9oG41n?0DzlkM8Lq+>z*0Ho}8J4NLcvxHf}+#zE)Hgg&Iqo)U4 zM_}pD9r$L#|k4Ka(XTF;xo^nvN*j(7r_2*cz12U9gsJ-V>%pu-~|bIp?%S;qGr zME>aM7$P)yTKLtmkAteOFu(1$0j)7SbhybnBSNY(iM8W0i85?>RatR#7oT6O4%WGJxJ^6P&{<=IQTVluy&^iDLKQv2Zq=<7wvtdFO z_ry8@SXXhF_fMCEWAaG=8B(-5*}!w22!+Vaz+u?fFfoe>eeVZgS9KY$AK6JrLBRi` z;;<(hqTWf|#+^4rcw@|r_Rb%!J4a5*?r=K~AlmGiWEgmF>&Y)?_!InSz%T$RuGaC& zXGJu5J?0o!G7J?NYK}GYS&%x8c`0K6IDg|B3l9C6tIdt(H6Y%hhCr%$7R_VYz;u>p zOa`F7=?3!-Zsq(9Q#OM-AZdmdz3qJeaY=(%)#~UpdRqAT;UdmlyJ&txN|GT+T+df_ zrI$U5QHcXgpFPu@eR*fR&(ZOyvh3(iN`iNE0z-(i)4D|+EPt5rEMt@IV}H#VUO%#v zE6ojI>$xY^$-5J?h--Cpesf|kd%ms++pZtt{6~fTAmaP)C-oc5_Q&Uv=Ik4mlHQIO zHcZT-U##zjTvu_JKc4wKESrH~0M|pQ`10W*4%VIpU{J4k3MaqV{<;blhhbyQxLKq+ zebdpd>M{yS_l0CDNUqru=S+E7kf8VZ8ayrRsxBkSura#NKpcjRrv?lo#%AZU3+DoM zR16Uc#?IvN{waXZ(OL4(zu-|5T%Dd!YHUe!roIT=8(MuhRQDBUu3utu|G_v~2V-Qy zz3e-GnnrI+k2Z2gOd;!mhX9|WGyhN_-*|f5(J}|2%1|WiS>~haFPO9M1FFBd0>GpF zz8BEE5OGJR2L#Fu6+&B2cH-2PS~CB!IpBH08b`-JDwNy$JU1l?WVRUw1DzMfB@JTj zI2U%qpwZL9!cVtRR$pU=grE@BwYG#gPhAvrIVP+^d%8!3-B*BbUa;EH=@yl}&>9jGuWX4_JC~bo@Y2CT-m5y& zUbf>urB*pQ-6Os}w?FrhdJH-;so!Ak>(!gBXOGk34Jd^tQj}F@=41eL*jLic!0Jf0 zy1%B&?)0~Uz`Jd~+ZRKIP1Xs7m34WCa7k>kzU`oW09tczfB&sWvJ#cII_4SQv>a}T z(zk#*%SBm7jmM*FIu_hC0Ow}pURE^6T20oWDl5*+&biXDtgH8@Dk;UQ4hZ^)Wy-8! zf2Aw?F+^@!XLpSVi6|m-fh%3k-MQ3@>d!iN9=b`Cta7b9ttty5ugfZA{;e{^z)z-V z)ic@K6bd3I$|96im6_Q^-JSLu6s>Y)FGtyAx+tpV_3Xo@#5wI@i(3ZHkzg_!U%letV_%^C0)K9RY@(*Uj-}=M_hza zl+~4)**UkG@oz=&pUf2J&q8(MZJ1GZRfUCBuAHC}yh93urESj}timRcM?!!_zE5W}%(8nk@^8hvF}kI3ed%m>NPC)H zESh1YGb!8hMz!YQO$9~}!0Wafyub;NJ&0_nbgevQn#fino*kC9^Nl2J_Dn+bK_Fcr zO_W4@A6~ZQCR_*VRk$Ro<%paTua*+!I8ZTj`GrX8`ya+{&%qRXlL7z$002ovPDHLk FV1i|5E?xit literal 0 HcmV?d00001 diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/index.html b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/index.html new file mode 100644 index 0000000..057e506 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/index.html @@ -0,0 +1,84 @@ + + + + + G-Forum + + + + + + + + + + + + + + + + +

+ +
+
+ +
+
+
+
+
+
+
+
+ +
+ +
+
+ +
+
+ Initializing.. +
+
+ + +
+ +
+ +
<<
+
<
+
1 / 1
+
>
+
>>
+
+ +
+ +
+ + + + + + + + + + diff --git a/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/js/script.js b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/js/script.js new file mode 100644 index 0000000..9efdd48 --- /dev/null +++ b/G-Earth/src/main/resources/gearth/services/internal_extensions/extensionstore/application/webview/js/script.js @@ -0,0 +1,85 @@ +// +// let overviewPagesInfo = { +// "by_date" : { +// "logo": "images/overviews/clock.png", +// // "logo": "https://i.imgur.com/NmWKXcH.png", +// "title": "New Releases", +// "desc": "Newly added extensions to the G-ExtensionStore" +// }, +// "by_rating" : { +// "logo": "images/overviews/star.png", +// // "logo": "https://i.imgur.com/vTpk1l6.png", +// "title": "Most Popular Extensions", +// "desc": "Extensions sorted by highest ratings" +// }, +// "by_category" : { +// "logo": "images/overviews/idea.png", +// // "logo": "https://i.imgur.com/ubvaGgT.png", +// "title": "Categories", +// "desc": "" +// }, +// "installed" : { +// "logo": "images/overviews/success.png", +// // "logo": "https://i.imgur.com/ubvaGgT.png", +// "title": "Extensions you have already installed", +// "desc": "" +// }, +// "search" : { +// "logo": "images/overviews/search.png", +// // "logo": "https://i.imgur.com/ubvaGgT.png", +// "title": "Categories", +// "desc": "" +// } +// }; +// +// function setOverview(overviewName) { +// let overview = overviewPagesInfo[overviewName]; +// +// $("#logo").empty(); +// $('#logo').prepend(``); +// +// $("#info_title_container").html(overview["title"]); +// $("#info_desc_container").html(overview["desc"]); +// +// $("#content_title").html(overview["title"]); +// } +// +// function setCategory(badge, title, desc) { +// $("#logo").empty(); +// $('#logo').prepend(``); +// +// $("#info_title_container").html(title); +// $("#info_desc_container").html(desc); +// + +function setHeading(badge, title, desc) { + $("#logo").empty(); + $('#logo').prepend(``); + + $("#info_title_container").html(title); + $("#info_desc_container").html(desc); +} + +function setContentTitle(text) { + $("#content_title").html(text); +} + + + +// +// function setExtensionView(icon, title, desc) { +// $("#logo").empty(); +// $('#logo').prepend(``); +// +// $("#info_title_container").html(title); +// $("#info_desc_container").html(desc); +// +// $("#content_title").html(title); +// } +// +// // $(window).on('load', function () { +// // for (let overviewName in overviewPagesInfo) { +// // $(`#overview_${overviewName}`).click( function(e) {e.preventDefault(); setOverview(overviewName)}); +// // } +// // +// // });