import { getAtk, useUserinfo } from "../stores/userinfo.tsx"; import { createSignal, For, Show } from "solid-js"; export default function DashboardPage() { const userinfo = useUserinfo(); function getGreeting() { const currentHour = new Date().getHours(); if (currentHour >= 0 && currentHour < 12) { return "Good morning! Wishing you a day filled with joy and success. ☀️"; } else if (currentHour >= 12 && currentHour < 18) { return "Afternoon! Hope you have a productive and joyful afternoon! ☀️"; } else { return "Good evening! Wishing you a relaxing and pleasant evening. 🌙"; } } const [events, setEvents] = createSignal([]); const [eventCount, setEventCount] = createSignal(0); const [error, setError] = createSignal(null); async function readEvents() { const res = await fetch("/api/users/me/events?take=10", { headers: { Authorization: `Bearer ${getAtk()}` } }); if (res.status !== 200) { setError(await res.text()); } else { const data = await res.json(); setEvents(data["data"]); setEventCount(data["count"]); } } readEvents(); return (

Welcome, {userinfo?.displayName}

{getGreeting()}

Challenges
{userinfo?.meta?.challenges?.length}
Sessions
{userinfo?.meta?.sessions?.length}
Events
{eventCount()}
Challenges
{item => }
State IP Address User Agent Date
{item.id} {item.state} {item.ip_address} {item.user_agent.substring(0, 10) + "..."} {new Date(item.created_at).toLocaleString()}
Sessions
{item => }
Third Client Audiences Date
{item.id} {item.client_id ? "Linked" : "Non-linked"} {item.audiences?.join(", ")} {new Date(item.created_at).toLocaleString()}
Events
{item => }
Type Target IP Address User Agent Date
{item.id} {item.type} {item.target} {item.ip_address} {item.user_agent.substring(0, 10) + "..."} {new Date(item.created_at).toLocaleString()}
); }