diff --git a/.dist/channel.js b/.dist/channel.js index 1565e18..ac24437 100644 --- a/.dist/channel.js +++ b/.dist/channel.js @@ -580,6 +580,24 @@ class Channel { const prev = this.messages[(+i) + 1]; const built = this.messages[i].buildhtml(prev); document.getElementById("messages").prepend(built); + if (prev) { + const prevDate = new Date(prev.timestamp); + const currentDate = new Date(this.messages[i].timestamp); + if (prevDate.toLocaleDateString() != currentDate.toLocaleDateString()) { + const dateContainer = document.createElement("div"); + dateContainer.classList.add("replyflex"); + const line = document.createElement("hr"); + line.classList.add("reply"); + dateContainer.appendChild(line); + const date = document.createElement("span"); + date.textContent = currentDate.toLocaleDateString(undefined, { weekday: "long", year: "numeric", month: "long", day: "numeric" }); + dateContainer.appendChild(date); + const line2 = document.createElement("hr"); + line2.classList.add("reply"); + dateContainer.appendChild(line2); + document.getElementById("messages").prepend(dateContainer); + } + } } document.getElementById("messagecontainer").scrollTop = document.getElementById("messagecontainer").scrollHeight; } diff --git a/.dist/file.js b/.dist/file.js index 04075fe..2484889 100644 --- a/.dist/file.js +++ b/.dist/file.js @@ -34,6 +34,7 @@ class File { img.src = src; img.height = this.height; img.width = this.width; + console.log(this.width, this.height); return img; } else if (this.content_type.startsWith('video/')) { diff --git a/.dist/login.js b/.dist/login.js index 75180aa..3966ce8 100644 --- a/.dist/login.js +++ b/.dist/login.js @@ -236,3 +236,4 @@ if ("serviceWorker" in navigator) { } }); } +export { checkInstance }; diff --git a/.dist/register.js b/.dist/register.js new file mode 100644 index 0000000..8db00d0 --- /dev/null +++ b/.dist/register.js @@ -0,0 +1,60 @@ +import { checkInstance } from "./login.js"; +if (document.getElementById("register")) { + document.getElementById("register").addEventListener("submit", registertry); +} +async function registertry(e) { + e.preventDefault(); + const elements = e.srcElement; + const email = elements[1].value; + const username = elements[2].value; + if (elements[3].value !== elements[4].value) { + document.getElementById("wrong").textContent = "Passwords don't match"; + return; + } + const password = elements[3].value; + const dateofbirth = elements[5].value; + const apiurl = new URL(JSON.parse(localStorage.getItem("instanceinfo")).api); + fetch(apiurl + "/auth/register", { + body: JSON.stringify({ + date_of_birth: dateofbirth, + email: email, + username: username, + password: password, + consent: elements[6].checked, + }), + headers: { + "content-type": "application/json" + }, + method: "POST" + }).then(e => { + e.json().then(e => { + if (!e.token) { + console.log(e); + document.getElementById("wrong").textContent = e.errors[Object.keys(e.errors)[0]]._errors[0].message; + } + else { + localStorage.setItem("token", e.token); + window.location.href = '/channels/@me'; + } + }); + }); + //document.getElementById("wrong").textContent=h; + // console.log(h); +} +let TOSa = document.getElementById("TOSa"); +async function tosLogic() { + const apiurl = new URL(JSON.parse(localStorage.getItem("instanceinfo")).api); + const tosPage = (await (await fetch(apiurl.toString() + "/ping")).json()).instance.tosPage; + if (tosPage) { + document.getElementById("TOSbox").innerHTML = "I agree to the Terms of Service:"; + TOSa = document.getElementById("TOSa"); + TOSa.href = tosPage; + } + else { + document.getElementById("TOSbox").textContent = "This instance has no Terms of Service, accept ToS anyways:"; + TOSa = null; + } + console.log(tosPage); +} +tosLogic(); +checkInstance.alt = tosLogic; diff --git a/webpage/file.ts b/webpage/file.ts index cb83dd0..b055f7f 100644 --- a/webpage/file.ts +++ b/webpage/file.ts @@ -36,6 +36,7 @@ class File{ img.src=src; img.height=this.height; img.width=this.width; + console.log(this.width,this.height) return img; }else if(this.content_type.startsWith('video/')){ const video=document.createElement("video"); diff --git a/webpage/guild.ts b/webpage/guild.ts index 3f13e7a..e5a77ce 100644 --- a/webpage/guild.ts +++ b/webpage/guild.ts @@ -76,7 +76,6 @@ class Guild{ settings.show(); } constructor(JSON,owner:Localuser,member){ - if(JSON===-1){ return; } diff --git a/webpage/login.ts b/webpage/login.ts index 6c0ac44..fec43a8 100644 --- a/webpage/login.ts +++ b/webpage/login.ts @@ -233,3 +233,4 @@ if ("serviceWorker" in navigator){ } }) } +export {checkInstance}; diff --git a/webpage/register.html b/webpage/register.html index fa3973b..e75e400 100644 --- a/webpage/register.html +++ b/webpage/register.html @@ -35,6 +35,5 @@ Already have an account? - - + diff --git a/webpage/register.js b/webpage/register.ts similarity index 95% rename from webpage/register.js rename to webpage/register.ts index 7dc3dcc..afc0d17 100644 --- a/webpage/register.js +++ b/webpage/register.ts @@ -1,3 +1,4 @@ +import {checkInstance} from "./login.js"; if(document.getElementById("register")){ document.getElementById("register").addEventListener("submit", registertry); } @@ -48,7 +49,7 @@ async function tosLogic(){ if(tosPage){ document.getElementById("TOSbox").innerHTML="I agree to the Terms of Service:"; TOSa=document.getElementById("TOSa"); - TOSa.href=tosPage; + (TOSa as HTMLAnchorElement).href=tosPage; }else{ document.getElementById("TOSbox").textContent="This instance has no Terms of Service, accept ToS anyways:"; TOSa=null;