Compare commits

..

3 Commits
2.0.0 ... main

Author SHA1 Message Date
Tracker-Friendly b1c73bbd28 Update README.md 2024-10-20 12:38:48 +01:00
Tracker-Friendly 37ce68453f Include shutdown files 2024-10-15 11:56:08 +01:00
Tracker-Friendly f0cf54b55f Shutdown FAQ 2024-10-15 11:54:32 +01:00
7 changed files with 97 additions and 95 deletions

View File

@ -1,5 +1,3 @@
# Burgernotes-client-web
# Burgernotes-web
Burgernotes web client
/static/img/background.jpg by perga (@pergagreen on discord)

View File

@ -12,6 +12,8 @@
<link rel="icon" href="/static/svg/favicon.svg">
</head>
<p class="alertDiv">Burgernotes is shutting down on October 20th, read <a href="/shutdown">this FAQ</a> for more info</p>
<body>
<br><br><br>
<div class="mainDiv">
@ -72,6 +74,7 @@
<a href="https://discord.gg/8EbKTjmH2d"><img src="/static/svg/forum.svg" alt=""><div class="vAlign">Discord</div></a>
</div>
<br>
</div>
</body>
</html>

View File

@ -11,6 +11,8 @@
<link rel="icon" href="/static/svg/favicon.svg">
</head>
<p class="alertDiv">Burgernotes is shutting down on November 12th, read <a href="/shutdown">this FAQ</a> for more info</p>
<body>
<img src="/static/img/background.jpg" class="background" alt="">
<div class="inoutdiv">
@ -63,7 +65,6 @@
</div>
<button class="clickButton" id="signupButton">Next</button>
<button id="backButton" class="clickButton hidden nonimportant">Back</button>
<button id="opButton" class="clickButton nonimportant">Create account</button>
<br><br>
<div style="display: flex;"><p class="hidden" id="homeserver">Your homeserver is loading... </p><div style="display: flex;flex-direction: column;justify-content: center;"><a class="hidden" href="/homeserver">Change</a></div></div>
<a class="iconbutton" title="Change homeserver" href="/homeserver/"><div class="vcenter"><img src="/static/svg/server.svg" alt="Homeservers"></div></a>

85
shutdown/index.html Normal file
View File

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Burgernotes</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" type="text/css" href="/static/css/style.css" />
<link rel="icon" href="/static/svg/favicon.svg">
</head>
<body>
<h1 class="w300">Burgernotes Discontinuation FAQ</h1>
After a year in operation, on October 20th 2024, Burgernotes will shut down.
<br><br>
You might be asking, how will this affect me?
<ul>
<li>You'll no longer be able to access Burgernotes, and all of your notes.</li>
<li>You may download your notes before October 20th.</li>
<li>Your data will be permanently deleted after October 20th, 2024.</li>
<li>Third-party instances will be unaffected, but will likely no longer be maintained.</li>
<li>As of October 15th, 2024, you may no longer create a new Burgernotes account.</li>
</ul>
<h2 class="w300">Downloading your notes</h2>
You may download your notes until October 20th. To do this:
<ul>
<li>Open Burgernotes</li>
<li>Open the settings menu</li>
<li>Press "Export notes"</li>
</ul>
Your notes will be saved to a JSON file.
<h2 class="w300">The future</h2>
Burgernotes is not gone forever - we are rebasing and starting from scratch to give you an even better product.
In the meantime, you can use:
<ul>
<li>Standard Notes - a noting app very similar to Burgernotes</li>
<li>Joplin - A pretty powerful note-taking app</li>
</ul>
<h2 class="w300">Special thanks</h2>
Special thanks to all of these amazing people that made Burgernotes possible:
<ul>
<li>hippoz</li>
<li>ctapak</li>
<li>Mollomm1</li>
<li>Arzumify</li>
<li>Maaa</li>
<li>Karimrir</li>
<li>Pandarose</li>
<li>Neptune</li>
<li class="hidden" id="youThing"></li>
</ul>
</body>
<style>
body {
margin-left: 15px;
@media (prefers-color-scheme: dark) {
color: white !important;
}
}
</style>
<script>
fetch(localStorage.getItem("SETTING-homeServer") + "/api/userinfo", {
method: "POST",
body: JSON.stringify({
secretKey: localStorage.getItem("PRIVATE-secretKey")
}),
headers: {
"Content-type": "application/json; charset=UTF-8"
}
})
.then((response) => {
async function doStuff() {
let responseData = await response.json()
if (response.status === 200) {
let youThing = document.getElementById("youThing")
youThing.classList.remove("hidden")
youThing.innerText = "You, " + responseData["username"] + ", for using Burgernotes!"
}
}
doStuff()
})
</script>
</html>

View File

