feat: add global issue search with sidebar button and modal
Add search functionality to quickly find issues by title: - Backend: add search param (ILIKE) to ListIssues query - Frontend: search modal using CommandDialog with skeleton loading - Sidebar: ghost-style search button next to create issue button - Handle CJK input method composition to avoid premature searches - Responsive max-height for small screens Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6b9341f7ad
commit
40d29bea50
9 changed files with 180 additions and 11 deletions
|
|
@ -195,6 +195,7 @@ WHERE workspace_id = $1
|
|||
AND ($4::text IS NULL OR status = $4)
|
||||
AND ($5::text IS NULL OR priority = $5)
|
||||
AND ($6::uuid IS NULL OR assignee_id = $6)
|
||||
AND ($7::text IS NULL OR title ILIKE '%' || $7 || '%')
|
||||
ORDER BY position ASC, created_at DESC
|
||||
LIMIT $2 OFFSET $3
|
||||
`
|
||||
|
|
@ -206,6 +207,7 @@ type ListIssuesParams struct {
|
|||
Status pgtype.Text `json:"status"`
|
||||
Priority pgtype.Text `json:"priority"`
|
||||
AssigneeID pgtype.UUID `json:"assignee_id"`
|
||||
Search pgtype.Text `json:"search"`
|
||||
}
|
||||
|
||||
func (q *Queries) ListIssues(ctx context.Context, arg ListIssuesParams) ([]Issue, error) {
|
||||
|
|
@ -216,6 +218,7 @@ func (q *Queries) ListIssues(ctx context.Context, arg ListIssuesParams) ([]Issue
|
|||
arg.Status,
|
||||
arg.Priority,
|
||||
arg.AssigneeID,
|
||||
arg.Search,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue