Add GEDCOM Import/Export UI (defaults to importing into a new tree)

An Import/Export page (sidebar) that defaults to importing into a NEW tree to avoid duplicating existing people, with an explicit 'append to this tree' option (warned), a mapping-report display (counts + skipped tags), and a one-click .ged export download.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Justin Paul <justin@jpaul.me>
This commit is contained in:
2026-06-06 22:46:48 -04:00
parent d48029a407
commit 631d050540
4 changed files with 424 additions and 1 deletions
+15 -1
View File
@@ -1,6 +1,14 @@
"use client";
import { Archive, BookText, FolderTree, Image as ImageIcon, LogOut, Users } from "lucide-react";
import {
Archive,
ArrowDownUp,
BookText,
FolderTree,
Image as ImageIcon,
LogOut,
Users,
} from "lucide-react";
import Link from "next/link";
import { usePathname, useRouter } from "next/navigation";
import { useEffect, useState } from "react";
@@ -87,6 +95,12 @@ export function AppSidebar() {
icon={ImageIcon}
active={pathname.startsWith(`/trees/${treeId}/media`)}
/>
<Item
href={`/trees/${treeId}/gedcom`}
label="Import / Export"
icon={ArrowDownUp}
active={pathname.startsWith(`/trees/${treeId}/gedcom`)}
/>
<Item
href={`/trees/${treeId}/recovery`}
label="Recovery"