Skip to content

Implement Initial Export Panel#362

Merged
PauloMFJ merged 7 commits into
datacommonsorg:mainfrom
madebypxlp:paulo/export-panel
Jun 12, 2026
Merged

Implement Initial Export Panel#362
PauloMFJ merged 7 commits into
datacommonsorg:mainfrom
madebypxlp:paulo/export-panel

Conversation

@PauloMFJ

Copy link
Copy Markdown
Contributor

Overview

Adds a floating Export panel to the Atlas canvas, triggered from the existing Export control.

What changed

  • Export panel — new dropdown (export_panel.tsx) rendered in the InFrontOfTheCanvas slot: header, a status card, and an "Export options" grid (API Request Code, CSV, AI Narrative, AI Infographic, SVG, PNG). Opens with a prefers-motion-gated fade/scale and stops pointer/wheel events so canvas gestures don't fire underneath.
  • Selection-aware empty states — derives its state live from the canvas: no cards ("Create a prompt to begin"), cards but none selected ("No cards selected" + a Select All shortcut), or ready ("N cards selected").
  • Export context — ExportProvider / useExport (open/close/toggle) colocated in one file, wrapping the canvas and page so the panel can be opened from anywhere; the Export button in controls.tsx now toggles it with aria-haspopup/aria-expanded.
  • New icon primitives — close, select, shapes.

Screenshots

image

@PauloMFJ PauloMFJ self-assigned this Jun 10, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an export panel feature for the Atlas canvas, allowing users to export selected cards in various formats. It adds the ExportPanel component, an ExportProvider context, and integrates export actions into the canvas controls and card shapes. Additionally, typography mixins and color tokens have been updated. The feedback focuses on performance and UX improvements: splitting the export context into state and actions to prevent unnecessary card re-renders, optimizing the selected card count calculation, stopping keyboard event propagation to avoid triggering canvas shortcuts, restricting 'Select All' to card shapes, and making the shortcut label platform-aware.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread dataweaver/apps/web/src/components/scopes/atlas/shapes/card.tsx Outdated
Comment thread dataweaver/apps/web/src/components/scopes/atlas/shapes/card.tsx Outdated

@nick-nlb nick-nlb left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this as well Paulo! I've put in a couple of nits, but otherwise approved.

One of the items out of the last meeting was that the "status" section of the export (where it says "No cards selected") is functionally useful but should be smaller. We can put that in for a separate PR (along with the other deferred item mentioned in the comments.

We should make sure to track the various differed items that come out of this and other PRs so that we don't lose sight of them.

Comment thread dataweaver/apps/web/src/components/primitives/icons/close.tsx Outdated
Comment thread dataweaver/apps/web/src/configs/environment_client.ts Outdated
Comment thread dataweaver/apps/web/src/styles/includes/_typography.module.scss Outdated
@PauloMFJ PauloMFJ merged commit c60790a into datacommonsorg:main Jun 12, 2026
7 checks passed
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.

2 participants