Reworked the Notion UX around live page cards instead of burying actions in the Integrations panel.
Added
notioncard kind (NotionPageCard) +components/cards/NotionCard.tsx— a Notion page embedded as a note item (icon, title, excerpt). Registered as a React Flow node (NotionNodeFn); double-click opensNotionPreviewModal, which fetches the page's blocks on demand and renders them as a readable document (headings, text, to-dos, links, images).Canvas.addCardsplaces the card at the viewport center.- Notion import/export live in the canvas right-click menu (when connected): "Import Notion page…" drops a single preview card; "Export to Notion…" pushes the space to a new page. Import no longer explodes a page into many cards.
components/NotionPicker.tsx— shared page picker for import/export.
Fixed
- Centered dialogs. The picker no longer self-offsets: a plain flex wrapper
centers it and framer-motion only animates the inner card's scale (previously a
translate(-50%,-50%)on a motion element was clobbered by motion's transform). - Notion card header no longer clips the page icon (dropped the overlapping cover band for a clean padded header row).
- Dropdowns close on canvas click. TopBar / share / notifications / account menus now use capture-phase outside-click listeners, since React Flow stops propagation on pane pointer events (bubble-phase listeners never fired).
Changed
- IntegrationsPanel is back to connect/disconnect + the catalog only.