Преглед изворни кода

Merge pull request #25984 from overleaf/mj-breadcrumbs-filename-refresh

[web] Update breadcrumbs file name on renames

GitOrigin-RevId: 8d2f176b14880bec512a9b37c15148e10f29a758
Mathias Jakobsen пре 1 година
родитељ
комит
102b59a641

+ 10 - 1
services/web/frontend/js/features/ide-redesign/components/breadcrumbs.tsx

@@ -50,6 +50,15 @@ export default function Breadcrumbs() {
       })
   }, [openEntity, fileTreeData])
 
+  const fileName = useMemo(() => {
+    // NOTE: openEntity.entity.name may not always be accurate, so we read it
+    // from the file tree data instead.
+    if (!openEntity || !fileTreeData) {
+      return undefined
+    }
+    return findInTreeOrThrow(fileTreeData, openEntity.entity._id)?.entity.name
+  }, [fileTreeData, openEntity])
+
   const outlineHierarchy = useMemo(() => {
     if (!canShowOutline || !outline) {
       return []
@@ -73,7 +82,7 @@ export default function Breadcrumbs() {
         </Fragment>
       ))}
       <MaterialIcon unfilled type="description" />
-      <div>{openEntity.entity.name}</div>
+      <div>{fileName}</div>
       {numOutlineItems > 0 && <Chevron />}
       {outlineHierarchy.map((section, idx) => (
         <Fragment key={section.line}>