From b7079f4cf3007f68fc1d64df712ac0ab5ad63dbb Mon Sep 17 00:00:00 2001 From: BD-Ali Date: Sat, 9 May 2026 00:26:18 +0300 Subject: [PATCH] fix(docs-viewer): fix operator precedence and null safety in AppContainerComponent - Fix precedence bug in fetchDocs: wrap ternary so existing selection is preserved - Guard against null selectedItem in onRemoveItemClick - Refresh filteredDocs after item removal to keep list in sync --- .../components/app-container/app-container-component.jsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/docs-viewer/src/components/app-container/app-container-component.jsx b/apps/docs-viewer/src/components/app-container/app-container-component.jsx index 5e2c9bde..494f57ef 100644 --- a/apps/docs-viewer/src/components/app-container/app-container-component.jsx +++ b/apps/docs-viewer/src/components/app-container/app-container-component.jsx @@ -19,7 +19,7 @@ export default class AppContainerComponent extends React.Component { const { selectedItem, searchTerm } = this.state; const docs = await getDocs(); const filteredDocs = await getDocs(searchTerm); - const newSelectedItem = selectedItem || docs.length > 0 ? docs[0] : null; + const newSelectedItem = selectedItem || (docs.length > 0 ? docs[0] : null); this.setState({ docs, filteredDocs, selectedItem: newSelectedItem }); }; @@ -38,11 +38,12 @@ export default class AppContainerComponent extends React.Component { }; onRemoveItemClick = async (item) => { - const { selectedItem } = this.state; + const { selectedItem, searchTerm } = this.state; const docs = await removeDoc(item); + const filteredDocs = await getDocs(searchTerm); - const newState = { docs }; - if (item.id === selectedItem.id) newState.selectedItem = docs.length > 0 ? docs[0] : null; + const newState = { docs, filteredDocs }; + if (!selectedItem || item.id === selectedItem.id) newState.selectedItem = docs.length > 0 ? docs[0] : null; this.setState(newState); };