feat: add go users exporter
This commit is contained in:
parent
6388e3127d
commit
41e620ad03
7 changed files with 629 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
|||
import { json, LoaderFunctionArgs, MetaFunction } from "@remix-run/node";
|
||||
import { redirect, useLoaderData } from "@remix-run/react";
|
||||
import { User } from "~/lib/api/user";
|
||||
import { UserWithMembers } from "~/lib/api/user";
|
||||
import serverRequest from "~/lib/request.server";
|
||||
|
||||
export const meta: MetaFunction<typeof loader> = ({ data }) => {
|
||||
|
@ -9,14 +9,19 @@ export const meta: MetaFunction<typeof loader> = ({ data }) => {
|
|||
return [{ title: `@${user.username} - pronouns.cc` }];
|
||||
};
|
||||
|
||||
export const loader = async ({ params }: LoaderFunctionArgs) => {
|
||||
export const loader = async ({ request, params }: LoaderFunctionArgs) => {
|
||||
const url = new URL(request.url);
|
||||
const memberPage = parseInt(url.searchParams.get("page") ?? "0", 10);
|
||||
|
||||
let username = params.username!;
|
||||
if (!username.startsWith("@")) throw redirect(`/@${username}`);
|
||||
username = username.substring("@".length);
|
||||
|
||||
const user = await serverRequest<User>("GET", `/users/${username}`);
|
||||
const user = await serverRequest<UserWithMembers>("GET", `/users/${username}`);
|
||||
let members = user.members.slice(memberPage * 20, (memberPage + 1) * 20);
|
||||
if (members.length === 0) members = user.members.slice(0, 20);
|
||||
|
||||
return json({ user });
|
||||
return json({ user, members });
|
||||
};
|
||||
|
||||
export default function UserPage() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue