diff options
author | 0neGal <mail@0negal.com> | 2022-05-16 23:51:26 +0200 |
---|---|---|
committer | 0neGal <mail@0negal.com> | 2022-05-16 23:51:26 +0200 |
commit | 31545f96ac56e0bbc7d0ed59f86015d693d464d9 (patch) | |
tree | 883361501c42f71460d52047b7ac708e9de29ac1 /src/app/browser.js | |
parent | 716a05ed8673302129aecfc10f680cbf1fa882c7 (diff) | |
download | Viper-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.js | 29 |
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"); |