feat: merge admin routes into unified frontend
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"use client";
|
||||
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
|
||||
import { StatusBadge } from "@/components/status-badge";
|
||||
import { api } from "@/lib/api";
|
||||
|
||||
type InviteRelation = {
|
||||
id: number;
|
||||
inviterUserId: number;
|
||||
inviteeUserId: number;
|
||||
rewardStatus: string;
|
||||
rewardPoints: number;
|
||||
};
|
||||
|
||||
export default function InviteRelationsPage() {
|
||||
const query = useQuery({
|
||||
queryKey: ["admin-invite-relations"],
|
||||
queryFn: () => api.get<InviteRelation[]>("/api/v1/admin/invite-relations"),
|
||||
});
|
||||
|
||||
return (
|
||||
<section className="panel">
|
||||
<h3>邀请关系</h3>
|
||||
<div className="list-grid">
|
||||
{query.data?.map((item) => (
|
||||
<div className="list-item" key={item.id}>
|
||||
<div className="toolbar">
|
||||
<strong>
|
||||
邀请人 {item.inviterUserId} to 被邀请人 {item.inviteeUserId}
|
||||
</strong>
|
||||
<StatusBadge value={item.rewardStatus} />
|
||||
</div>
|
||||
<div className="muted">奖励积分:{item.rewardPoints}</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user