feat: enhance workspace sidebar with create menu and document draft management

- Added a create menu in the WorkspaceSidebar for creating new documents (live docs, pages, whiteboards, databases, smart links, folders).
- Implemented document draft functionality to save and restore drafts for documents across various pages (ShedPage, SiloPage, SketchPage, SteadPage).
- Improved error handling in useDashboardDocuments for better user feedback on API errors.
- Introduced a NotificationBell component for displaying notifications with a read/unread state.
- Updated document update and publish logic to clear drafts upon successful updates.
- Enhanced user experience with keyboard shortcuts for editing and saving documents.
This commit is contained in:
Anurag Jangid 2026-10-23 21:54:48 +05:30
parent e905184c7f
commit eed9504a53
21 changed files with 891 additions and 125 deletions

View file

@ -320,3 +320,64 @@ Next tenant work:
- Workspace navigation now mirrors dashboard controls: “For you” links to the
dashboard, while Recent, Favourite Projects, All Projects, and Templates
use trailing chevrons and active flyout states.
- Dashboard and workspace notification bells now share the same notification
feed, unread indicator, read-state behavior, and notification panel. The
workspace header no longer displays the redundant people icon.
- Dashboard Feed activity now loads persisted per-document activity from the
collaboration API, orders it by newest event, links each event to its page,
and refreshes live every 15 seconds. Discover actions now open the existing
Templates or All Projects flyouts instead of being inert buttons.
- Dashboard workspace selection now validates the locally stored workspace ID
against the authenticated user’s workspace memberships before requesting
documents. Stale or revoked workspace IDs are cleared, and 403 membership
errors are no longer incorrectly reported as MongoDB outages.
- Authentication failures are now handled centrally: a protected API `401`
clears the stale local session and redirects to login, while protected routes
also require an access token instead of trusting only cached user metadata.
This prevents an expired token from leaving the dashboard visible while all
document and workspace requests fail.
- Page editing now follows Confluence-style keyboard actions: `E` enters edit
mode, `Ctrl/Cmd+S` updates the draft, and `Ctrl/Cmd+Enter` publishes (or
unpublishes) the page. The buttons expose the same shortcuts visually and
through `aria-keyshortcuts`, while typing in form fields or the editor does
not trigger the edit shortcut.
- Read-only page content now requires an explicit confirmation before editing:
double-clicking the content opens a “Would you like to edit this page?”
dialog, and only “Yes, edit” enables the editor. Escape and “No” leave the
page read-only.
- Workspace titles now support fast renaming: double-clicking a title enters
title-edit mode and selects the complete name, while the sidebar Rename
action preselects the full existing name. Pressing Enter commits the title
change once and stops the event from affecting page editing shortcuts.
- Unsaved edits now persist as per-document local drafts across workspace
navigation and reloads. Text pages and whiteboards restore a draft only when
it is newer than the server version, while successful Update, Publish,
history restore, archive, and delete operations clear the local draft.
- Deleting the active file from the workspace sidebar now keeps navigation
inside the workspace: it opens the parent page, a remaining sibling, or the
containing space instead of always redirecting to the dashboard.
- The workspace sidebar’s existing “Create new” button now opens the same
creation menu and uses the same page, whiteboard, space, and template
creation flows as the header Create button. Its original compact sidebar
appearance is preserved, with the menu opening upward to remain visible.
- The workspace sidebar creation menu now floats between the sidebar and the
workspace content instead of being constrained inside the sidebar. It is
aligned to the existing button and remains upward-opening and accessible
without changing the button’s appearance.
- File action menus opened from the workspace sidebar three-dot controls now
float outside the sidebar. They align to the left edge of the action button,
open downward for items with room below, and automatically open upward with
bottom-left alignment near the bottom of the list.
- Dashboard Recent Activities now includes the user’s recently visited files,
even when no separate activity event exists, and labels those fallback
entries as recently opened. The Discover something new panel no longer
displays the redundant See all button.
- Workspace editing shortcuts and title controls now apply consistently to
Silo pages, Sketch whiteboards, Shed documents, and Stead spaces. Each
supports E to edit, Ctrl/Cmd+S to update, Ctrl/Cmd+Enter to publish or
unpublish, double-click title selection, and Enter-to-commit title changes.
Stead plan controls also remain read-only until Edit mode is enabled.
- Every workspace sidebar file row now has a plus create action. Its floating
Confluence-style menu supports Live Doc, Page, Whiteboard, Database, Smart
Link, and Folder actions, creating the corresponding Silos document or
container in the current workspace context.