Files
Santhosh Janardhanan 679561bcdb
Some checks failed
quality-gates / lint-and-test (push) Has been cancelled
quality-gates / security-scan (push) Has been cancelled
First deployment
2026-02-13 09:14:04 -05:00

2.1 KiB

Purpose

Canonical specification for share-and-contact-microinteractions requirements synced from OpenSpec change deltas.

Requirements

Requirement: Modal/footer exposes minimal icon-based share actions

The system SHALL provide visible, accessible icon-only share actions for article permalinks on supported providers.

Scenario: Supported share providers

  • WHEN share controls are rendered
  • THEN icons for X, WhatsApp, and LinkedIn are displayed
  • AND activating an icon opens provider share flow with the article permalink

Scenario: Light-theme icon visibility

  • WHEN the site is in light mode
  • THEN share icons remain visibly distinguishable with accessible contrast
  • AND icon controls remain keyboard focusable
  • WHEN a user activates the copy-to-clipboard share control
  • THEN the article permalink is written to clipboard
  • AND action succeeds without navigating away

The system SHALL conditionally render GitHub and contact-email links from environment-backed configuration.

Scenario: Config present

  • WHEN GitHub URL and contact email are configured
  • THEN footer renders both links as interactive controls

Scenario: Config absent

  • WHEN either value is missing
  • THEN corresponding footer control is hidden without breaking layout
  • WHEN CONTACT_EMAIL is present in frontend config payload
  • THEN footer shows the contact email affordance
  • AND hover microcopy behavior remains enabled

Requirement: Contact affordance provides randomized safe microcopy

The contact link SHALL present randomized, policy-safe helper messages to encourage feedback.

Scenario: Randomized helper tooltip

  • WHEN user hovers or nears the contact affordance
  • THEN a tooltip-style helper message is shown from a predefined safe message pool
  • AND message language avoids profanity/offensive/racist/sexist/misogynistic content