forked from nin0/website
internal corporate restructuring
This commit is contained in:
parent
22251c3b2b
commit
6015db1f4f
37 changed files with 1207 additions and 348 deletions
|
@ -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
1
src/js/lanyard/lanyard.d.ts
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
declare module "@js/lanyard/lanyard";
|
56
src/js/lanyard/lanyard.ts
Normal file
56
src/js/lanyard/lanyard.ts
Normal 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
65
src/js/lanyard/types.ts
Normal 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;
|
Loading…
Add table
Add a link
Reference in a new issue