aboutsummaryrefslogtreecommitdiff
path: root/src/app/browser.js
diff options
context:
space:
mode:
author0neGal <mail@0negal.com>2022-05-16 23:51:26 +0200
committer0neGal <mail@0negal.com>2022-05-16 23:51:26 +0200
commit31545f96ac56e0bbc7d0ed59f86015d693d464d9 (patch)
tree883361501c42f71460d52047b7ac708e9de29ac1 /src/app/browser.js
parent716a05ed8673302129aecfc10f680cbf1fa882c7 (diff)
downloadViper-31545f96ac56e0bbc7d0ed59f86015d693d464d9.tar.gz
Viper-31545f96ac56e0bbc7d0ed59f86015d693d464d9.zip
added mod preview browser
Instead of opening your normal web browser you can now just open the page inside Viper, many changes aren't finished yet, notably the webview.css file. At some point I'll split the main.css into more files so the folder makes sense even though there's currently only one file in there.
Diffstat (limited to 'src/app/browser.js')
-rw-r--r--src/app/browser.js29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/app/browser.js b/src/app/browser.js
index 4d14885..b3b1b59 100644
--- a/src/app/browser.js
+++ b/src/app/browser.js
@@ -83,6 +83,7 @@ var Browser = {
Browser.filters.toggle(false);
overlay.classList.remove("shown")
browser.classList.remove("shown")
+ preview.classList.remove("shown")
return
}
}
@@ -243,6 +244,20 @@ var Browser = {
}
}
+var view = document.querySelector(".popup#preview webview");
+var Preview = {
+ show: () => {
+ preview.classList.add("shown")
+ },
+ hide: () => {
+ preview.classList.remove("shown")
+ },
+ set: (url, autoshow) => {
+ if (autoshow != false) {Preview.show()}
+ view.src = url;
+ }
+}
+
function BrowserElFromObj(obj) {
let pkg = {...obj, ...obj.versions[0]};
@@ -325,7 +340,7 @@ function BrowserEl(properties) {
<div class="title">${properties.title}</div>
<div class="description">${properties.description}</div>
<button class="install" onclick='installFromURL("${properties.download}", ${JSON.stringify(properties.dependencies)}, true)'>${installstr}</button>
- <button class="info" onclick="require('electron').shell.openExternal('${properties.url}')">${lang('gui.browser.info')}</button>
+ <button class="info" onclick="Preview.set('${properties.url}')">${lang('gui.browser.info')}</button>
<button class="visual">${properties.version}</button>
<button class="visual">${lang("gui.browser.madeby")} ${properties.author}</button>
</div>
@@ -413,8 +428,16 @@ search.addEventListener("keyup", () => {
}
})
-browser.addEventListener("scroll", () => {
- Browser.filters.toggle(false);
+let events = ["scroll", "mousedown", "touchdown"];
+events.forEach((event) => {
+ browser.addEventListener(event, () => {
+ Preview.hide();
+ Browser.filters.toggle(false);
+ })
+});
+
+view.addEventListener("dom-ready", () => {
+ view.insertCSS(fs.readFileSync(__dirname + "/css/webview.css", "utf8"));
})
let checks = document.querySelectorAll(".check");