@ -1,78 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Create account - Burgernotes</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" type="text/css" href="/static/css/style.css" />
<script src="/static/js/hash-wasm.js"></script>
<script src="/static/js/wasm_exec.js"></script>
<link rel="icon" href="/static/svg/favicon.svg">
</head>
<body>
<img src="/static/img/background.jpg" class="background" alt="">
<div class="inoutdiv">
<noscript>
<style>
.checkMark {
width: inherit !important;
height: inherit !important;
display: block !important;
position: fixed !important;
left: 50%;
top: 50%;
transform: translate(calc(-50% - 125px), calc(-50% - 16px));
}
.noContent {
display: inherit;
}
.content {
display: none;
}
.checkMark:checked ~ .content {
display: inherit !important;
}
.checkMark:checked ~ .noContent {
display: none !important;
}
.checkMark:checked {
display: none !important;
}
</style>
</noscript>
<input type="checkbox" class="checkMark">
<div class="noContent">
<h2 style="display: block !important;">Your web browser is unsupported</h2>
<p>Please enable JavaScript in your web browser to continue</p>
<p style="margin-bottom: 135px;">False alarm? Click the checkmark to ignore this warning.</p>
</div>
<div class="content">
<h2>Create a Burgernotes Account</h2>
<p>Get started by picking a username and password</p>
<p style="color: #b3261e; font-size: 14px; margin-bottom: 2px; margin-top: 1px;" id="statusBox"></p>
<table id="inputContainer">
<tr>
<td><span id="inputNameBox">Username:</span></td>
<td class="inputBox"><input id="usernameBox" type="text" placeholder="Username"></td>
</tr>
<tr>
<td><span id="inputPasswordBox">Password: </span></td>
<td class="inputBox"><input id="passwordBox" type="password" placeholder="Password"><br></td>
</tr>
</table>
<br>
<button class="clickButton" id="signupButton">Create account</button><button id="opButton" class="clickButton nonimportant">Already have an account</button><br><br>
<a class="iconbutton" title="Change homeserver" href="/homeserver/"><div class="vcenter"><img src="/static/svg/server.svg" alt="Homeservers"></div></a>
<a href="/privacy/">Privacy &amp; Terms</a>
</div>
</div>
<script src="/static/js/signup.js"></script>
</body>

View File

@ -19,7 +19,6 @@ let statusBox = document.getElementById("statusBox")
let signupButton = document.getElementById("signupButton")
let inputNameBox = document.getElementById("inputNameBox")
let backButton = document.getElementById("backButton")
let opButton = document.getElementById("opButton")
async function loginFetch(username, password, modern) {
return await fetch(remote + "/api/login", {
@ -80,7 +79,6 @@ function showInput(inputType) {
usernameBox.classList.remove("hidden")
passwordBox.classList.add("hidden")
backButton.classList.add("hidden")
opButton.classList.remove("hidden")
inputContainer.classList.remove("hidden")
inputNameBox.innerText = "Username:"
statusBox.innerText = "Sign in with your Burgernotes account"
@ -91,7 +89,6 @@ function showInput(inputType) {
passwordBox.classList.remove("hidden")
backButton.classList.remove("hidden")
inputContainer.classList.remove("hidden")
opButton.classList.add("hidden")
inputNameBox.innerText = "Password:"
currentInputType = 1
break
@ -100,7 +97,6 @@ function showInput(inputType) {
signupButton.classList.add("hidden")
backButton.classList.add("hidden")
inputNameBox.classList.add("hidden")
opButton.classList.add("hidden")
inputNameBox.innerText = "Password:"
currentInputType = 2
}
@ -129,10 +125,6 @@ document.addEventListener("DOMContentLoaded", function() {
document.getElementById("homeserver").innerText = "Your homeserver is: " + remote + ". "
});
opButton.addEventListener("click", () => {
window.location.href = "/signup"
});
signupButton.addEventListener("click", () => {
if (passwordBox.classList.contains("hidden")) {
if (usernameBox.value === "") {

View File

@ -969,11 +969,12 @@ document.addEventListener("DOMContentLoaded", async function () {
}
});
if (firstNewVersion()) {
displayError("What's new in Burgernotes 2.0?\nRestyled client\nAdded changing passwords\nAdded importing notes\nChange the use of CryptoJS to Native AES GCM\nUse Argon2ID for hashing rather than the SHA family\nAdded a Proof-Of-Work CAPTCHA during signup\nMade the signup and login statuses more descriptive\nFixed various bugs and issues\nAdded markdown notes\nAdded support for uploading photos\nImproved privacy policy to be clearer about what is and isn't added\nRemoved some useless uses of cookies and replaced with localStorage\nFixed the privacy policy not redirecting correctly\nAdded a list of native clients\nMade the client support LibreJS and therefore GNU Icecat")
}
// if (firstNewVersion()) {
// displayError("What's new in Burgernotes 2.0?\nRestyled client\nAdded changing passwords\nAdded importing notes\nChange the use of CryptoJS to Native AES GCM\nUse Argon2ID for hashing rather than the SHA family\nAdded a Proof-Of-Work CAPTCHA during signup\nMade the signup and login statuses more descriptive\nFixed various bugs and issues\nAdded markdown notes\nAdded support for uploading photos\nImproved privacy policy to be clearer about what is and isn't added\nRemoved some useless uses of cookies and replaced with localStorage\nFixed the privacy policy not redirecting correctly\nAdded a list of native clients\nMade the client support LibreJS and therefore GNU Icecat")
// }
await checknetwork()
updateNotes()
displayError("Burgernotes is shutting down on October 20th, please refer to <a href='/shutdown'>this FAQ</a> for more info.")
})
// @license-end