thai-uxui

This commit is contained in:
phaichayon
2026-06-19 11:11:17 +07:00
parent c0cc880be2
commit 721653f692
47 changed files with 1135 additions and 538 deletions

View File

@@ -75,19 +75,19 @@ export function ProjectPartiesEditor({
<div className='space-y-3'>
<div className='flex items-center justify-between gap-3'>
<div>
<div className='text-sm font-medium'>Project Parties</div>
<div className='text-sm font-medium'></div>
<p className='text-muted-foreground text-sm'>
Add related companies with their role and optional remark.
</p>
</div>
<Button type='button' variant='outline' size='sm' onClick={addItem}>
<Icons.add className='mr-2 h-4 w-4' /> Add Party
<Icons.add className='mr-2 h-4 w-4' />
</Button>
</div>
{!items.length ? (
<div className='text-muted-foreground rounded-lg border border-dashed p-4 text-sm'>
No project parties yet. Billing customer will still stay separate from this list.
</div>
) : null}
@@ -95,14 +95,14 @@ export function ProjectPartiesEditor({
{items.map((item, index) => (
<div key={item.key} className='rounded-lg border p-4'>
<div className='mb-3 flex items-center justify-between gap-3'>
<div className='text-sm font-medium'>Party {index + 1}</div>
<div className='text-sm font-medium'> {index + 1}</div>
<Button
type='button'
variant='ghost'
size='sm'
onClick={() => removeItem(item.key)}
>
<Icons.trash className='mr-2 h-4 w-4' /> Remove
<Icons.trash className='mr-2 h-4 w-4' />
</Button>
</div>
<div className='grid gap-3 md:grid-cols-3'>
@@ -113,10 +113,10 @@ export function ProjectPartiesEditor({
}
>
<SelectTrigger>
<SelectValue placeholder='Customer' />
<SelectValue placeholder='ลูกค้า' />
</SelectTrigger>
<SelectContent>
<SelectItem value='__none__'>Select customer</SelectItem>
<SelectItem value='__none__'></SelectItem>
{customers.map((customer) => (
<SelectItem key={customer.id} value={customer.id}>
{customer.name} ({customer.code})
@@ -127,10 +127,10 @@ export function ProjectPartiesEditor({
<Select value={item.role || '__none__'} onValueChange={(value) => updateItem(item.key, 'role', value === '__none__' ? '' : value)}>
<SelectTrigger>
<SelectValue placeholder='Role' />
<SelectValue placeholder='บทบาท' />
</SelectTrigger>
<SelectContent>
<SelectItem value='__none__'>Select role</SelectItem>
<SelectItem value='__none__'></SelectItem>
{roles.map((role) => (
<SelectItem key={role.id} value={role.id}>
{role.label}
@@ -142,7 +142,7 @@ export function ProjectPartiesEditor({
<Input
value={item.remark}
onChange={(event) => updateItem(item.key, 'remark', event.target.value)}
placeholder='Remark'
placeholder='หมายเหตุ'
/>
</div>
</div>