Skip to content

fix(ui): remove the dashed border from the knowledge base empty state - #58

Merged
mrsibe merged 1 commit into
mainfrom
fix/knowledge-base-empty-dashed-border
Sep 24, 2026
Merged

mrsibe merged 1 commit into
mainfrom
fix/knowledge-base-empty-dashed-border

Conversation

@mrsibe

@mrsibe mrsibe commented Sep 24, 2026

Copy link
Copy Markdown
Owner

What does this PR do?

Removes the dashed rounded border around the two empty states in the knowledge base panel (no documents / no embedding model configured).

Why?

The shared Empty primitive renders a border-dashed hairline. In the narrow knowledge base panel that outline is visual noise around an otherwise empty area, and it was called out as unwanted. The two knowledge-base empty states now opt out of it.

Scope is intentionally limited to the knowledge base: the Empty primitive still carries its dashed hairline (as documented in DESIGN.md), so the home page empty state is unchanged. Making this global instead is a one-line change in empty.tsx if preferred.

What changed?

  • DocumentList.tsx: pass className="border-none" to both Empty usages so tailwind-merge drops the dashed border.

How was this tested?

  • npm run typecheck — passes
  • npm test — 49/49 pass
  • npm run check:design — no violations
  • npx eslint src/renderer/src/components/notebook/source/DocumentList.tsx — clean

Not verified: visual check in the running app (no screenshot captured). The change only removes a border style from the existing empty-state box.

Screenshots / recordings

Not captured. The change removes the dashed outline from the knowledge base empty state; content and layout are unchanged.

Checklist

  • I have reviewed my own changes.
  • npm run typecheck passes.
  • npm run build passes. (not run; renderer-only class change)
  • I have tested the affected user workflow. (static verification only)
  • I have not included unrelated changes.
  • I have updated documentation when necessary. (not needed — DESIGN.md describes the shared primitive, which is untouched)

The Empty primitive draws a dashed rounded border. In the narrow knowledge
base panel that outline reads as visual noise around an otherwise empty area,
so the two knowledge-base empty states now opt out with border-none. The
shared primitive and its documented dashed hairline are unchanged, so the
home empty state keeps it.
@github-actions github-actions Bot added the bug Something isn't working label Sep 24, 2026
@mrsibe
mrsibe merged commit 4bb9212 into main Sep 24, 2026
4 checks passed
@mrsibe
mrsibe deleted the fix/knowledge-base-empty-dashed-border branch September 24, 2026 10:26
mrsibe added a commit that referenced this pull request Sep 24, 2026
…ents (#85)

`impeccable doctor` reports one finding (`design-md-coverage`), but reading
DESIGN.md against the code turns up several places where the document describes
something the code does not do. Those are corrected here; none of them changes a
rendered pixel.

Wrong about existing code:

- The Form field recipe said the label is `text-xs` and the control `h-8`.
  `Label` / `FieldLabel` are `text-sm font-medium`, `Input` and the `Select`
  trigger are `h-9`, and the density table already said `h-9` — the recipe was
  contradicting both the components and the table. Error text was documented as
  `text-xs`; `FieldError` is `text-sm`.
- The recipe described a hand-rolled label/input/error stack and never mentioned
  `components/ui/field.tsx`, which is what the settings surfaces actually use.
  The primitives are now named, including the `role="alert"` wiring `FieldError`
  already provides.

Missing values the code already uses:

- The title-bar density tier (28px tabs and icon buttons in a 44px bar) was
  undocumented, which made `TopNavigationBar` look like it was violating the
  `size-8` toolbar-icon-button rule instead of being a deliberate tier.
- `Tabs` was documented as having exactly one form, the segmented control. The
  open-notebook strip in the title bar is a second form, and it expresses
  selection with the translucent fill rather than a surface step.
- The `border-none` opt-out that #58 added to the panel-level empty states was
  not recorded, so the next reader would reintroduce the dashed outline there.

Also: the legacy-alias list was incomplete, and it implied `--secondary` was one
of those aliases. It is not — it holds its own literals, nothing renders it
(`Button` and `Badge` `variant="secondary"` use `bg-muted`), and its light value
is the only blue-tinted neutral in the palette. DESIGN.md now says so and marks
it for deletion rather than adoption.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant