mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
56 lines
1.9 KiB
HTML
56 lines
1.9 KiB
HTML
<html>
|
|
<head>
|
|
<title>Login - Chatterino</title>
|
|
</head>
|
|
<body>
|
|
<noscript>
|
|
<p>noscript stuffs here</p>
|
|
</noscript>
|
|
|
|
<p id="status">Loading...</p>
|
|
<script>
|
|
(function() {
|
|
// Address of local Chatterino's http server
|
|
const address = "localhost";
|
|
const port = 52107;
|
|
|
|
// Retrieve hash with token and hide it immidiatelly
|
|
const fragment = location.hash.substring(1);
|
|
history.replaceState(null, null, " ");
|
|
|
|
// Find token in the hash
|
|
const token = new URLSearchParams(fragment).get("access_token");
|
|
|
|
let status = document.getElementById("status");
|
|
|
|
// Return if no token was found
|
|
if (!token) {
|
|
status.innerHTML = "Bad request";
|
|
return;
|
|
}
|
|
|
|
// Call Chatterino's http server
|
|
status.innerHTML = "Sending your credentials to Chatterino...";
|
|
|
|
fetch(`http://${address}:${port}/token`, {
|
|
method: "PUT",
|
|
headers: {
|
|
"X-Access-Token": token
|
|
}
|
|
}).then(resp => {
|
|
// Failure
|
|
if (resp.status !== 200) {
|
|
status.innerHTML = `Chatterino refused your credentials, error ${resp.status}`;
|
|
return;
|
|
}
|
|
// Success
|
|
status.innerHTML = "Chatterino added your account successfully!<br>You can close this tab now.";
|
|
}).catch(err => {
|
|
// Unexpected the unexpectable
|
|
console.log(err);
|
|
status.innerHTML = "Something went wrong, check console for details";
|
|
});
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|