move javascript files to js directory

This commit is contained in:
Daniel Micay
2021-01-05 02:43:55 -05:00
parent e1ddbd94b0
commit f9328e24c1
7 changed files with 6 additions and 6 deletions

36
static/js/redirect.js Normal file
View File

@@ -0,0 +1,36 @@
// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT
// Client-side redirects for fragments (anchors)
//
// It should be possible to do this with server-side redirects, but it was never implemented or
// standardized. For reference:
//
// https://www.w3.org/People/Bos/redirect
// https://www.w3.org/Protocols/HTTP/Fragment/draft-bos-http-redirect-00.txt
const redirects = new Map([
["/#device-support", "/faq#device-support"],
["/#roadmap", "/faq#roadmap"],
["/#copyright-and-licensing", "/faq#copyright-and-licensing"],
["/usage#default-connections", "/faq#default-connections"],
["/releases#marlin-stable", "/faq#legacy-devices"],
["/releases#sailfish-stable", "/faq#legacy-devices"],
["/releases#marlin-beta", "/faq#legacy-devices"],
["/releases#sailfish-beta", "/faq#legacy-devices"],
["/faq#dns", "/faq#custom-dns"],
["/build#upgrading-to-android-10", "/build#generating-release-signing-keys"],
]);
function handle_hash() {
if (window.location.hash) {
const redirect = redirects.get(window.location.pathname + window.location.hash);
if (redirect) {
window.location.replace(redirect);
}
}
}
handle_hash();
addEventListener("hashchange", handle_hash, false);
// @license-end

44
static/js/releases.js Normal file
View File

@@ -0,0 +1,44 @@
// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT
const baseUrl = "https://releases.grapheneos.org/";
const versionBaseUrl = "https://github.com/GrapheneOS/platform_manifest/releases/tag/";
const devices = ["sunfish", "coral", "flame", "bonito", "sargo", "crosshatch", "blueline", "taimen", "walleye"];
const channels = ["stable", "beta"];
for (const channel of channels) {
for (const device of devices) {
fetch(baseUrl + device + "-" + channel).then(response => {
if (!response.ok) {
return Promise.reject();
}
return response.text();
}).then(text => {
const metadata = text.trim().split(" ");
const factoryFilename = device + "-factory-" + metadata[0] + ".zip";
const factoryUrl = baseUrl + factoryFilename;
const updateFilename = device + "-ota_update-" + metadata[0] + ".zip";
const updateUrl = baseUrl + updateFilename;
const tag = metadata[2] + "." + metadata[0];
const release = document.getElementById(device + "-" + channel);
const links = release.getElementsByTagName("a");
links[1].innerText = tag;
links[1].setAttribute("href", versionBaseUrl + tag);
links[2].innerText = factoryFilename;
links[2].setAttribute("href", factoryUrl);
links[3].innerText = factoryFilename + ".sig";
links[3].setAttribute("href", factoryUrl + ".sig");
links[4].innerText = updateFilename;
links[4].setAttribute("href", updateUrl);
});
}
}
// @license-end