import * as MastodonAPI from "./MastodonAPI.js"; import * as BlueskyAPI from "./BlueskyAPI.js"; import * as TumblrAPI from "./TumblrAPI.js"; import * as Variables from "./Variables.js"; // Settings buttons let LocalButton = document.getElementsByClassName("Local")[0]; let RemoteButton = document.getElementsByClassName("Remote")[0]; let MastodonLoginButton = document.getElementsByClassName("Login Mastodon")[0]; let MastodonWebInput = document.getElementsByClassName("WebInput Mastodon")[0]; let MastodonLogoutButton = document.getElementsByClassName("Logout Mastodon")[0]; let BlueskyLoginButton = document.getElementsByClassName("Login Bluesky")[0]; let BlueskyWebInput = document.getElementsByClassName("WebInput Bluesky")[0]; let BlueskyLogoutButton = document.getElementsByClassName("Logout Bluesky")[0]; // original link let Origin = location.origin + "/HTML/setting.html" // Change weather the timelines are public or remote LocalButton.onclick = (event) => { // Toggle the Variable if (localStorage.getItem("Local") != null) { localStorage.removeItem("Local"); } else { localStorage.setItem("Local", "true"); } } RemoteButton.onclick = (event) => { // Toggle the Variable if (localStorage.getItem("Remote") != null) { localStorage.removeItem("Remote"); } else { localStorage.setItem("Remote", "true"); } } // Mastodon buttons // Login MastodonLoginButton.onclick = (event) => { if (MastodonWebInput.value != "") { let text = MastodonWebInput.value MastodonAPI.HandleAuthentication(text); } } // Logout MastodonLogoutButton.onclick = (event) => { localStorage.removeItem(Variables.MastodonClientID); localStorage.removeItem(Variables.MastodonClientSecret); localStorage.removeItem(Variables.MastodonAccessToken); localStorage.removeItem(Variables.MastodonTokenType); localStorage.removeItem(Variables.MastodonWebsite); document.location.href = Origin; } // Bluesky Buttons // Login BlueskyLoginButton.onclick = (event) => { if (BlueskyWebInput.value != "") { let text = BlueskyWebInput.value BlueskyAPI.HandleAuthorization(text); } } // Logout BlueskyLogoutButton.onclick = (event) => { localStorage.removeItem(Variables.BlueskyPDS); localStorage.removeItem(Variables.BlueskyDID); localStorage.removeItem(Variables.BlueskyPKCEVerifier); localStorage.removeItem(Variables.BlueskyPKCEChallenge); localStorage.removeItem(Variables.BlueskyNonce); localStorage.removeItem(Variables.BlueskyAccessToken); localStorage.removeItem(Variables.BlueskyRefreshToken); localStorage.removeItem(Variables.BlueskyPublicKey); localStorage.removeItem(Variables.BlueskyPrivateKey); document.location.href = Origin; } // if an access token is found, login. async function CheckLogin() { // Check for a mastodon token. if (localStorage.getItem(Variables.MastodonAccessToken) != null) { // Swap the buttons MastodonLoginButton.remove(); MastodonWebInput.remove(); MastodonLogoutButton.setAttribute("style", ""); } else { // Auto log in await MastodonAPI.GainToken(Variables.MastodonWebsite); } // Check for a bluesky token. if (localStorage.getItem(Variables.BlueskyAccessToken) != null) { // Swap the buttons BlueskyLoginButton.remove(); BlueskyWebInput.remove(); BlueskyLogoutButton.setAttribute("style", ""); } else { // Auto log in await BlueskyAPI.GainTokens(); } } // Runs on website start. // Remove traces of "login". CheckLogin();