Skip to content

FamilySearch tools window: layout, editor context, and link button UX improvements#2

Merged
dsblank merged 4 commits into
functional_and_aes_upgrades_FSfrom
dsblank/fs-tools-improvements
Jun 11, 2026
Merged

FamilySearch tools window: layout, editor context, and link button UX improvements#2
dsblank merged 4 commits into
functional_and_aes_upgrades_FSfrom
dsblank/fs-tools-improvements

Conversation

@dsblank

@dsblank dsblank commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

Three improvements to the FamilySearch Tools window, built on the existing
pr-2147-fs-login integration.

1. Reorganize FamilySearch tools window layout

Before:

Screenshot from 2026-06-10 15-38-09

After:

image

Moves the FS connection status widget from the top of the window to a
bottom status bar, giving the active person name full-width prominence.
Places the Link FamilySearch ID button directly below the person name,
above the notebook tabs. Replaces the Person actions FlowBox with three
explicit rows: Compare on its own row, Sync from/Sync to on one row, and
Export to FamilySearch on its own row. This gives each action a clear
visual hierarchy and avoids buttons wrapping unpredictably at narrow widths.

2. Clear editor context when Edit Person window is closed

The tools window previously kept the person name and all action buttons
active after the Edit Person dialog was closed, because the window-destroy
signal was never handled. This change connects to destroy on the editor
window and clears _LAST_EDITOR when the tracked editor closes, triggering
an immediate UI refresh so the name resets to "(none)" and all
person-specific buttons are disabled.

3. Change Link button label and sensitivity based on FSFTID state

When an Edit Person window is open:

  • If the person already has an _FSFTID attribute, the button reads
    "Edit FamilySearch ID" and all other action buttons remain enabled.
  • If the person has no _FSFTID attribute, the button reads
    "Add FamilySearch ID" and all other action buttons are disabled
    until an ID is linked.

The FSFTID check reads from the live in-memory editor object (not the
database copy), so a freshly typed ID is detected immediately — even before
the person is saved.

Test plan

  • Open the FamilySearch Tools window with no Edit Person window open → all person-specific buttons disabled, label shows "(none)", Link button shows "Link FamilySearch ID"
  • Open Edit Person for a person without an _FSFTID attribute → Link button shows "Add FamilySearch ID", all other action buttons are disabled
  • Use "Add FamilySearch ID" to link an ID → button switches to "Edit FamilySearch ID" and other buttons become enabled
  • Open Edit Person for a person who already has an _FSFTID → Link button shows "Edit FamilySearch ID", all other buttons enabled
  • Close the Edit Person window → name resets to "(none)", all person-specific buttons disabled

🤖 Generated with Claude Code

dsblank and others added 4 commits June 10, 2026 15:48
Move the FS connection status widget from the top of the window to a
bottom status bar, giving the active person name full-width prominence.
Place the Link FamilySearch ID button directly below the person name,
above the notebook tabs. Replace the Person actions FlowBox with three
explicit rows: Compare on its own row, Sync from/to on one row, and
Export to FamilySearch on its own row.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The tools window kept the person name and buttons active after the Edit
Person dialog was closed, because the destroy signal was never handled.
Connect to destroy on the editor window and clear _LAST_EDITOR when the
tracked editor closes, triggering an immediate UI refresh so the name
resets to "(none)" and buttons are disabled.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When editing a person who already has an _FSFTID attribute the button
now reads "Edit FamilySearch ID". When the person has no _FSFTID the
button reads "Add FamilySearch ID" and all other action buttons are
disabled until the ID is linked. The FSFTID check reads from the live
in-memory editor object so a freshly added ID is detected before it
is saved to the database.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The green highlight on the Sync from FamilySearch button gave it
unwarranted prominence over the other action buttons. Remove the
suggested-action CSS class so it renders as a plain button.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dsblank dsblank merged commit c273925 into functional_and_aes_upgrades_FS Jun 11, 2026
4 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.

1 participant