Initialize League GUI prototype
All checks were successful
Release Dry Run / release-dry-run (push) Successful in 12s
Codex Template Compliance / template-compliance (push) Successful in 6s

This commit is contained in:
ToxicCrzay270
2026-05-15 00:41:38 +02:00
commit 45b96ec20f
62 changed files with 5924 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
import { useAppContext } from "../../app/AppContext";
import { Button } from "../../components/ui";
import { friends } from "../../data/friends.mock";
import { getFriendStatusLabel } from "./friendStatus";
export function SocialSidebar() {
const { notify } = useAppContext();
return (
<aside className="social-sidebar" aria-label="Friends and social status">
<header>
<span className="eyebrow">Social</span>
<h2>Friends</h2>
</header>
<div className="social-list">
{friends.map((friend) => (
<article key={friend.id} className="social-card">
<span className={`status-dot status-${friend.status}`} />
<div>
<h3>{friend.displayName}</h3>
<p>{getFriendStatusLabel(friend.status)}</p>
<span>{friend.activity}</span>
</div>
<Button
variant="ghost"
size="sm"
disabled={friend.status === "offline"}
onClick={() =>
notify({
title: "Invite sent",
message: `${friend.displayName} received a prototype party invite.`,
variant: "success"
})
}
>
Invite
</Button>
</article>
))}
</div>
</aside>
);
}