feat: v2 rewrite — hexagonal arch, ActivityPub federation, NATS, deployment-ready #1
@@ -28,7 +28,7 @@ export default async function AllUsersPage({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const { items, total, perPage } = usersData;
|
const { items, total, per_page } = usersData;\n const perPage = per_page;
|
||||||
const totalPages = Math.ceil(total / perPage);
|
const totalPages = Math.ceil(total / perPage);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -208,8 +208,8 @@ export const getAllUsers = (page: number = 1, pageSize: number = 20) =>
|
|||||||
apiFetch(
|
apiFetch(
|
||||||
`/users?page=${page}&per_page=${pageSize}`,
|
`/users?page=${page}&per_page=${pageSize}`,
|
||||||
{},
|
{},
|
||||||
z.object({ items: z.array(UserSchema), total: z.number(), page: z.number(), perPage: z.number() })
|
z.object({ items: z.array(UserSchema), total: z.number(), page: z.number(), per_page: z.number() })
|
||||||
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.perPage) }))
|
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.per_page) }))
|
||||||
);
|
);
|
||||||
|
|
||||||
export const getAllUsersCount = () =>
|
export const getAllUsersCount = () =>
|
||||||
@@ -221,8 +221,8 @@ export const getFeed = (token: string, page: number = 1, pageSize: number = 20)
|
|||||||
apiFetch(
|
apiFetch(
|
||||||
`/feed?page=${page}&per_page=${pageSize}`,
|
`/feed?page=${page}&per_page=${pageSize}`,
|
||||||
{},
|
{},
|
||||||
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), perPage: z.number() })
|
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), per_page: z.number() })
|
||||||
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.perPage) })),
|
.transform((d) => ({ ...d, totalPages: Math.ceil(d.total / d.per_page) })),
|
||||||
token
|
token
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -230,7 +230,7 @@ export const getUserThoughts = (username: string, token: string | null) =>
|
|||||||
apiFetch(
|
apiFetch(
|
||||||
`/users/${username}/thoughts`,
|
`/users/${username}/thoughts`,
|
||||||
{},
|
{},
|
||||||
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), perPage: z.number() }),
|
z.object({ items: z.array(ThoughtSchema), total: z.number(), page: z.number(), per_page: z.number() }),
|
||||||
token
|
token
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -252,7 +252,7 @@ export const getThoughtsByTag = (tagName: string, token: string | null) =>
|
|||||||
apiFetch(
|
apiFetch(
|
||||||
`/tags/${tagName}`,
|
`/tags/${tagName}`,
|
||||||
{},
|
{},
|
||||||
z.object({ tag: z.string(), items: z.array(ThoughtSchema), total: z.number(), page: z.number(), perPage: z.number() }),
|
z.object({ tag: z.string(), items: z.array(ThoughtSchema), total: z.number(), page: z.number(), per_page: z.number() }),
|
||||||
token
|
token
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -260,7 +260,7 @@ export const getPopularTags = () =>
|
|||||||
apiFetch(
|
apiFetch(
|
||||||
"/tags/popular",
|
"/tags/popular",
|
||||||
{},
|
{},
|
||||||
z.object({ tags: z.array(z.object({ name: z.string(), thoughtCount: z.number() })) })
|
z.object({ tags: z.array(z.object({ name: z.string(), thought_count: z.number() })) })
|
||||||
.transform((d) => d.tags.map((t) => t.name))
|
.transform((d) => d.tags.map((t) => t.name))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user