diff --git a/packages/editor/App.tsx b/packages/editor/App.tsx
index d8131244..c749e3f8 100644
--- a/packages/editor/App.tsx
+++ b/packages/editor/App.tsx
@@ -453,6 +453,8 @@ const App: React.FC = () => {
clearPendingSharedAnnotations,
generateShortUrl,
importFromShareUrl,
+ shareLoadError,
+ clearShareLoadError,
} = useSharing(
markdown,
annotations,
@@ -1277,6 +1279,7 @@ const App: React.FC = () => {
isPlanDiffActive={isPlanDiffActive}
onPlanDiffToggle={() => setIsPlanDiffActive(!isPlanDiffActive)}
hasPreviousVersion={!linkedDocHook.isActive && planDiff.hasPreviousVersion}
+ showDemoBadge={!isApiMode && !isLoadingShared && !isSharedSession}
onOpenLinkedDoc={linkedDocHook.open}
linkedDocInfo={linkedDocHook.isActive ? { filepath: linkedDocHook.filepath!, onBack: linkedDocHook.back } : null}
/>
@@ -1386,6 +1389,16 @@ const App: React.FC = () => {
showCancel
/>
+ {/* Shared URL load failure warning */}
+
+
{/* Save-to-notes toast */}
{noteSaveToast && (
void;
hasPreviousVersion?: boolean;
+ /** Show amber "Demo" badge (portal mode, no shared content loaded) */
+ showDemoBadge?: boolean;
}
export interface ViewerHandle {
@@ -93,6 +95,7 @@ export const Viewer = forwardRef
(({
isPlanDiffActive,
onPlanDiffToggle,
hasPreviousVersion,
+ showDemoBadge,
onOpenLinkedDoc,
linkedDocInfo,
}, ref) => {
@@ -648,8 +651,8 @@ export const Viewer = forwardRef(({
linkedDocInfo ? 'border-2 border-primary' : 'border border-border/50'
}`}
>
- {/* Repo info + plan diff badge + linked doc badge - top left */}
- {(repoInfo || hasPreviousVersion || linkedDocInfo) && (
+ {/* Repo info + plan diff badge + demo badge + linked doc badge - top left */}
+ {(repoInfo || hasPreviousVersion || showDemoBadge || linkedDocInfo) && (
{repoInfo && !linkedDocInfo && (
@@ -674,6 +677,11 @@ export const Viewer = forwardRef
(({
hasPreviousVersion={hasPreviousVersion ?? false}
/>
)}
+ {showDemoBadge && !linkedDocInfo && (
+
+ Demo
+
+ )}
{linkedDocInfo && (