Skip to content

Web: explain the two web-check paths in a slide-in drawer - #15

Merged
peopleworks merged 1 commit into
mainfrom
feat/web-check-explainer
Jul 24, 2026
Merged

peopleworks merged 1 commit into
mainfrom
feat/web-check-explainer

Conversation

@peopleworks

Copy link
Copy Markdown
Owner

A real user (a student, on their thesis) ran the originality web-check and wasn't sure what "nothing is sent until you click" meant, or what turning on the automatic option would change. That manual-vs-automatic choice is precisely where someone checking unpublished writing needs to know where their text goes — and the UI didn't explain it.

This adds an in-app explanation at that exact moment, as a reusable pattern.

New InfoDrawer component

A controlled, right-side slide-in panel: backdrop, close on button / backdrop / Esc, entrance animation that respects prefers-reduced-motion. It renders a Blazor overlay, never a native browser dialog, so it can't block the page. Built generic (Title, Icon, child content) so we can drop the same "explain this decision" aside anywhere else later.

The web-check explainer

A subtle "What happens to your text?" link in the web-check hint opens the drawer, which lays out both paths honestly:

  • Manual search — badge Most private. Only the passage you clicked, only when you click, straight to the search engine, never touching our server. Best for unpublished work.
  • Automatic search — where the text actually goes: browser → SignsOfAI server → Brave Search, all passages as one batch. The badge adapts: "enabled here" when the operator turned it on, "Not enabled on this server" otherwise (with a note that you'll just see the manual links, which find the same thing).
  • Bottom line: both find the same thing — the only difference is how much text leaves your device.

It names the case that prompted this: prefer the manual path for someone else's unpublished writing unless they're fine with it.

Verified

Light and dark themes (screenshots taken against a local build), backdrop-close works, the layout holds when auto search is off (the real state of the current server). dotnet build 0 warnings, 75/75 tests pass.

Separately, from the same conversation: the deployed server is live with perplexity and paraphrase ready but webSearchReady: false. Turning on automatic search is an operator step (a Brave API key in BRAVE_API_KEY), not part of this PR.

A user ran the originality web-check on a thesis and wasn't sure what the
"nothing is sent until you click" message meant, or what the automatic
option would do differently. That decision — manual vs automatic search —
is exactly where someone checking unpublished writing needs to understand
where their text goes, and the UI didn't say.

- New reusable InfoDrawer component: a controlled, right-side slide-in
  panel with a backdrop, close on button / backdrop / Esc. It renders a
  Blazor overlay, never a native dialog, so it can't block anything.
  Meant to be reused wherever a decision needs a plain-language aside.
- A "What happens to your text?" trigger in the web-check hint opens it,
  explaining both paths side by side: manual search (most private — text
  goes only to the search engine, only on click) and automatic search
  (browser → SignsOfAI server → Brave, as a batch). It adapts to whether
  the operator has enabled auto search, and says plainly that both find
  the same thing, so the only difference is how much text leaves the
  device.
- The guidance names the real case: prefer the manual path for someone
  else's unpublished writing unless they're fine with it.

Theme-aware (light and dark verified), honours prefers-reduced-motion,
0 warnings, 75/75 tests still green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@peopleworks
peopleworks merged commit 8a721e5 into main Jul 24, 2026
2 checks passed
@peopleworks
peopleworks deleted the feat/web-check-explainer branch July 24, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant