Skip to content

Voice widget refinements: tooltips, search default, badge spacing, stop icon, page size alignment#407

Closed
fern-api[bot] wants to merge 27 commits into
Devon/call-widgetfrom
devin/1781277017-voice-widget-refinements
Closed

Voice widget refinements: tooltips, search default, badge spacing, stop icon, page size alignment#407
fern-api[bot] wants to merge 27 commits into
Devon/call-widgetfrom
devin/1781277017-voice-widget-refinements

Conversation

@fern-api

@fern-api fern-api Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Voice widget refinements based on review feedback:

  1. Search bar off by defaultshowFilter("search") returns false unless explicitly opted in via filters={{ search: true }}.

  2. Sample text → tooltip — The card transcript is now behind a 💬 hover tooltip instead of inline text, making cards significantly more compact.

  3. Tighter badge spacing.vw-badge margin adjusted to reduce the vertical gap between badge and play button/title without overlapping.

  4. Stop icon instead of pause — Playing state now shows ■ (stop) instead of ❚❚ (pause), matching the actual stop-and-restart behavior.

  5. Page sizes divisible by columns — Per-page options filtered to multiples of the column count (default 3), so the grid always fills completely.

  6. Group-by tabs hidden when provider is locked — Suppressed when provider prop is set, since grouping by provider is redundant.

  7. TTS overview simplified — Shows a single flat <VoiceWidget groupBy="none" /> with all providers and filters.

Requested by: Fern Support

… badge, hide group tabs

- Search bar now defaults to hidden (opt-in via filters={{ search: true }})
- New requireProvider prop: shows placeholder until a provider is selected
- Reduced badge-to-title vertical gap (margin: -0.25rem -0.15rem -0.45rem 0)
- Group-by toggle hidden when provider is locked or requireProvider is set
- Other filters (language, gender, pageSize) hidden while awaiting provider
- TTS overview page updated with requireProvider full-catalog widget

Co-Authored-By: bot_apk <apk@cognition.ai>
@fern-api

fern-api Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Requested by: Devon White
Slack thread: View conversation

@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

devin-ai-integration Bot and others added 6 commits June 12, 2026 15:31
…der widget

Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
@fern-api fern-api Bot changed the title Voice widget: disable search by default, add requireProvider, tighter badge, hide group tabs Voice widget refinements: tooltips, search default, badge spacing, stop icon, page size alignment Jun 12, 2026
devin-ai-integration Bot and others added 16 commits June 12, 2026 17:19
…outside card

Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
…mes, friendly meta

- Responsive minmax(300px,1fr) grid: equal-width cards at every density (fixes the
  unequal-width bug from bare 1fr); auto-fill keeps partial rows equal-size.
- Display-time cleanup (commented as pipeline-bound): name split on space-bounded dash
  (0 false positives), Intl.DisplayNames language, normalized gender, per-provider model.
- Footer: provider + real model as neutral inline-code (never --code-fg, which equals the
  accent in both themes); container-query copy switch (labeled <=2 cols, icon at 3+).
- Filter out no-preview voices; delete the disabled-card state.
- Loading skeleton mirrors the new card at matching height (zero shift) + fade/rise-in.
- a11y: aria-labels, focusable aria-describedby tooltip, :focus-visible rings, AA contrast.
- Light/dark verified against real CDN data; tsc clean.
…in fonts

- Drop the card's hover/focus z-index. It made the whole card a stacking context above the sticky
  toolbar (z-index:2), so a card scrolled partly under the toolbar painted OVER it on hover. The
  card now stays below the toolbar; the sample-text popover (z-index:30) still escapes above it on
  its own via the .vw query-container stacking context. Verified: cardZ→auto, popover still shows.
- Inherit the docs body font (Lexend + its fallback chain) instead of overriding with system-ui,
  whose Firefox fallback tofu'd non-Latin voice names (Arabic, Amharic/Ethiopic). Verified rendering.
…apping

Remove MODEL_RULES/normalizeModel (and the cap/titleWords helpers used only by them) — the
footer now renders r.model as-is instead of a title-cased/stripped variant. The raw value was
always what copy/title carried anyway, so this just shows the real model string everywhere.
The ▶ (U+25B6) and ■ (U+25A0) characters are emoji-capable and render as an OS color emoji
on some platforms (e.g. macOS Firefox) when no text font in the stack covers them. Replace
them with inline SVG (IconPlay/IconStop, currentColor-filled) so the play/stop glyph is a
crisp monochrome icon everywhere; the equalizer playing animation is unchanged.
@Devon-White

Copy link
Copy Markdown
Collaborator

Closing — the card-style design was not chosen. The Voice Widget ships in its rows layout via #414.

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