Skip to content

[381] Tailor streams empty state to wallet status - #1359

Closed
anidroid1184 wants to merge 3 commits into
Streampay-Org:mainfrom
anidroid1184:feat/streams-disconnected-cta
Closed

[381] Tailor streams empty state to wallet status#1359
anidroid1184 wants to merge 3 commits into
Streampay-Org:mainfrom
anidroid1184:feat/streams-disconnected-cta

Conversation

@anidroid1184

@anidroid1184 anidroid1184 commented Aug 20, 2026

Copy link
Copy Markdown

Security Changes

Type of Security Change

  • SAST rule update
  • Dependency vulnerability fix
  • Exemption addition/renewal
  • Security workflow modification
  • Container image update
  • Other: UI/UX change; no security behavior modified

Vulnerability Details (if applicable)

Not applicable.

Testing

  • Ran npm audit locally
  • Security workflow passes on this branch
  • Focused test suites pass
  • Build succeeds: npm run build

Security Impact Analysis

Affected Components:

  • Other: Streams empty-state UI

Risk Assessment:

This change does not modify authentication, authorization, wallet credentials,
API endpoints, dependencies, or payment processing. It reuses the existing
wallet modal and exposes the selected provider through the existing UI contract.

Documentation Updates

  • Updated README.md
  • Updated SECURITY-CI-SETUP.md
  • Updated security-exemptions.json
  • Added TSDoc describing the wallet-state contract

Checklist

  • No secrets or keys committed
  • No PII or sensitive data added to logs
  • All security scans pass
  • Branch protection requirements met
  • Code review from security team

Additional Notes

  • Adds distinct empty states for disconnected wallets and connected users
    without streams.
  • The disconnected CTA opens the existing wallet modal.
  • Both states have distinct accessible labels.
  • /streams now renders the disconnected state on initial load.
  • No global wallet state, wallet connection logic, or fetching was introduced.

Fixes #381

Test Output

Test Suites: 3 passed, 3 total
Tests: 53 passed, 53 total

Tested suites:

app/streams/page.test.tsx
app/streams/StreamsPageContent.test.tsx
app/components/EmptyState.test.tsx

CI Run Link

Workflow Run: Pending
Security Review Required: No
Compliance Impact: No

Juan Sebastian Valencia Londono added 3 commits August 17, 2026 21:41
Add optional ariaLabel prop to EmptyState component to enable
distinguishing different empty state types for screen readers.
Add wallet-aware empty states to StreamsPageContent. When wallet
is disconnected, show connection CTA and WalletModal integration.
When wallet is connected, preserve original stream creation flow.
Both states have distinguishable aria-labels for screen readers.
Pass explicit state="empty", streams={[]}, isWalletConnected={false}
to StreamsPageContent from page.tsx so initial route load shows
wallet connection CTA. Add route-level test verifying disconnected
empty state renders with correct heading, copy, CTA, and aria-label.
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.

Add an empty-state CTA prompting wallet connect on app/streams/page.tsx

2 participants