B2B-30: adds personal code to account, company admins invites members

This commit is contained in:
devmc-ee
2025-06-22 15:22:07 +03:00
parent 39c02c6d34
commit 251f2a4ef1
50 changed files with 3546 additions and 2611 deletions

View File

@@ -28,6 +28,12 @@ import { AdminMembersTable } from './admin-members-table';
import { AdminMembershipsTable } from './admin-memberships-table';
import { AdminReactivateUserDialog } from './admin-reactivate-user-dialog';
import {
AccountInvitationsTable,
AccountMembersTable,
InviteMembersDialogContainer,
} from '@kit/team-accounts/components';
type Account = Tables<'accounts'>;
type Membership = Tables<'accounts_memberships'>;
@@ -146,8 +152,6 @@ async function PersonalAccountPage(props: { account: Account }) {
</div>
<div className={'flex flex-col gap-y-8'}>
<SubscriptionsTable accountId={props.account.id} />
<div className={'divider-divider-x flex flex-col gap-y-2.5'}>
<Heading level={6}>Companies</Heading>
@@ -213,7 +217,7 @@ async function TeamAccountPage(props: {
<div className={'flex flex-col gap-y-8'}>
<div className={'flex flex-col gap-y-2.5'}>
<Heading level={6}>Company Employees</Heading>
<Heading level={6}>Company Members</Heading>
<AdminMembersTable members={members} />
</div>

View File

@@ -179,6 +179,14 @@ function getColumns(): ColumnDef<Account>[] {
header: 'Email',
accessorKey: 'email',
},
{
id: 'personalCode',
header: 'Personal Code',
accessorKey: 'personalCode',
cell: ({ row }) => {
return row.original.personal_code ?? '-';
},
},
{
id: 'type',
header: 'Type',

View File

@@ -48,8 +48,9 @@ export function AdminCreateUserDialog(props: React.PropsWithChildren) {
email: '',
password: '',
emailConfirm: false,
personalCode: ''
},
mode: 'onChange',
mode: 'onBlur',
});
const onSubmit = (data: CreateUserSchemaType) => {
@@ -98,6 +99,25 @@ export function AdminCreateUserDialog(props: React.PropsWithChildren) {
</Alert>
</If>
<FormField
name={'personalCode'}
render={({ field }) => (
<FormItem>
<FormLabel>Personal code</FormLabel>
<FormControl>
<Input
required
type="text"
placeholder={'48506040199'}
{...field}
/>
</FormControl>
<FormMessage />
</FormItem>
)}
/>
<FormField
name={'email'}
render={({ field }) => (

View File

@@ -52,7 +52,7 @@ function getColumns(): ColumnDef<Memberships>[] {
{
header: 'Role',
cell: ({ row }) => {
return row.original.role === 'owner' ? 'HR' : 'Employee';
return row.original.role === 'owner' ? 'Admin' : 'Member';
},
},
{