"use client"; import React, { useEffect } from "react"; import LazyLoadedImage from "../util/LazyLoadedImage"; import { Alert, AlertDescription, AlertTitle } from "../ui/alert"; import { OctagonXIcon } from "lucide-react"; import { RobloxPremiumSmall, RobloxVerifiedSmall } from "@/components/roblox/RobloxTooltips"; import { useCurrentAccount } from "@/hooks/roblox/useCurrentAccount"; import { Skeleton } from "../ui/skeleton"; import { useFriendsPresence } from "@/hooks/roblox/usePresence"; import { useAccountSettings } from "@/hooks/roblox/useAccountSettings"; export function HomeLoggedInHeader() { const profile = useCurrentAccount(); const accountSettings = useAccountSettings(); if (profile === false) { return (
Failed to fetch account info Please make sure .ROBLOSECURITY is set! Is Roblox having an outage?
); } const presence = useFriendsPresence(profile ? [profile.id] : []); const userActivity = presence.find((b) => b.userId === profile?.id); const userPresence = userActivity?.userPresenceType; const borderColor = userPresence === 1 ? "border-blue/25 bg-blue/25" : userPresence === 2 ? "border-green/25 bg-green/25" : userPresence === 3 ? "border-yellow/25 bg-yellow/25" : userPresence === 0 ? "border-surface2/25 bg-surface2/25" : "border-red/25 bg-red/25"; const isLoaded = !!profile && !!accountSettings; return ( <> {/* */}
{!isLoaded ? ( ) : ( )}
{isLoaded ? ( <> {!!accountSettings && accountSettings.IsPremium === true ? `Howdy, ${profile.displayName}` : `${profile.displayName}`} ) : ( <> )} {!!accountSettings && accountSettings.IsPremium === true ? ( ) : ( <> )} {isLoaded ? ( ) : ( <> )} {isLoaded ? ( <> @{profile.name} {!!userActivity && userPresence === 2 ? ( <> - {userActivity.lastLocation} ) : ( <> )} ) : ( )}
); }