togglable local & remote timelines.

This commit is contained in:
CatAClock 2025-04-21 17:50:31 -07:00
parent 9dec1ad6cc
commit 2880f2fce7
4 changed files with 57 additions and 10 deletions

View file

@ -4,6 +4,7 @@
<meta name="description" content="Change the fucking channel already!">
<title>The Fediverse</title>
<script type="module" src="../JS/setting.js"></script>
</head>
<body style="margin: 0px; text-align: center;">
@ -11,6 +12,8 @@
<h1>Setting</h1>
</header>
<p>Just go back. It ain't ready yet...</p>
<p class="Local">Toggle Local</p>
<p class="Remote">Toggle Remote</p>
<p onclick="history.back()"><b>OK</b></p>
</body>
</html>

View file

@ -1,8 +1,18 @@
export async function GetPublicTimelineContent() {
var Timeline = await fetch("https://wetdry.world/api/v1/timelines/public?limit=12")
.then((response) => response.json());
for (let i in Timeline) {
Timeline[i] = Timeline[i].content;
export async function GetPublicTimeline(Local = false, Remote = false) {
let Timeline;
if (Local == true && Remote == true) {
console.log("Don't set both Local and Remote timelines to true.");
}
if (Local == true) {
Timeline = await fetch("https://wetdry.world/api/v1/timelines/public?limit=12&local=true")
.then((response) => response.json());
} else if (Remote == true) {
Timeline = await fetch("https://wetdry.world/api/v1/timelines/public?limit=12&remote=true")
.then((response) => response.json());
} else {
Timeline = await fetch("https://wetdry.world/api/v1/timelines/public?limit=12")
.then((response) => response.json());
}
return Timeline;
}

View file

@ -20,9 +20,9 @@ const BackgroundMusic = new Audio("Audio/soft-piano-music-312509.mp3");
// Update a timer
function UpdateTime() {
var TimeNow = new Date();
var Hour = TimeNow.getHours();
var Minute = TimeNow.getMinutes();
let TimeNow = new Date();
let Hour = TimeNow.getHours();
let Minute = TimeNow.getMinutes();
var WebsiteTime = document.getElementsByClassName("Time")[0]
WebsiteTime.innerHTML = "";
@ -98,11 +98,25 @@ ArrowsButton[0].onclick = (event) => {
PosterContainerUpdate();
}
// ActivityPub integration
async function PosterContainerUpdate() {
var Content = await ActivityPub.GetPublicTimelineContent();
var CenterContainer = document.getElementsByClassName("PostContainer")[1].children;
// Cookies for the public timelines
let LocalCookie = document.cookie.split("; ").find((row) => row.startsWith("Local="))?.split("=")[1];
var LocalTrue = (LocalCookie === 'true');
let RemoteCookie = document.cookie.split("; ").find((row) => row.startsWith("Remote="))?.split("=")[1];
var RemoteTrue = (RemoteCookie === 'true');
let Timeline = await ActivityPub.GetPublicTimeline(LocalTrue, RemoteTrue);
let Content = [];
let Users = [];
for (let i in Timeline) {
Content[i] = Timeline[i].content;
Users[i] = Timeline[i].account.username;
}
let CenterContainer = document.getElementsByClassName("PostContainer")[1].children;
for (let i in CenterContainer) {
CenterContainer[i].getElementsByClassName("PostContent")[0].innerHTML = Content[i];
CenterContainer[i].getElementsByClassName("Username")[0].innerHTML = Users[i];
}
}

20
JS/setting.js Normal file
View file

@ -0,0 +1,20 @@
let LocalButton = document.getElementsByClassName("Local")[0];
let RemoteButton = document.getElementsByClassName("Remote")[0];
LocalButton.onclick = (event) => {
// Toggle the cookie
if (document.cookie.split(";").some((item) => item.trim().startsWith("Local="))) {
document.cookie = "Local=true;samesite=strict;path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT;";
} else {
document.cookie = "Local=true;samesite=strict;path=/;";
}
}
RemoteButton.onclick = (event) => {
// Toggle the cookie
if (document.cookie.split(";").some((item) => item.trim().startsWith("Remote="))) {
document.cookie = "Remote=true;samesite=strict;path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT;";
} else {
document.cookie = "Remote=true;samesite=strict;path=/;";
}
}