1
0
Fork 0
forked from nin0/website

internal corporate restructuring

This commit is contained in:
nin0 2025-03-15 22:03:19 -04:00
parent 22251c3b2b
commit 6015db1f4f
Signed by: nin0
SSH key fingerprint: SHA256:NOoDnFVvZNFvqfXCIhzr6oCTDImZAbTTuyAysZ8Ufk8
37 changed files with 1207 additions and 348 deletions

View file

@ -1,6 +1,6 @@
// wow i love being fake programmer
// source: https://jams.hackclub.com/batch/webOS/part-3
function dragElement(element) {
export function dragElement(element) {
var initialX = 0;
var initialY = 0;
var currentX = 0;
@ -26,8 +26,6 @@ function dragElement(element) {
currentY = initialY - e.clientY;
initialX = e.clientX;
initialY = e.clientY;
console.log(element.offsetTop);
console.log(currentX);
element.style.top = element.offsetTop - currentY + "px";
element.style.left = element.offsetLeft - currentX + "px";
}
@ -35,7 +33,5 @@ function dragElement(element) {
function stopDragging() {
document.onmouseup = null;
document.onmousemove = null;
console.log(element.offsetTop - currentY);
console.log(element.offsetLeft - currentX);
}
}

1
src/js/lanyard/lanyard.d.ts vendored Normal file
View file

@ -0,0 +1 @@
declare module "@js/lanyard/lanyard";

56
src/js/lanyard/lanyard.ts Normal file
View file

@ -0,0 +1,56 @@
import type {
AnyLanyardPayload,
LanyardInitStatePayload,
LanyardPayload,
LanyardPresence,
LanyardPresenceUpdatePayload
} from "./types";
function sendToSocket(socket: WebSocket, data: AnyLanyardPayload) {
socket.send(JSON.stringify(data));
}
export function initLanyard(
updateCallback: (presence: LanyardPresence) => void
) {
const socket = new WebSocket("wss://api.lanyard.rest/socket");
socket.onmessage = data => {
const payload: LanyardPayload = JSON.parse(data.data);
switch (payload.op) {
case 1: {
// Initialize
sendToSocket(socket, {
op: 2,
d: {
subscribe_to_ids: ["886685857560539176"]
}
});
sendToSocket(socket, {
op: 3
});
setInterval(
() => {
sendToSocket(socket, {
op: 3
});
},
"heartbeat_interval" in payload.d
? payload.d.heartbeat_interval
: 30000
);
break;
}
case 0: {
const typedPayload = payload as
| LanyardInitStatePayload
| LanyardPresenceUpdatePayload;
updateCallback(
typedPayload.t === "INIT_STATE"
? typedPayload.d["886685857560539176"]
: typedPayload.d
);
}
}
};
}

65
src/js/lanyard/types.ts Normal file
View file

@ -0,0 +1,65 @@
export interface LanyardPresence {
listening_to_spotify: boolean;
spotify: {
track_id: string;
timestamps: {
start: number;
end: number;
};
song: string;
artist: string;
album_art_url: string;
album: string;
};
discord_status: string;
activities: {
type: number;
timestamps: {
start: number;
end: number;
};
state: string;
name: string;
id: string;
details: string;
assets: {
small_text: string;
small_image: string;
large_text: string;
large_image: string;
};
application_id: string;
}[];
}
export interface AnyLanyardPayload {
op: 0 | 1 | 2 | 3;
d?: object;
}
export interface LanyardHelloPayload {
op: 1;
d: {
heartbeat_interval: number;
};
}
export interface LanyardInitStatePayload {
op: 0;
t: "INIT_STATE";
d: {
[user_id: string]: LanyardPresence;
};
}
export interface LanyardPresenceUpdatePayload {
op: 0;
t: "PRESENCE_UPDATE";
d: LanyardPresence;
}
export type LanyardPayload =
| LanyardHelloPayload
| LanyardInitStatePayload
| LanyardPresenceUpdatePayload
| AnyLanyardPayload;