diff --git a/client/src/App.tsx b/client/src/App.tsx index 9f8c3a6..58e2a02 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -85,13 +85,17 @@ function App() { return } - if (activeLogbookRecord?.isShared !== 1) { + if (!activeLogbookRecord) { + setActiveAccessRole(null) + return + } + + if (activeLogbookRecord.isShared !== 1) { setActiveAccessRole('OWNER') return } const cachedRole = activeLogbookRecord.collaborationRole - // Fail-closed for write UI until role is known: do not assume WRITE setActiveAccessRole( cachedRole ? parseCollaborationRole(cachedRole, `logbook ${activeLogbookId}`) : null ) @@ -418,12 +422,8 @@ function App() { const pwaInstallBanner = - const sharedLogbook = - activeLogbookRecord === undefined ? null : activeLogbookRecord.isShared === 1 const logbookReadOnly = - activeLogbookId != null && - (sharedLogbook === null || sharedLogbook) && - activeAccessRole !== 'WRITE' + activeLogbookRecord?.isShared === 1 && activeAccessRole === 'READ' if (!activeLogbookId) { return (