Add auto-generated account numbers and member numbers
6-digit random numbers generated on create, unique per company. Member number column added to member table. Both displayed in UI tables.
This commit is contained in:
@@ -7,7 +7,7 @@ import { DataTable, type Column } from '@/components/shared/data-table'
|
||||
import { Badge } from '@/components/ui/badge'
|
||||
import { Input } from '@/components/ui/input'
|
||||
import { Button } from '@/components/ui/button'
|
||||
import { Search } from 'lucide-react'
|
||||
import { Search, Plus } from 'lucide-react'
|
||||
|
||||
export const Route = createFileRoute('/_authenticated/members')({
|
||||
validateSearch: (search: Record<string, unknown>) => ({
|
||||
@@ -21,6 +21,11 @@ export const Route = createFileRoute('/_authenticated/members')({
|
||||
})
|
||||
|
||||
const memberColumns: Column<MemberWithAccount>[] = [
|
||||
{
|
||||
key: 'memberNumber',
|
||||
header: '#',
|
||||
render: (row) => <span className="font-mono text-sm text-muted-foreground">{row.memberNumber ?? '-'}</span>,
|
||||
},
|
||||
{
|
||||
key: 'last_name',
|
||||
header: 'Name',
|
||||
@@ -68,7 +73,13 @@ function MembersListPage() {
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<h1 className="text-2xl font-bold">Members</h1>
|
||||
<div className="flex items-center justify-between">
|
||||
<h1 className="text-2xl font-bold">Members</h1>
|
||||
<Button onClick={() => navigate({ to: '/accounts/new' })}>
|
||||
<Plus className="mr-2 h-4 w-4" />
|
||||
New Member
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<form onSubmit={handleSearchSubmit} className="flex gap-2 max-w-sm">
|
||||
<div className="relative flex-1">
|
||||
|
||||
@@ -3,6 +3,7 @@ export interface Account {
|
||||
companyId: string
|
||||
accountNumber: string | null
|
||||
name: string
|
||||
primaryMemberId: string | null
|
||||
email: string | null
|
||||
phone: string | null
|
||||
address: {
|
||||
@@ -25,6 +26,7 @@ export interface Member {
|
||||
id: string
|
||||
accountId: string
|
||||
companyId: string
|
||||
memberNumber: string | null
|
||||
firstName: string
|
||||
lastName: string
|
||||
dateOfBirth: string | null
|
||||
|
||||
Reference in New Issue
Block a user