Add accounts UI with list, create, edit, detail tabs for all sub-entities

Accounts list with paginated table, search, sort. Account detail page with
tabs for members, payment methods, tax exemptions, and processor links.
All sub-entities have create/edit dialogs and delete actions. Forms use
shared Zod schemas via react-hook-form.
This commit is contained in:
Ryan Moon
2026-03-28 07:45:52 -05:00
parent e734ef4606
commit 9abdf6c050
23 changed files with 1688 additions and 6 deletions

View File

@@ -0,0 +1,27 @@
import { queryOptions } from '@tanstack/react-query'
import { api } from '@/lib/api-client'
import type { Member } from '@/types/account'
import type { PaginatedResponse, PaginationInput } from '@forte/shared/schemas'
export const memberKeys = {
all: (accountId: string) => ['accounts', accountId, 'members'] as const,
list: (accountId: string, params: PaginationInput) => [...memberKeys.all(accountId), params] as const,
}
export function memberListOptions(accountId: string, params: PaginationInput) {
return queryOptions({
queryKey: memberKeys.list(accountId, params),
queryFn: () => api.get<PaginatedResponse<Member>>(`/v1/accounts/${accountId}/members`, params),
})
}
export const memberMutations = {
create: (accountId: string, data: Record<string, unknown>) =>
api.post<Member>(`/v1/accounts/${accountId}/members`, data),
update: (id: string, data: Record<string, unknown>) =>
api.patch<Member>(`/v1/members/${id}`, data),
delete: (id: string) =>
api.del<Member>(`/v1/members/${id}`),
}