@parhelia/core 0.3.12788 → 0.3.12791
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/LanguageSelector.js +4 -1
- package/dist/components/ui/LanguageSelector.js.map +1 -1
- package/dist/components/ui/select.js +12 -1
- package/dist/components/ui/select.js.map +1 -1
- package/dist/editor/FieldHistory.js +2 -2
- package/dist/editor/FieldHistory.js.map +1 -1
- package/dist/editor/ai/InlineAiDialog.js +35 -8
- package/dist/editor/ai/InlineAiDialog.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentProjectProgress.d.ts +4 -3
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js +34 -50
- package/dist/editor/ai/terminal/components/AgentProjectProgress.js.map +1 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.d.ts +2 -1
- package/dist/editor/ai/terminal/components/AgentTerminalView.js +2 -2
- package/dist/editor/ai/terminal/components/AgentTerminalView.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalController.js +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalController.js.map +1 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.d.ts +1 -0
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js +2 -1
- package/dist/editor/ai/terminal/useAgentTerminalViewProps.js.map +1 -1
- package/dist/editor/bridge/protocol.d.ts +4 -0
- package/dist/editor/bridge/protocol.js +1 -0
- package/dist/editor/bridge/protocol.js.map +1 -1
- package/dist/editor/client/EditorShell.js +174 -65
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +13 -3
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/hooks/activeSessionSnapshots.d.ts +2 -0
- package/dist/editor/client/hooks/activeSessionSnapshots.js +43 -0
- package/dist/editor/client/hooks/activeSessionSnapshots.js.map +1 -0
- package/dist/editor/client/hooks/feedbackSocketState.js +3 -0
- package/dist/editor/client/hooks/feedbackSocketState.js.map +1 -1
- package/dist/editor/client/hooks/operationRefreshDeduplication.d.ts +22 -0
- package/dist/editor/client/hooks/operationRefreshDeduplication.js +45 -0
- package/dist/editor/client/hooks/operationRefreshDeduplication.js.map +1 -0
- package/dist/editor/client/hooks/socketMessageRetention.d.ts +7 -0
- package/dist/editor/client/hooks/socketMessageRetention.js +11 -0
- package/dist/editor/client/hooks/socketMessageRetention.js.map +1 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +39 -19
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/hooks/useWorkbox.d.ts +4 -0
- package/dist/editor/client/hooks/useWorkbox.js +132 -2
- package/dist/editor/client/hooks/useWorkbox.js.map +1 -1
- package/dist/editor/client/itemsRepository.d.ts +7 -1
- package/dist/editor/client/itemsRepository.js +41 -18
- package/dist/editor/client/itemsRepository.js.map +1 -1
- package/dist/editor/client/operations.d.ts +7 -3
- package/dist/editor/client/operations.js +216 -150
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/pageModelBuilder.js +15 -3
- package/dist/editor/client/pageModelBuilder.js.map +1 -1
- package/dist/editor/client/sidebarAvailability.d.ts +4 -0
- package/dist/editor/client/sidebarAvailability.js +15 -0
- package/dist/editor/client/sidebarAvailability.js.map +1 -1
- package/dist/editor/commands/itemCommands.js +1 -1
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/field-types/RichTextEditorComponent.js +6 -1
- package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +2 -3
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +6 -1
- package/dist/editor/field-types/richtext/components/ReactSlate.js +91 -5
- package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
- package/dist/editor/field-types/singleLineTextValue.d.ts +3 -0
- package/dist/editor/field-types/singleLineTextValue.js +9 -0
- package/dist/editor/field-types/singleLineTextValue.js.map +1 -0
- package/dist/editor/menubar/ItemLanguageVersion.js +1 -1
- package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
- package/dist/editor/menubar/VersionSelector.js +18 -6
- package/dist/editor/menubar/VersionSelector.js.map +1 -1
- package/dist/editor/menubar/WorkflowButton.js +8 -3
- package/dist/editor/menubar/WorkflowButton.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.js +1 -1
- package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
- package/dist/editor/notifications/NotificationCenter.js +26 -7
- package/dist/editor/notifications/NotificationCenter.js.map +1 -1
- package/dist/editor/notifications/useNotifications.d.ts +3 -1
- package/dist/editor/notifications/useNotifications.js +27 -9
- package/dist/editor/notifications/useNotifications.js.map +1 -1
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js +18 -0
- package/dist/editor/page-editor-chrome/BridgeInlineFormatOverlay.js.map +1 -1
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js +30 -8
- package/dist/editor/page-editor-chrome/InlineFieldHistoryButton.js.map +1 -1
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +30 -8
- package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -1
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.d.ts +5 -3
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js +111 -19
- package/dist/editor/page-editor-chrome/useBridgeInlineEditing.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.d.ts +2 -1
- package/dist/editor/page-viewer/EditorForm.js +41 -12
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewer.d.ts +2 -0
- package/dist/editor/page-viewer/PageViewer.js +11 -2
- package/dist/editor/page-viewer/PageViewer.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +237 -42
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/page-viewer/bridgeInlineAiSelection.d.ts +17 -0
- package/dist/editor/page-viewer/bridgeInlineAiSelection.js +80 -0
- package/dist/editor/page-viewer/bridgeInlineAiSelection.js.map +1 -0
- package/dist/editor/page-viewer/bridgeInlineEditCommit.d.ts +18 -0
- package/dist/editor/page-viewer/bridgeInlineEditCommit.js +24 -0
- package/dist/editor/page-viewer/bridgeInlineEditCommit.js.map +1 -0
- package/dist/editor/page-viewer/bridgeInlineEditSession.d.ts +3 -0
- package/dist/editor/page-viewer/bridgeInlineEditSession.js +30 -0
- package/dist/editor/page-viewer/bridgeInlineEditSession.js.map +1 -1
- package/dist/editor/page-viewer/bridgeItemChangeTarget.d.ts +9 -0
- package/dist/editor/page-viewer/bridgeItemChangeTarget.js +38 -0
- package/dist/editor/page-viewer/bridgeItemChangeTarget.js.map +1 -0
- package/dist/editor/page-viewer/bridgePointerDragRelease.d.ts +31 -0
- package/dist/editor/page-viewer/bridgePointerDragRelease.js +32 -0
- package/dist/editor/page-viewer/bridgePointerDragRelease.js.map +1 -0
- package/dist/editor/page-viewer/renderUrl.d.ts +8 -0
- package/dist/editor/page-viewer/renderUrl.js +10 -0
- package/dist/editor/page-viewer/renderUrl.js.map +1 -1
- package/dist/editor/personalization/PersonalizationPanel.js +52 -25
- package/dist/editor/personalization/PersonalizationPanel.js.map +1 -1
- package/dist/editor/reviews/Comment.js +3 -1
- package/dist/editor/reviews/Comment.js.map +1 -1
- package/dist/editor/reviews/CommentDisplayPopover.js +2 -0
- package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
- package/dist/editor/reviews/Comments.js +16 -3
- package/dist/editor/reviews/Comments.js.map +1 -1
- package/dist/editor/reviews/SuggestedEdit.js +25 -2
- package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
- package/dist/editor/reviews/SuggestionCommentThread.js +2 -0
- package/dist/editor/reviews/SuggestionCommentThread.js.map +1 -1
- package/dist/editor/reviews/applySuggestedEditActions.js +105 -25
- package/dist/editor/reviews/applySuggestedEditActions.js.map +1 -1
- package/dist/editor/reviews/commentState.d.ts +4 -0
- package/dist/editor/reviews/commentState.js +15 -0
- package/dist/editor/reviews/commentState.js.map +1 -0
- package/dist/editor/reviews/feedbackOrdering.d.ts +1 -0
- package/dist/editor/reviews/feedbackOrdering.js +6 -0
- package/dist/editor/reviews/feedbackOrdering.js.map +1 -1
- package/dist/editor/reviews/suggestionContentChange.d.ts +7 -0
- package/dist/editor/reviews/suggestionContentChange.js +10 -0
- package/dist/editor/reviews/suggestionContentChange.js.map +1 -1
- package/dist/editor/reviews/suggestionPatch.js +6 -0
- package/dist/editor/reviews/suggestionPatch.js.map +1 -1
- package/dist/editor/services/personalizationService.js +30 -6
- package/dist/editor/services/personalizationService.js.map +1 -1
- package/dist/editor/services/suggestedEditsService.d.ts +1 -0
- package/dist/editor/services/suggestedEditsService.js +3 -0
- package/dist/editor/services/suggestedEditsService.js.map +1 -1
- package/dist/editor/settings/SettingsView.js +15 -7
- package/dist/editor/settings/SettingsView.js.map +1 -1
- package/dist/editor/settings/panels/MemoriesPanel.js +3 -2
- package/dist/editor/settings/panels/MemoriesPanel.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.d.ts +3 -0
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +84 -15
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/settings/panels/projectTemplateDuplication.d.ts +5 -0
- package/dist/editor/settings/panels/projectTemplateDuplication.js +52 -0
- package/dist/editor/settings/panels/projectTemplateDuplication.js.map +1 -0
- package/dist/editor/ui/PerfectTree.js +2 -2
- package/dist/editor/ui/PerfectTree.js.map +1 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js +9 -1
- package/dist/editor/ui/PublishRestrictionsDialog.js.map +1 -1
- package/dist/editor/utils.js +5 -2
- package/dist/editor/utils.js.map +1 -1
- package/dist/editor/views/EditorSlot.js +5 -1
- package/dist/editor/views/EditorSlot.js.map +1 -1
- package/dist/editor/views/SingleEditView.d.ts +4 -1
- package/dist/editor/views/SingleEditView.js +2 -2
- package/dist/editor/views/SingleEditView.js.map +1 -1
- package/dist/licensing/LicenseContext.js +7 -0
- package/dist/licensing/LicenseContext.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +5 -1
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/taskExecutionRecords.js +7 -0
- package/dist/task-board/taskExecutionRecords.js.map +1 -1
- package/dist/task-board/views/DependencyGraphView.d.ts +1 -0
- package/dist/task-board/views/DependencyGraphView.js +15 -12
- package/dist/task-board/views/DependencyGraphView.js.map +1 -1
- package/package.json +1 -1
|
@@ -71,7 +71,7 @@ export function ItemLanguageVersion({ hideFavorites = false, hideActions = false
|
|
|
71
71
|
editContext.setPreviewDate(undefined);
|
|
72
72
|
editContext.loadItem({ ...item, version });
|
|
73
73
|
} })) : null;
|
|
74
|
-
const languageVersionSelectors = !isCompareMode && (languageSelector || versionSelector) ? (_jsxs("div", { className: "flex
|
|
74
|
+
const languageVersionSelectors = !isCompareMode && (languageSelector || versionSelector) ? (_jsxs("div", { className: "flex w-max flex-none items-center gap-2", children: [languageSelector && (_jsx("div", { className: "flex flex-none", children: languageSelector })), languageSelector && versionSelector && (_jsx(Separator, { size: "large", spacing: "none" })), versionSelector && _jsx("div", { className: "flex-none", children: versionSelector })] })) : null;
|
|
75
75
|
if (editContext.isMobile) {
|
|
76
76
|
return (_jsxs("div", { className: "mr-1 flex w-full min-w-0 items-center gap-1", children: [_jsx(PageSelector, { itemDescriptor: item || null }), languageVersionSelectors && _jsx(Separator, { size: "large", spacing: "none" }), languageVersionSelectors] }));
|
|
77
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemLanguageVersion.js","sourceRoot":"","sources":["../../../src/editor/menubar/ItemLanguageVersion.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ItemLanguageVersion.js","sourceRoot":"","sources":["../../../src/editor/menubar/ItemLanguageVersion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,8 @@ function VersionStatusTags({ version, isMobile, }) {
|
|
|
57
57
|
}
|
|
58
58
|
export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelected, readOnly, versions, isLoading, showVersionPreviews = true, previewDateActive = false, publishRestrictionsItem, triggerClassName, }) {
|
|
59
59
|
const [open, setOpen] = React.useState(false);
|
|
60
|
+
const [creatingVersion, setCreatingVersion] = React.useState(false);
|
|
61
|
+
const creatingVersionRef = React.useRef(false);
|
|
60
62
|
const editContext = useEditContext();
|
|
61
63
|
if (itemDescriptor == null)
|
|
62
64
|
return;
|
|
@@ -100,10 +102,20 @@ export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelect
|
|
|
100
102
|
setOpen(false);
|
|
101
103
|
};
|
|
102
104
|
const handleCreateVersion = async () => {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
if (creatingVersionRef.current)
|
|
106
|
+
return;
|
|
107
|
+
creatingVersionRef.current = true;
|
|
108
|
+
setCreatingVersion(true);
|
|
109
|
+
try {
|
|
110
|
+
await editContext?.executeCommand({
|
|
111
|
+
command: getCreateAndSwitchToNewVersionCommand({}),
|
|
112
|
+
});
|
|
113
|
+
setOpen(false);
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
creatingVersionRef.current = false;
|
|
117
|
+
setCreatingVersion(false);
|
|
118
|
+
}
|
|
107
119
|
};
|
|
108
120
|
const handleDeleteVersion = async () => {
|
|
109
121
|
await editContext?.executeCommand({
|
|
@@ -152,11 +164,11 @@ export function VersionSelector({ itemDescriptor, actualVersion, onVersionSelect
|
|
|
152
164
|
"data-[selected=true]:bg-transparent",
|
|
153
165
|
// Force hover styles to override selected state
|
|
154
166
|
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!", !canOpenPublishRestrictions &&
|
|
155
|
-
"cursor-not-allowed opacity-50"), "data-testid": "publish-restrictions-button", children: [_jsx(Clock3, { className: "text-neutral-grey-100 h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Publish restrictions" })] })), publishRestrictionsItem && !readOnly && (_jsx("div", { className: "border-border-default my-1 border-t" })), !readOnly && (_jsxs(_Fragment, { children: [_jsxs(CommandItem, { onSelect: handleCreateVersion, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
167
|
+
"cursor-not-allowed opacity-50"), "data-testid": "publish-restrictions-button", children: [_jsx(Clock3, { className: "text-neutral-grey-100 h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Publish restrictions" })] })), publishRestrictionsItem && !readOnly && (_jsx("div", { className: "border-border-default my-1 border-t" })), !readOnly && (_jsxs(_Fragment, { children: [_jsxs(CommandItem, { onSelect: handleCreateVersion, disabled: creatingVersion, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
156
168
|
// Remove background when selected (auto-focused) but not hovered
|
|
157
169
|
"data-[selected=true]:bg-transparent",
|
|
158
170
|
// Force hover styles to override selected state
|
|
159
|
-
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!"), "data-testid": "version-selector-add-version", children: [_jsx(Plus, { className: "text-neutral-grey-100 h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Add Version" })] }), _jsxs(CommandItem, { onSelect: handleDeleteVersion, disabled: versions.length === 0, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
171
|
+
"[&:hover]:bg-accent! [&:hover]:text-accent-foreground!", creatingVersion && "cursor-not-allowed opacity-50"), "data-testid": "version-selector-add-version", children: [_jsx(Plus, { className: "text-neutral-grey-100 h-4 w-4", strokeWidth: 1 }), _jsx("span", { children: "Add Version" })] }), _jsxs(CommandItem, { onSelect: handleDeleteVersion, disabled: versions.length === 0, className: cn("flex items-center gap-2 px-2 py-2 text-xs",
|
|
160
172
|
// Remove background when selected (auto-focused) but not hovered
|
|
161
173
|
"data-[selected=true]:bg-transparent",
|
|
162
174
|
// Force hover styles to override selected state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionSelector.js","sourceRoot":"","sources":["../../../src/editor/menubar/VersionSelector.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,qCAAqC,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,wFAAwF;AACxF,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAE/C,SAAS,qBAAqB,CAAC,QAAwB;IACrD,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,IAAI,EAAE,CAAC;IAEjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACxC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAwB;IACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,OAAO,EACP,QAAQ,GAIT;IACC,MAAM,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC;IACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,aAAa;QAC7B,CAAC,CAAC,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,IACE,CAAC,OAAO,CAAC,WAAW;QACpB,CAAC,OAAO,CAAC,aAAa;QACtB,CAAC,YAAY,EAAE,WAAW;QAC1B,CAAC,SAAS;QACV,CAAC,OAAO,EACR,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,2CAA2C,aACvD,OAAO,CAAC,WAAW,IAAI,CACtB,KAAC,KAAK,IACJ,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,6CAA6C,EACvD,KAAK,EACH,gBAAgB,CAAC,MAAM;oBACrB,CAAC,CAAC,gBAAgB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC/C,CAAC,CAAC,WAAW,iBAEL,gCAAgC,YAE3C,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GACzB,CACT,EACA,YAAY,EAAE,WAAW,IAAI,CAC5B,KAAC,KAAK,IACJ,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,UAAU,EACpB,KAAK,EAAC,yCAAyC,iBACnC,kCAAkC,uBAGxC,CACT,EACA,SAAS,IAAI,CACZ,MAAC,KAAK,IACJ,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,cAAc,SAAS,EAAE,iBACpB,kCAAkC,sBAExC,SAAS,IACT,CACT,EACA,OAAO,IAAI,CACV,MAAC,KAAK,IACJ,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,YAAY,OAAO,EAAE,iBAChB,kCAAkC,oBAE1C,OAAO,IACL,CACT,EACA,OAAO,CAAC,aAAa,IAAI,CACxB,KAAC,KAAK,IACJ,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,EAAE,CACX,OAAO,CAAC,YAAY;oBAClB,6CAA6C,CAChD,EACD,KAAK,EAAE,mBAAmB,OAAO,CAAC,aAAa,EAAE,iBACrC,+BAA+B,YAE1C,OAAO,CAAC,aAAa,GAChB,CACT,IACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,mBAAmB,GAAG,IAAI,EAC1B,iBAAiB,GAAG,KAAK,EACzB,uBAAuB,EACvB,gBAAgB,GAYjB;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,cAAc,IAAI,IAAI;QAAE,OAAO;IAEnC,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC;IAChC,MAAM,YAAY,GAChB,gCAAgC;QAChC,mBAAmB;QACnB,IAAI;QACJ,CAAC,WAAW,EAAE,QAAQ;QACtB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,MAAM,eAAe,GAAG,iBAAiB;QACvC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;IAC3B,MAAM,0BAA0B,GAC9B,CAAC,CAAC,uBAAuB;QACzB,CAAC,QAAQ;QACT,uBAAuB,CAAC,YAAY;QACpC,uBAAuB,CAAC,gBAAgB;QACxC,uBAAuB,CAAC,gBAAgB,CAAC;IAE3C,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,WAAW,EAAE,QAAQ,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;YACzC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,CAAC;YACD,IAAI,cAAc,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,CAAC;YACD,OAAO,KAAK,cAAc,CAAC,OAAO,GAAG,CAAC;QACxC,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC,CAAC,CAAC,YAAY,aAAa,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;QACrE,CAAC;QACD,IAAI,cAAc,CAAC,OAAO,KAAK,CAAC;YAC9B,OAAO,CACL,gBAAgB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACrE,CAAC;QACJ,OAAO,WAAW,GAAG,cAAc,CAAC,OAAO,GAAG,GAAG,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QAC9C,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;QACrC,MAAM,WAAW,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"VersionSelector.js","sourceRoot":"","sources":["../../../src/editor/menubar/VersionSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,17 +9,23 @@ import { Spinner } from "../ui/Spinner";
|
|
|
9
9
|
import { PublishDialog } from "../ui/PublishDialog";
|
|
10
10
|
export function WorkflowButton() {
|
|
11
11
|
const editContext = useEditContext();
|
|
12
|
-
const indicatorClassName = "shrink-0";
|
|
13
12
|
if (!editContext?.currentItemDescriptor)
|
|
14
13
|
return null;
|
|
15
14
|
if (editContext?.user?.isLimitedPreviewUser)
|
|
16
15
|
return null;
|
|
16
|
+
const isMobile = editContext.isMobile;
|
|
17
|
+
const indicatorClassName = cn("shrink-0",
|
|
18
|
+
// The loading spinner used to collapse this slot from the desktop publish
|
|
19
|
+
// button width to 16px. That shifted the entire titlebar while pointer
|
|
20
|
+
// interactions were already in flight and could move language/version
|
|
21
|
+
// selectors underneath a neighbouring control.
|
|
22
|
+
!isMobile && "min-w-24");
|
|
17
23
|
// Find the current item in workboxItems to get its workflow commands
|
|
18
24
|
const currentWorkboxItem = editContext.workboxItems?.find((item) => item.item.id === editContext.item?.id &&
|
|
19
25
|
item.item.language === editContext.item?.language &&
|
|
20
26
|
item.item.version === editContext.item?.version);
|
|
21
27
|
if (editContext.isWorkboxLoading) {
|
|
22
|
-
return (_jsx("div", { className: indicatorClassName, "data-testid": "publish-status-indicator", children: _jsx(Spinner, { size: "sm" }) }));
|
|
28
|
+
return (_jsx("div", { className: cn(indicatorClassName, "flex items-center justify-center"), "data-testid": "publish-status-indicator", children: _jsx(Spinner, { size: "sm" }) }));
|
|
23
29
|
}
|
|
24
30
|
const workflowCommands = currentWorkboxItem?.workflowCommands || [];
|
|
25
31
|
// Create tooltip content with publish status information
|
|
@@ -62,7 +68,6 @@ export function WorkflowButton() {
|
|
|
62
68
|
}
|
|
63
69
|
return lines.join("\n") || "No status information available";
|
|
64
70
|
};
|
|
65
|
-
const isMobile = editContext?.isMobile ?? false;
|
|
66
71
|
const workflowButtonColorClassName = currentWorkboxItem?.isFinalState
|
|
67
72
|
? "bg-feedback-green hover:bg-feedback-green"
|
|
68
73
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowButton.js","sourceRoot":"","sources":["../../../src/editor/menubar/WorkflowButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowButton.js","sourceRoot":"","sources":["../../../src/editor/menubar/WorkflowButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -58,7 +58,7 @@ export function EditControls({ hideSuggestions, hidePreview, } = {}) {
|
|
|
58
58
|
if (!editContext)
|
|
59
59
|
return null;
|
|
60
60
|
const isPreview = editContext.mode === "preview";
|
|
61
|
-
return (_jsxs(_Fragment, { children: [!hidePreview && (_jsxs("div", { className: cn("flex shrink-0 items-center", !isPreview && "gap-2"), children: [isPreview && _jsx(Separator, { size: "large" }), _jsx(PreviewModeControl, {}), _jsx(AnimatedPreviewDatePicker, { show: isPreview }),
|
|
61
|
+
return (_jsxs(_Fragment, { children: [!hidePreview && (_jsxs("div", { className: cn("flex shrink-0 items-center", !isPreview && "gap-2"), children: [isPreview && _jsx(Separator, { size: "large" }), _jsx(PreviewModeControl, {}), _jsx(AnimatedPreviewDatePicker, { show: isPreview }), _jsx(FullscreenControl, {})] })), !hideSuggestions && _jsx(SuggestionsModeControl, {})] }));
|
|
62
62
|
}
|
|
63
63
|
export function SuggestionsModeControl({ leadingSeparator = false, } = {}) {
|
|
64
64
|
const editContext = useEditContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditControls.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/EditControls.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EditControls.js","sourceRoot":"","sources":["../../../../src/editor/menubar/toolbar-sections/EditControls.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Bell, CheckCheck, CircleCheck, Inbox, Loader2
|
|
3
|
-
import { useState } from "react";
|
|
2
|
+
import { Bell, CheckCheck, CircleCheck, Inbox, Loader2 } from "lucide-react";
|
|
3
|
+
import { useRef, useState } from "react";
|
|
4
4
|
import { toast } from "sonner";
|
|
5
5
|
import { useEditContext } from "../client/editContext";
|
|
6
6
|
import { Button } from "../../components/ui/button";
|
|
@@ -23,7 +23,9 @@ export function NotificationCenter(props) {
|
|
|
23
23
|
const [showAll, setShowAll] = useState(false);
|
|
24
24
|
const [markingAllRead, setMarkingAllRead] = useState(false);
|
|
25
25
|
const [unsubscribingId, setUnsubscribingId] = useState(null);
|
|
26
|
-
const
|
|
26
|
+
const [refreshingOnOpen, setRefreshingOnOpen] = useState(false);
|
|
27
|
+
const openRefreshSequence = useRef(0);
|
|
28
|
+
const { notifications, subscriptions, unreadCount, loading, loadingMore, hasMore, loadMore, refresh, markRead, markAllRead, unsubscribe, } = useNotifications(editContext, { showAll });
|
|
27
29
|
const hasNotifications = notifications.length > 0;
|
|
28
30
|
const isWatchingTarget = Boolean(watchTarget &&
|
|
29
31
|
subscriptions.some((subscription) => subscription.targetType.toLowerCase() === watchTarget.targetType &&
|
|
@@ -32,6 +34,23 @@ export function NotificationCenter(props) {
|
|
|
32
34
|
const triggerTooltip = unreadCount > 0
|
|
33
35
|
? `Notifications (${unreadCount > 99 ? "99+" : unreadCount} unread)`
|
|
34
36
|
: "Notifications";
|
|
37
|
+
const handleOpenChange = (nextOpen) => {
|
|
38
|
+
setOpen(nextOpen);
|
|
39
|
+
const sequence = ++openRefreshSequence.current;
|
|
40
|
+
if (!nextOpen) {
|
|
41
|
+
setRefreshingOnOpen(false);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Realtime delivery is an optimization, not the source of truth. Force a
|
|
45
|
+
// server read before exposing actions so a delayed socket message cannot
|
|
46
|
+
// leave an older row clickable after a newer notification was committed.
|
|
47
|
+
setRefreshingOnOpen(true);
|
|
48
|
+
void refresh({ force: true }).finally(() => {
|
|
49
|
+
if (openRefreshSequence.current === sequence) {
|
|
50
|
+
setRefreshingOnOpen(false);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
};
|
|
35
54
|
const handleOpenNotification = async (notification) => {
|
|
36
55
|
const action = resolveNotificationAction(editContext, notification);
|
|
37
56
|
if (!action)
|
|
@@ -73,12 +92,12 @@ export function NotificationCenter(props) {
|
|
|
73
92
|
setMarkingAllRead(false);
|
|
74
93
|
}
|
|
75
94
|
};
|
|
76
|
-
return (_jsxs(Popover, { open: open, onOpenChange:
|
|
95
|
+
return (_jsxs(Popover, { open: open, onOpenChange: handleOpenChange, children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { size: "iconSm", variant: "ghost", className: cn("aria-expanded:bg-neutral-grey-5 aria-expanded:text-neutral-grey-100 aria-expanded:hover:bg-neutral-grey-5 aria-expanded:hover:text-neutral-grey-100 relative", isWatchingTarget &&
|
|
77
96
|
"bg-neutral-grey-5 text-neutral-grey-100 hover:bg-neutral-grey-5"), "aria-label": triggerTooltip, "data-testid": "notification-center-trigger", children: [_jsx(Bell, { strokeWidth: 1, className: "h-4 w-4" }), unreadCount > 0 && (_jsx("span", { className: "bg-neutral-grey-100 absolute -top-1 -right-1 min-w-[16px] rounded-full px-1 text-center text-[10px] leading-4 font-medium text-white", children: unreadCount > 99 ? "99+" : unreadCount }))] }) }) }), _jsx(TooltipContent, { children: triggerTooltip })] }), _jsxs(PopoverContent, { align: "end", className: "w-[400px] overflow-hidden rounded-xl p-0 shadow-lg", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 border-b px-4 py-3", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: "text-neutral-grey-100 text-base font-semibold", children: "Notifications" }), unreadCount > 0 ? (_jsx(CountBadge, { children: unreadCount > 99 ? "99+" : unreadCount })) : null] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [_jsx("div", { className: "bg-neutral-grey-5 flex items-center gap-0.5 rounded-lg p-0.5", "data-testid": "notification-center-toggle-filter", children: filterOptions.map((option) => (_jsx("button", { type: "button", onClick: () => setShowAll(option.showAll), className: `rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${showAll === option.showAll
|
|
78
97
|
? "text-neutral-grey-100 bg-white shadow-sm"
|
|
79
|
-
: "text-neutral-grey-50 hover:text-neutral-grey-100"}`, "data-testid": `notification-center-filter-${option.label.toLowerCase()}`, children: option.label }, option.label))) }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { size: "iconSm", variant: "ghost", className: "text-neutral-grey-100", "aria-label": "Mark all as read", disabled: unreadCount === 0 || markingAllRead, onClick: () => void handleMarkAllRead(), "data-testid": "notification-center-mark-all-read", children: markingAllRead ? (_jsx(Loader2, { strokeWidth: 1, className: "size-4 animate-spin" })) : (_jsx(CheckCheck, { strokeWidth: 1, className: "size-4" })) }) }), _jsx(TooltipContent, { children: "Mark all as read" })] })] })] }), _jsxs("div", { className: "max-h-[360px] overflow-y-auto overscroll-contain", "data-testid": "notification-center-list", children: [loading && !hasNotifications ? (_jsxs("div", { className: "text-neutral-grey-50 flex items-center justify-center gap-2 py-12 text-xs", children: [_jsx(Loader2, { strokeWidth: 1, className: "size-4 animate-spin" }), "Loading notifications..."] })) : null, !loading && !hasNotifications ? (_jsxs("div", { className: "flex flex-col items-center px-6 py-12 text-center", children: [showAll ? (_jsx(Inbox, { className: "text-neutral-grey-50 size-10", strokeWidth: 1 })) : (_jsx(CircleCheck, { className: "text-feedback-green size-10", strokeWidth: 1 })), _jsx("div", { className: "text-neutral-grey-100 mt-4 text-sm font-semibold", children: showAll ? "No notifications yet" : "You're all caught up" }), _jsx("div", { className: "text-neutral-grey-50 mt-1 text-xs", children: showAll
|
|
98
|
+
: "text-neutral-grey-50 hover:text-neutral-grey-100"}`, "data-testid": `notification-center-filter-${option.label.toLowerCase()}`, children: option.label }, option.label))) }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { size: "iconSm", variant: "ghost", className: "text-neutral-grey-100", "aria-label": "Mark all as read", disabled: unreadCount === 0 || markingAllRead, onClick: () => void handleMarkAllRead(), "data-testid": "notification-center-mark-all-read", children: markingAllRead ? (_jsx(Loader2, { strokeWidth: 1, className: "size-4 animate-spin" })) : (_jsx(CheckCheck, { strokeWidth: 1, className: "size-4" })) }) }), _jsx(TooltipContent, { children: "Mark all as read" })] })] })] }), _jsxs("div", { className: "max-h-[360px] overflow-y-auto overscroll-contain", "data-testid": "notification-center-list", children: [refreshingOnOpen || (loading && !hasNotifications) ? (_jsxs("div", { className: "text-neutral-grey-50 flex items-center justify-center gap-2 py-12 text-xs", children: [_jsx(Loader2, { strokeWidth: 1, className: "size-4 animate-spin" }), "Loading notifications..."] })) : null, !refreshingOnOpen && !loading && !hasNotifications ? (_jsxs("div", { className: "flex flex-col items-center px-6 py-12 text-center", children: [showAll ? (_jsx(Inbox, { className: "text-neutral-grey-50 size-10", strokeWidth: 1 })) : (_jsx(CircleCheck, { className: "text-feedback-green size-10", strokeWidth: 1 })), _jsx("div", { className: "text-neutral-grey-100 mt-4 text-sm font-semibold", children: showAll ? "No notifications yet" : "You're all caught up" }), _jsx("div", { className: "text-neutral-grey-50 mt-1 text-xs", children: showAll
|
|
80
99
|
? "Updates for items you watch will show up here."
|
|
81
|
-
: "New notifications will show up here." })] })) : null, hasNotifications ? (_jsx("div", { className: "divide-border-default/70 divide-y", children: notifications.map((notification) => {
|
|
100
|
+
: "New notifications will show up here." })] })) : null, !refreshingOnOpen && hasNotifications ? (_jsx("div", { className: "divide-border-default/70 divide-y", children: notifications.map((notification) => {
|
|
82
101
|
const target = resolveNotificationSubscriptionTarget(notification);
|
|
83
102
|
const isSubscribed = Boolean(target &&
|
|
84
103
|
subscriptions.some((subscription) => subscription.targetType.toLowerCase() ===
|
|
@@ -94,6 +113,6 @@ export function NotificationCenter(props) {
|
|
|
94
113
|
void handleUnsubscribe(notification);
|
|
95
114
|
}
|
|
96
115
|
: undefined, unsubscribeDisabled: unsubscribingId === notification.id }, notification.id));
|
|
97
|
-
}) })) : null, hasNotifications && hasMore ? (_jsx("div", { className: "border-t p-1.5", children: _jsx(Button, { size: "sm", variant: "ghost", className: "text-neutral-grey-50 hover:text-neutral-grey-100 h-7 w-full justify-center text-xs font-normal", disabled: loadingMore, onClick: () => void loadMore(), "data-testid": "notification-center-load-more", children: loadingMore ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { strokeWidth: 1, className: "size-3.5 animate-spin" }), "Loading more..."] })) : ("Load more") }) })) : null] }), watchTarget ? (_jsx(WatchMenuSection, { targetType: watchTarget.targetType, targetId: watchTarget.targetId })) : null] })] }));
|
|
116
|
+
}) })) : null, !refreshingOnOpen && hasNotifications && hasMore ? (_jsx("div", { className: "border-t p-1.5", children: _jsx(Button, { size: "sm", variant: "ghost", className: "text-neutral-grey-50 hover:text-neutral-grey-100 h-7 w-full justify-center text-xs font-normal", disabled: loadingMore, onClick: () => void loadMore(), "data-testid": "notification-center-load-more", children: loadingMore ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { strokeWidth: 1, className: "size-3.5 animate-spin" }), "Loading more..."] })) : ("Load more") }) })) : null] }), watchTarget ? (_jsx(WatchMenuSection, { targetType: watchTarget.targetType, targetId: watchTarget.targetId })) : null] })] }));
|
|
98
117
|
}
|
|
99
118
|
//# sourceMappingURL=NotificationCenter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationCenter.js","sourceRoot":"","sources":["../../../src/editor/notifications/NotificationCenter.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"NotificationCenter.js","sourceRoot":"","sources":["../../../src/editor/notifications/NotificationCenter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,9 @@ export declare function useNotifications(editContext?: EditContextType | null, o
|
|
|
20
20
|
loading: boolean;
|
|
21
21
|
loadingMore: boolean;
|
|
22
22
|
hasMore: boolean;
|
|
23
|
-
refresh: (
|
|
23
|
+
refresh: (refreshOptions?: {
|
|
24
|
+
force?: boolean;
|
|
25
|
+
}) => Promise<void>;
|
|
24
26
|
loadMore: () => Promise<void>;
|
|
25
27
|
markRead: (id: string) => Promise<boolean>;
|
|
26
28
|
markAllRead: () => Promise<boolean>;
|
|
@@ -18,17 +18,19 @@ const DEFAULT_PAGE_SIZE = 50;
|
|
|
18
18
|
const NOTIFICATION_REFRESH_DEDUPE_MS = 1_000;
|
|
19
19
|
const notificationRefreshInflight = new Map();
|
|
20
20
|
const notificationRefreshCache = new Map();
|
|
21
|
-
async function fetchNotificationSnapshot(showAll, pageSize) {
|
|
21
|
+
async function fetchNotificationSnapshot(showAll, pageSize, force = false) {
|
|
22
22
|
const cacheKey = `${showAll}:${pageSize}`;
|
|
23
23
|
const cached = notificationRefreshCache.get(cacheKey);
|
|
24
|
-
if (
|
|
24
|
+
if (!force &&
|
|
25
|
+
cached &&
|
|
25
26
|
Date.now() - cached.fetchedAt < NOTIFICATION_REFRESH_DEDUPE_MS) {
|
|
26
27
|
return cached;
|
|
27
28
|
}
|
|
28
29
|
const inflight = notificationRefreshInflight.get(cacheKey);
|
|
29
|
-
if (inflight) {
|
|
30
|
+
if (!force && inflight) {
|
|
30
31
|
return inflight;
|
|
31
32
|
}
|
|
33
|
+
const requestedAt = Date.now();
|
|
32
34
|
const request = (async () => {
|
|
33
35
|
const notificationQuery = buildNotificationQuery({
|
|
34
36
|
showAll,
|
|
@@ -47,14 +49,24 @@ async function fetchNotificationSnapshot(showAll, pageSize) {
|
|
|
47
49
|
hasMore: listResult.type === "success"
|
|
48
50
|
? (listResult.data || []).length === pageSize
|
|
49
51
|
: false,
|
|
52
|
+
requestedAt,
|
|
50
53
|
fetchedAt: Date.now(),
|
|
51
54
|
};
|
|
52
|
-
|
|
55
|
+
// A slower request that started before a forced refresh must not replace
|
|
56
|
+
// the newer snapshot in the shared short-lived cache when it finishes.
|
|
57
|
+
const currentCached = notificationRefreshCache.get(cacheKey);
|
|
58
|
+
if (!currentCached || currentCached.requestedAt <= requestedAt) {
|
|
59
|
+
notificationRefreshCache.set(cacheKey, snapshot);
|
|
60
|
+
}
|
|
53
61
|
return snapshot;
|
|
54
62
|
})().finally(() => {
|
|
55
|
-
notificationRefreshInflight.
|
|
63
|
+
if (notificationRefreshInflight.get(cacheKey) === request) {
|
|
64
|
+
notificationRefreshInflight.delete(cacheKey);
|
|
65
|
+
}
|
|
56
66
|
});
|
|
57
|
-
|
|
67
|
+
if (!force) {
|
|
68
|
+
notificationRefreshInflight.set(cacheKey, request);
|
|
69
|
+
}
|
|
58
70
|
return request;
|
|
59
71
|
}
|
|
60
72
|
export function useNotifications(editContext, options) {
|
|
@@ -66,6 +78,7 @@ export function useNotifications(editContext, options) {
|
|
|
66
78
|
const [loadingMore, setLoadingMore] = useState(false);
|
|
67
79
|
const [hasMore, setHasMore] = useState(false);
|
|
68
80
|
const [nextOffset, setNextOffset] = useState(0);
|
|
81
|
+
const refreshSequence = useRef(0);
|
|
69
82
|
const notificationIdsRef = useRef(new Set());
|
|
70
83
|
const { subscriptions, unsubscribeFromTarget } = useNotificationSubscriptions();
|
|
71
84
|
const updateNotifications = useCallback((updater) => {
|
|
@@ -75,17 +88,22 @@ export function useNotifications(editContext, options) {
|
|
|
75
88
|
return next;
|
|
76
89
|
});
|
|
77
90
|
}, []);
|
|
78
|
-
const refresh = useCallback(async () => {
|
|
91
|
+
const refresh = useCallback(async (refreshOptions) => {
|
|
92
|
+
const sequence = ++refreshSequence.current;
|
|
79
93
|
setLoading(true);
|
|
80
94
|
try {
|
|
81
|
-
const snapshot = await fetchNotificationSnapshot(showAll, pageSize);
|
|
95
|
+
const snapshot = await fetchNotificationSnapshot(showAll, pageSize, refreshOptions?.force);
|
|
96
|
+
if (sequence !== refreshSequence.current)
|
|
97
|
+
return;
|
|
82
98
|
updateNotifications(snapshot.notifications);
|
|
83
99
|
setNextOffset(snapshot.notifications.length);
|
|
84
100
|
setHasMore(snapshot.hasMore);
|
|
85
101
|
setUnreadCount(snapshot.unreadCount);
|
|
86
102
|
}
|
|
87
103
|
finally {
|
|
88
|
-
|
|
104
|
+
if (sequence === refreshSequence.current) {
|
|
105
|
+
setLoading(false);
|
|
106
|
+
}
|
|
89
107
|
}
|
|
90
108
|
}, [pageSize, showAll, updateNotifications]);
|
|
91
109
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNotifications.js","sourceRoot":"","sources":["../../../src/editor/notifications/useNotifications.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,GAErB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAY9E,SAAS,gBAAgB,CAAC,WAA2B;IACnD,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,8BAA8B,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"useNotifications.js","sourceRoot":"","sources":["../../../src/editor/notifications/useNotifications.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,7 @@ export function BridgeInlineFormatOverlay({ onCommand, pageViewContext, }) {
|
|
|
122
122
|
const selectedRange = editContext?.selectedRange;
|
|
123
123
|
const modalDialogOpen = useOpenModalDialogOverlay();
|
|
124
124
|
const overlayRef = useRef(null);
|
|
125
|
+
const toolbarSelectionSnapshotRef = useRef(undefined);
|
|
125
126
|
const [overlay, setOverlay] = useState({
|
|
126
127
|
visible: false,
|
|
127
128
|
anchorX: 0,
|
|
@@ -138,6 +139,13 @@ export function BridgeInlineFormatOverlay({ onCommand, pageViewContext, }) {
|
|
|
138
139
|
const isRichText = !!(selectedRange?.isRichText && selectedRange?.elementKey);
|
|
139
140
|
const formatting = selectedRange?.formatting;
|
|
140
141
|
const toolbarProfileKey = getToolbarProfileKey(selectedRange);
|
|
142
|
+
useEffect(() => {
|
|
143
|
+
if (selectedRange?.text?.trim() &&
|
|
144
|
+
selectedRange.elementKey &&
|
|
145
|
+
selectedRange.clientRect) {
|
|
146
|
+
toolbarSelectionSnapshotRef.current = { ...selectedRange };
|
|
147
|
+
}
|
|
148
|
+
}, [selectedRange]);
|
|
141
149
|
useEffect(() => {
|
|
142
150
|
if (!editContext || !pageViewContext || !selectedRange || !isRichText) {
|
|
143
151
|
setToolbarProfile((previous) => previous.key === "" && !previous.ready && previous.groups.length === 0
|
|
@@ -390,10 +398,20 @@ export function BridgeInlineFormatOverlay({ onCommand, pageViewContext, }) {
|
|
|
390
398
|
event.stopPropagation();
|
|
391
399
|
const toolbarRect = overlayRef.current?.getBoundingClientRect();
|
|
392
400
|
const buttonRect = event.currentTarget.getBoundingClientRect();
|
|
401
|
+
const commandRange = selectedRange?.text?.trim()
|
|
402
|
+
? { ...selectedRange }
|
|
403
|
+
: toolbarSelectionSnapshotRef.current
|
|
404
|
+
? { ...toolbarSelectionSnapshotRef.current }
|
|
405
|
+
: undefined;
|
|
393
406
|
document.dispatchEvent(new CustomEvent(INLINE_AI_OPEN_EVENT, {
|
|
394
407
|
bubbles: true,
|
|
395
408
|
cancelable: true,
|
|
396
409
|
detail: {
|
|
410
|
+
// Use the range that made this toolbar visible. A host selection-
|
|
411
|
+
// collapse message can commit between mousedown focus transfer and
|
|
412
|
+
// this React handler, so reading only the current edit-context value
|
|
413
|
+
// can lose the selected text while the toolbar is still clickable.
|
|
414
|
+
selectionRange: commandRange,
|
|
397
415
|
anchor: toolbarRect
|
|
398
416
|
? {
|
|
399
417
|
...getInlineAiAnchorBelowToolbar(toolbarRect),
|