Skip to content

ENG-2083 Add schema selection panel UI for Obsidian export/import - #1262

Open
trangdoan982 wants to merge 4 commits into
eng-1975-schema-foundationfrom
eng-2083-add-schema-selection-panel-ui-for-obsidian-exportimport
Open

ENG-2083 Add schema selection panel UI for Obsidian export/import#1262
trangdoan982 wants to merge 4 commits into
eng-1975-schema-foundationfrom
eng-2083-add-schema-selection-panel-ui-for-obsidian-exportimport

Conversation

@trangdoan982

@trangdoan982 trangdoan982 commented Jul 29, 2026

Copy link
Copy Markdown
Member

https://www.loom.com/share/fe0b8ebcf08e48229a4afdb7a6cc5e43

Summary

Adds the reusable schema selection panel used by both the export and import modals.

  • SchemaSelectionModalBody.tsx — modal layout with a header slot, scrollable content area, and footer action buttons; consumed by both ExportSpecsModal and ImportSpecsModal
  • SchemaSelectionPanel.tsx — four-section checklist (node types, relation types, relation triples, templates) driven by useSchemaSelection; shows locked/required badges when an item is forced by a selected triple

Stack

PR 2 of 5 for FEE-840. Stacks on #1180.

  1. Shared foundation — ENG-1975 (ENG-1975 Define schema file contract and shared foundation for Obsidian export/import #1180)
  2. This PR — schema selection panel UI (ENG-2083)
  3. Schema export command (ENG-1976)
  4. Schema import data layer (ENG-1977)
  5. Schema import UI (ENG-2084)

Test plan

  • pnpm --filter @discourse-graphs/obsidian check-types passes
  • All four categories render with checkboxes

Open in Devin Review

@linear-code

linear-code Bot commented Jul 29, 2026

Copy link
Copy Markdown

ENG-2083

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
discourse-graph Skipped Skipped Jul 30, 2026 3:17am

Request Review

@supabase

supabase Bot commented Jul 29, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project zytfjzqyijgagqxrzbmz because there are no changes detected in packages/database/supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@trangdoan982
trangdoan982 force-pushed the eng-2083-add-schema-selection-panel-ui-for-obsidian-exportimport branch from 1e624f3 to f8e4b8d Compare July 29, 2026 02:53
@trangdoan982
trangdoan982 force-pushed the eng-2083-add-schema-selection-panel-ui-for-obsidian-exportimport branch from f8e4b8d to e9132f3 Compare July 29, 2026 02:58
@trangdoan982
trangdoan982 force-pushed the eng-2083-add-schema-selection-panel-ui-for-obsidian-exportimport branch from e9132f3 to 6eefcca Compare July 29, 2026 19:45
@graphite-app

graphite-app Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

PR size/scope check

This PR is over our review-size guideline.

  • Recommended: ~200 lines changed
  • Acceptable limit: up to 400 lines when well-scoped/self-contained
  • Preferred file count: fewer than 5 files

Please split this into smaller PRs unless there is a clear reason the changes need to land together.

If keeping it as one PR, please add a brief justification covering:

  • What single problem this PR solves
  • Why the files/changes are coupled

Comment thread apps/obsidian/src/components/SchemaSelectionPanel.tsx Outdated
…emplateToNodeTypeNames double-pass

- Remove `emptyTemplateText` prop from SchemaSelectionPanel and SchemaSelectionModalBody; hardcode "No template files found."
- Remove `beforePanel` and `afterPanel` props from SchemaSelectionModalBody (afterPanel had no callers; beforePanel is now composed as a sibling at the call site)
- Collapse templateToNodeTypeNames two-pass sort into a single sorted source array + single map-build pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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