port to Astro

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6e1c163a147b14b92a5f6ae4de6a87206a6a6964
This commit is contained in:
raf 2026-04-05 23:24:13 +03:00
commit f25cfa3e7e
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
14 changed files with 5125 additions and 200 deletions

View file

@ -0,0 +1,33 @@
---
import { Icon } from 'astro-icon/components';
interface Props {
members: string[];
}
const { members } = Astro.props;
const owner = "amr";
const admins = ["raf", "rocoe"];
---
<div class="section">
<p>Members</p>
<ul class="members">
{members.length > 0 ? (
members.map(username => (
<li>
<a href={`/~${username}`}>~{username}</a>
{username === owner && (
<Icon name="fa-solid:crown" class="member-icon owner" title="Owner" />
)}
{admins.includes(username) && username !== owner && (
<Icon name="fa-solid:shield-halved" class="member-icon admin" title="Admin" />
)}
</li>
))
) : (
<li class="error">Error fetching members!</li>
)}
</ul>
</div>