fix(client): Read-only-UI nur bei bestätigter READ-Rolle
Während des Ladens geteilter Logbücher wird Schreibzugriff nicht mehr fälschlich gesperrt; der Zugriffs-Effect setzt bei fehlendem Record kein OWNER mehr. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+7
-7
@@ -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 = <PwaInstallPrompt variant="banner" />
|
||||
|
||||
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 (
|
||||
|
||||
Reference in New Issue
Block a user