feat: complete tree shell cutover and regression coverage

This commit is contained in:
lix-2026
2026-04-18 09:38:16 +08:00
parent d3876e56eb
commit 111a87d4fd
53 changed files with 5440 additions and 516 deletions
@@ -134,6 +134,18 @@ export function FileTree({
return (
<div
key={row.rowId}
data-testid={
row.kind === "doc"
? "filetree-doc-row"
: row.kind === "index"
? "filetree-index-row"
: row.kind === "asset-folder"
? "filetree-asset-folder-row"
: "filetree-asset-row"
}
data-row-id={row.rowId}
data-row-kind={row.kind}
data-doc-id={row.docId}
className={cn(
baseClass,
active && activeClass,
@@ -227,6 +239,7 @@ export function FileTree({
<button
type="button"
aria-label="展开或折叠"
data-testid="filetree-toggle"
onClick={(event) => {
event.stopPropagation();
onToggleExpand(row.docId);
@@ -248,6 +261,7 @@ export function FileTree({
<button
type="button"
aria-label="新建子页面"
data-testid="filetree-create"
onClick={(event) => {
event.stopPropagation();
onCreateChild(row.docId);
@@ -269,6 +283,7 @@ export function FileTree({
<button
type="button"
aria-label="展开或折叠"
data-testid="filetree-toggle"
onClick={(event) => {
event.stopPropagation();
onToggleAssetFolderExpand?.(row.asset.id);