feat: SQL filtering, Users admin tab, dashboard polish
- Move ticket filtering from in-memory to SQL WHERE clauses (queue_id, status, owner use Drizzle eq/isNull; text search uses ilike; custom field filters use EXISTS subqueries) - Add limit param to GET /tickets - Add POST/PATCH/DELETE /users routes - Add Users tab to admin page with create/edit/delete - Smart widget positioning in dashboard (3-column grid fill) - Show pattern hint below CF inputs in New Ticket dialog Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1110,10 +1110,15 @@ function TicketWorkbenchContent() {
|
||||
...current,
|
||||
[field.id]: event.target.value,
|
||||
}))}
|
||||
placeholder={field.pattern ? field.pattern : "Optional value"}
|
||||
placeholder={field.pattern ? `Pattern: ${field.pattern}` : "Optional value"}
|
||||
className="h-9 rounded-md border border-input bg-background px-3 text-sm font-normal outline-none focus:border-ring"
|
||||
/>
|
||||
)}
|
||||
{field.pattern && (
|
||||
<span className="text-[11px] text-muted-foreground">
|
||||
Must match: <code className="rounded bg-muted px-1 font-mono">{field.pattern}</code>
|
||||
</span>
|
||||
)}
|
||||
</label>
|
||||
);
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user