document.getElementById('send_magic_link').addEventListener('click', function() { var email = document.getElementById('email').value; sendMagicLink(email); }); document.getElementById('submit_magic_link').addEventListener('click', function() { var magicLink = document.getElementById('magic_link').value; authenticate(magicLink); }); document.getElementById('import_post').addEventListener('click', function() { chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { var currentUrl = tabs[0].url; if (currentUrl.includes('twitter.com')) { importTwitterPost(currentUrl); } else { console.log('Current URL is not a Twitter URL.'); } }); }); function checkLogin() { chrome.storage.local.get(["accessToken", "username"], function(items) { if (items.accessToken && items.username) { document.getElementById('email').style.display = 'none'; document.getElementById('magic_link').style.display = 'none'; document.getElementById('send_magic_link').style.display = 'none'; document.getElementById('submit_magic_link').style.display = 'none'; } }); } function sendMagicLink(email) { var apiUrl = "https://api.myriad.social/authentication/otp/email"; fetch(apiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ "email": email, "callbackURL": "https://app.myriad.social/login" }) }).then(response => response.json()) .then(data => console.log(data)) .catch((error) => { console.error('Error:', error); }); } function authenticate(magicLink) { var callbackUrl = "https://app.myriad.social/login"; var token = magicLink.replace(callbackUrl+"?token=", ""); var apiUrl = "https://api.myriad.social/authentication/login/otp"; fetch(apiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ "token": token }) }).then(response => response.json()) .then(data => { var accessToken = data.token.accessToken; var username = data.user.username; // store accessToken and username in local storage chrome.storage.local.set({"accessToken": accessToken, "username": username}, function() { console.log('Access Token and Username are set in local storage'); checkLogin(); }); }) .catch((error) => { console.error('Error:', error); }); } function importTwitterPost(twitterUrl, selectedTimelineIds = []) { // retrieve access token and username from local storage chrome.storage.local.get(["accessToken", "username"], function(items) { var at = items.accessToken; var un = items.username; var apiUrl = "https://api.myriad.social/user/posts/import"; var headers = { 'accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + at, }; var data = { "url": twitterUrl, "importer": un, "selectedTimelineIds": selectedTimelineIds, }; fetch(apiUrl, { method: 'POST', headers: headers, body: JSON.stringify(data) }).then(response => response.json()) .then(data => console.log(data)) .catch((error) => { console.error('Error:', error); }); }); } checkLogin();
Inscription number 13,258,196
Genesis block 795,555
File type text
File size 3.28 KB
Creation date Jun 23,2023 7:43 am