import React, { useEffect, useState } from "react"; import { DicordActivityStyle } from "./discord-activity.style"; import { useLanyard } from "react-use-lanyard"; import { discord_id } from "config"; /*
{!loading && JSON.stringify(status, null, 4)}
; */ const customStatus = [ "Searching for Cat Girls", "Watching Anime", "Sleeping", "Studying", ]; const statusPicker = () => { return customStatus[Math.floor(Math.random() * customStatus.length)]; }; export default function DiscordActivity() { const { loading, status } = useLanyard({ userId: discord_id, socket: true, }); const [time, setTime] = useState("00:00:00 elapsed"); const [pickedStatus] = useState(statusPicker()); const padTo2Digits = (num) => { return num.toString().padStart(2, "0"); }; const convertMsToHM = (milliseconds) => { let seconds = Math.floor(milliseconds / 1000); let minutes = Math.floor(seconds / 60); let hours = Math.floor(minutes / 60); seconds = seconds % 60; minutes = seconds >= 30 ? minutes + 1 : minutes; minutes = minutes % 60; hours = hours % 24; return `${padTo2Digits(hours)}:${padTo2Digits(minutes)}:${padTo2Digits( seconds )} elapsed`; }; const baseURL = "https://cdn.discordapp.com/app-assets/"; const [currentTs, setCurrentTs] = useState(Date.now()); useEffect(() => { let interval = setInterval(() => { if (!loading) { setCurrentTs(Date.now()); let timeElapsed = convertMsToHM( currentTs - new Date(status?.activities[1]?.timestamps.start) ); // console.log(timeElapsed); setTime(timeElapsed); } // console.log("Intervcal"); }, 1000); return () => { clearInterval(interval); }; }, [currentTs, loading]); if ( !loading && (status.discord_status === "online" || status.discord_status === "idle" || status.discord_status === "dnd") && status.activities.length ) { if (status.activities[0].id === "custom" && status.activities.length == 1) { return (
{status?.discord_user.username + "#" + status?.discord_user.discriminator}
is {status?.discord_status}
{status?.activities[0].state}

); } else { if (status.activities[1]?.name === "Spotify") { return ( {!loading && ( <>
{}
{ }
{status.activities[1] && status.activities[1].name}
{status.activities[1] && status.activities[1].details}
{status.activities[1] && status.activities[1].state ? status.activities[1].state : null}

{status?.activities[1]?.timestamps?.start && time}
)}
); } // else if (status.activities[0]) { // return ( // // {!loading && ( // <> //
//
// {status.activities[0] && ( // // )} //
//
// {status.activities[0] && ( // // )} //
//
//
//
// {status.activities[0].name} //
//
// {status.activities[0].details} //
//
// {status.activities[0].state // ? status.activities[0].state // : null} //
//
//
// {status?.activities[0]?.timestamps?.start && time} //
//
// // )} //
// ); // } else { return ( {!loading && ( <>
{status.activities[1] && ( )}
{status.activities[1] && ( )}
{status.activities[1] && status.activities[1].name}
{status.activities[1] && status.activities[1].details}
{status.activities[1] && status.activities[1].state ? status.activities[1].state : null}

{status?.activities[1]?.timestamps?.start && time}
)}
); } } } else if ( !loading && status.activities.length === 0 && (status.discord_status === "online" || status.discord_status === "idle" || status.discord_status === "dnd") ) { return (
{status?.discord_user.username + "#" + status?.discord_user.discriminator}
is Online
{status?.activities[0]?.state}

{}
); } else { let restData = { username: "Bravo68-DF_Techs", public_flags: 64, id: "457039372009865226", discriminator: "6429", avatar: "08a8937664b3b165805965244d6f095f", }; return (
{restData.username + "#" + restData.discriminator}
is Offline

{pickedStatus}
{/*
00:00:00 elapsed
*/}
); } }