UI: duplicated "No projects match this search" empty-state renders twice in projects modal #99

Open
opened 2026-09-05 05:21:14 +00:00 by mara · 0 comments
Collaborator

Summary

Commit 200ae83a (feat(webui): searchable chats and projects lists) added the "no results" empty-state for the projects modal twice — two identical <template x-if=...> blocks back to back. When a search matches nothing, two identical "No projects match this search." cards render stacked.

Repro

  1. Open the projects modal with at least one project.
  2. Type a search string matching nothing (e.g. zzzz).
  3. Two identical "No projects match this search." cards appear.

Location

  • webui/components/projects/project-list.html:79-85 (first block)
  • webui/components/projects/project-list.html:87-93 (duplicate)
  • Introduced in commit 200ae83a (on main via merge 5116eb4d)

Suggested fix

Delete one of the two duplicate <template x-if> blocks (lines 87-93). Bonus: the two filteredProjectList() calls in the x-if expressions re-evaluate the filter on every Alpine reactivity tick; consider a single noSearchResults() store getter.

## Summary Commit 200ae83a (`feat(webui): searchable chats and projects lists`) added the "no results" empty-state for the projects modal **twice** — two identical `<template x-if=...>` blocks back to back. When a search matches nothing, two identical "No projects match this search." cards render stacked. ## Repro 1. Open the projects modal with at least one project. 2. Type a search string matching nothing (e.g. `zzzz`). 3. Two identical "No projects match this search." cards appear. ## Location - `webui/components/projects/project-list.html:79-85` (first block) - `webui/components/projects/project-list.html:87-93` (duplicate) - Introduced in commit 200ae83a (on main via merge 5116eb4d) ## Suggested fix Delete one of the two duplicate `<template x-if>` blocks (lines 87-93). Bonus: the two `filteredProjectList()` calls in the `x-if` expressions re-evaluate the filter on every Alpine reactivity tick; consider a single `noSearchResults()` store getter.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/a0-symbolics#99
No description provided.