use-vibes 0.5.7 → 0.11.0-dev-preview1
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/README.md +0 -7
- package/components/ControlsBar.d.ts +20 -0
- package/components/ControlsBar.js +80 -0
- package/components/ControlsBar.js.map +1 -0
- package/{dist/components → components}/ImgGen.css +21 -13
- package/components/ImgGen.d.ts +25 -0
- package/{dist/components → components}/ImgGen.js +25 -119
- package/components/ImgGen.js.map +1 -0
- package/{dist/components → components}/ImgGenUtils/ImgGenDisplay.d.ts +2 -2
- package/components/ImgGenUtils/ImgGenDisplay.js +192 -0
- package/components/ImgGenUtils/ImgGenDisplay.js.map +1 -0
- package/components/ImgGenUtils/ImgGenDisplayPlaceholder.d.ts +3 -0
- package/components/ImgGenUtils/ImgGenDisplayPlaceholder.js +107 -0
- package/components/ImgGenUtils/ImgGenDisplayPlaceholder.js.map +1 -0
- package/components/ImgGenUtils/ImgGenDisplayUtils.d.ts +27 -0
- package/{dist/components → components}/ImgGenUtils/ImgGenDisplayUtils.js +4 -36
- package/components/ImgGenUtils/ImgGenDisplayUtils.js.map +1 -0
- package/components/ImgGenUtils/ImgGenError.d.ts +3 -0
- package/components/ImgGenUtils/ImgGenError.js +6 -0
- package/components/ImgGenUtils/ImgGenError.js.map +1 -0
- package/components/ImgGenUtils/ImgGenFileDrop.d.ts +12 -0
- package/{dist/components → components}/ImgGenUtils/ImgGenFileDrop.js +2 -9
- package/components/ImgGenUtils/ImgGenFileDrop.js.map +1 -0
- package/components/ImgGenUtils/ImgGenModal.d.ts +24 -0
- package/components/ImgGenUtils/ImgGenModal.js +28 -0
- package/components/ImgGenUtils/ImgGenModal.js.map +1 -0
- package/components/ImgGenUtils/ImgGenModeUtils.d.ts +9 -0
- package/{dist/components → components}/ImgGenUtils/ImgGenModeUtils.js +0 -15
- package/components/ImgGenUtils/ImgGenModeUtils.js.map +1 -0
- package/components/ImgGenUtils/ImgGenPromptWaiting.d.ts +12 -0
- package/{dist/components → components}/ImgGenUtils/ImgGenPromptWaiting.js +3 -15
- package/components/ImgGenUtils/ImgGenPromptWaiting.js.map +1 -0
- package/components/ImgGenUtils/ImgGenUploadWaiting.d.ts +17 -0
- package/{dist/components → components}/ImgGenUtils/ImgGenUploadWaiting.js +3 -52
- package/components/ImgGenUtils/ImgGenUploadWaiting.js.map +1 -0
- package/components/ImgGenUtils/index.d.ts +6 -0
- package/components/ImgGenUtils/index.js +7 -0
- package/components/ImgGenUtils/index.js.map +1 -0
- package/components/ImgGenUtils/overlays/DeleteConfirmationOverlay.d.ts +9 -0
- package/{dist/components → components}/ImgGenUtils/overlays/DeleteConfirmationOverlay.js +8 -10
- package/components/ImgGenUtils/overlays/DeleteConfirmationOverlay.js.map +1 -0
- package/components/ImgGenUtils/overlays/ImageOverlay.d.ts +22 -0
- package/components/ImgGenUtils/overlays/ImageOverlay.js +8 -0
- package/components/ImgGenUtils/overlays/ImageOverlay.js.map +1 -0
- package/components/ImgGenUtils/types.d.ts +29 -0
- package/components/ImgGenUtils/types.js.map +1 -0
- package/components/ImgGenUtils.d.ts +2 -0
- package/components/ImgGenUtils.js +3 -0
- package/components/ImgGenUtils.js.map +1 -0
- package/components/PromptBar.d.ts +11 -0
- package/components/PromptBar.js +16 -0
- package/components/PromptBar.js.map +1 -0
- package/hooks/image-gen/image-generator.d.ts +11 -0
- package/{dist/hooks → hooks}/image-gen/image-generator.js +2 -42
- package/hooks/image-gen/image-generator.js.map +1 -0
- package/hooks/image-gen/index.d.ts +7 -0
- package/hooks/image-gen/index.js +6 -0
- package/hooks/image-gen/index.js.map +1 -0
- package/hooks/image-gen/types.d.ts +66 -0
- package/{dist/hooks → hooks}/image-gen/types.js.map +1 -1
- package/hooks/image-gen/use-image-gen.d.ts +4 -0
- package/hooks/image-gen/use-image-gen.js +544 -0
- package/hooks/image-gen/use-image-gen.js.map +1 -0
- package/hooks/image-gen/utils.d.ts +20 -0
- package/{dist/hooks → hooks}/image-gen/utils.js +11 -93
- package/hooks/image-gen/utils.js.map +1 -0
- package/hooks/use-image-gen.d.ts +1 -0
- package/hooks/use-image-gen.js +2 -0
- package/hooks/use-image-gen.js.map +1 -0
- package/index.d.ts +20 -0
- package/index.js +21 -0
- package/index.js.map +1 -0
- package/package.json +23 -24
- package/style-loader.d.ts +1 -0
- package/style-loader.js +23 -0
- package/style-loader.js.map +1 -0
- package/tsconfig.json +18 -0
- package/{dist/utils → utils}/base64.js +0 -4
- package/utils/base64.js.map +1 -0
- package/{dist/utils → utils}/debug.js +0 -1
- package/utils/debug.js.map +1 -0
- package/utils/style-utils.d.ts +17 -0
- package/utils/style-utils.js +15 -0
- package/utils/style-utils.js.map +1 -0
- package/dist/components/ControlsBar.d.ts +0 -32
- package/dist/components/ControlsBar.js +0 -109
- package/dist/components/ControlsBar.js.map +0 -1
- package/dist/components/ImgGen.d.ts +0 -42
- package/dist/components/ImgGen.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenDisplay.js +0 -264
- package/dist/components/ImgGenUtils/ImgGenDisplay.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenDisplayPlaceholder.d.ts +0 -3
- package/dist/components/ImgGenUtils/ImgGenDisplayPlaceholder.js +0 -125
- package/dist/components/ImgGenUtils/ImgGenDisplayPlaceholder.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenDisplayUtils.d.ts +0 -44
- package/dist/components/ImgGenUtils/ImgGenDisplayUtils.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenError.d.ts +0 -3
- package/dist/components/ImgGenUtils/ImgGenError.js +0 -9
- package/dist/components/ImgGenUtils/ImgGenError.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenFileDrop.d.ts +0 -21
- package/dist/components/ImgGenUtils/ImgGenFileDrop.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenModal.d.ts +0 -31
- package/dist/components/ImgGenUtils/ImgGenModal.js +0 -34
- package/dist/components/ImgGenUtils/ImgGenModal.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenModeUtils.d.ts +0 -16
- package/dist/components/ImgGenUtils/ImgGenModeUtils.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenPromptWaiting.d.ts +0 -17
- package/dist/components/ImgGenUtils/ImgGenPromptWaiting.js.map +0 -1
- package/dist/components/ImgGenUtils/ImgGenUploadWaiting.d.ts +0 -30
- package/dist/components/ImgGenUtils/ImgGenUploadWaiting.js.map +0 -1
- package/dist/components/ImgGenUtils/index.d.ts +0 -6
- package/dist/components/ImgGenUtils/index.js +0 -9
- package/dist/components/ImgGenUtils/index.js.map +0 -1
- package/dist/components/ImgGenUtils/overlays/DeleteConfirmationOverlay.d.ts +0 -10
- package/dist/components/ImgGenUtils/overlays/DeleteConfirmationOverlay.js.map +0 -1
- package/dist/components/ImgGenUtils/overlays/ImageOverlay.d.ts +0 -29
- package/dist/components/ImgGenUtils/overlays/ImageOverlay.js +0 -11
- package/dist/components/ImgGenUtils/overlays/ImageOverlay.js.map +0 -1
- package/dist/components/ImgGenUtils/types.d.ts +0 -43
- package/dist/components/ImgGenUtils/types.js.map +0 -1
- package/dist/components/ImgGenUtils.d.ts +0 -6
- package/dist/components/ImgGenUtils.js +0 -7
- package/dist/components/ImgGenUtils.js.map +0 -1
- package/dist/components/PromptBar.d.ts +0 -15
- package/dist/components/PromptBar.js +0 -23
- package/dist/components/PromptBar.js.map +0 -1
- package/dist/hooks/image-gen/image-generator.d.ts +0 -18
- package/dist/hooks/image-gen/image-generator.js.map +0 -1
- package/dist/hooks/image-gen/index.d.ts +0 -6
- package/dist/hooks/image-gen/index.js +0 -6
- package/dist/hooks/image-gen/index.js.map +0 -1
- package/dist/hooks/image-gen/types.d.ts +0 -75
- package/dist/hooks/image-gen/use-image-gen.d.ts +0 -12
- package/dist/hooks/image-gen/use-image-gen.js +0 -675
- package/dist/hooks/image-gen/use-image-gen.js.map +0 -1
- package/dist/hooks/image-gen/utils.d.ts +0 -61
- package/dist/hooks/image-gen/utils.js.map +0 -1
- package/dist/hooks/use-image-gen.d.ts +0 -5
- package/dist/hooks/use-image-gen.js +0 -7
- package/dist/hooks/use-image-gen.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -8
- package/dist/index.js.map +0 -1
- package/dist/style-loader.d.ts +0 -16
- package/dist/style-loader.js +0 -43
- package/dist/style-loader.js.map +0 -1
- package/dist/utils/base64.js.map +0 -1
- package/dist/utils/debug.js.map +0 -1
- package/dist/utils/style-utils.d.ts +0 -55
- package/dist/utils/style-utils.js +0 -42
- package/dist/utils/style-utils.js.map +0 -1
- /package/{dist/components → components}/ImgGenUtils/types.js +0 -0
- /package/{dist/hooks → hooks}/image-gen/types.js +0 -0
- /package/{dist/utils → utils}/base64.d.ts +0 -0
- /package/{dist/utils → utils}/debug.d.ts +0 -0
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { combineClasses, defaultClasses } from '../utils/style-utils';
|
|
3
|
-
import { logDebug } from '../utils/debug';
|
|
4
|
-
/**
|
|
5
|
-
* ControlsBar component - Displays controls for deleting, navigating between versions, and regenerating
|
|
6
|
-
*/
|
|
7
|
-
export function ControlsBar({ handleDeleteConfirm, handlePrevVersion, handleNextVersion, handleRegen, versionIndex, totalVersions, classes = defaultClasses, showControls = true, editedPrompt, promptText, progress = 100, showDelete = true, versionFlash = false, isRegenerating = false, }) {
|
|
8
|
-
// State for managing delete confirmation
|
|
9
|
-
const [showConfirmation, setShowConfirmation] = React.useState(false);
|
|
10
|
-
// Timer ref for automatic cancellation
|
|
11
|
-
const cancelTimerRef = React.useRef(null);
|
|
12
|
-
// Use external state if provided
|
|
13
|
-
const isConfirming = showConfirmation;
|
|
14
|
-
// Handle delete click
|
|
15
|
-
const onDeleteClick = () => {
|
|
16
|
-
if (isConfirming) {
|
|
17
|
-
// User clicked delete while confirmation is showing - confirm the delete
|
|
18
|
-
logDebug('ControlsBar: Delete confirmed, calling handleDeleteConfirm');
|
|
19
|
-
// Ensure we call handleDeleteConfirm with no arguments, it will handle the document ID
|
|
20
|
-
handleDeleteConfirm();
|
|
21
|
-
// Reset confirmation state
|
|
22
|
-
setShowConfirmation(false);
|
|
23
|
-
if (cancelTimerRef.current) {
|
|
24
|
-
window.clearTimeout(cancelTimerRef.current);
|
|
25
|
-
cancelTimerRef.current = null;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
// Show confirmation
|
|
30
|
-
logDebug('ControlsBar: Showing delete confirmation');
|
|
31
|
-
setShowConfirmation(true);
|
|
32
|
-
// Set timer to auto-hide confirmation after 6.5 seconds (allows 0.5s for fade)
|
|
33
|
-
cancelTimerRef.current = window.setTimeout(() => {
|
|
34
|
-
setShowConfirmation(false);
|
|
35
|
-
}, 6500);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
// Clean up timer on unmount
|
|
39
|
-
React.useEffect(() => {
|
|
40
|
-
return () => {
|
|
41
|
-
if (cancelTimerRef.current) {
|
|
42
|
-
window.clearTimeout(cancelTimerRef.current);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}, []);
|
|
46
|
-
return (React.createElement(React.Fragment, null,
|
|
47
|
-
progress < 100 && (React.createElement("div", { className: "imggen-progress", style: {
|
|
48
|
-
width: `${progress}%`,
|
|
49
|
-
position: 'absolute',
|
|
50
|
-
top: 0,
|
|
51
|
-
left: 0,
|
|
52
|
-
height: 'var(--imggen-progress-height)',
|
|
53
|
-
zIndex: 20,
|
|
54
|
-
} })),
|
|
55
|
-
React.createElement("div", { className: combineClasses('imggen-controls', classes.controls) }, showControls ? (React.createElement(React.Fragment, null,
|
|
56
|
-
React.createElement("div", { style: { display: 'flex', gap: '6px', alignItems: 'center', flex: 1 } }, showDelete && (React.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: '8px' } },
|
|
57
|
-
React.createElement("button", { "aria-label": "Delete image", onClick: onDeleteClick, className: combineClasses('imggen-button imggen-delete-button', classes.button), style: {
|
|
58
|
-
position: 'static',
|
|
59
|
-
width: 'var(--imggen-button-size)',
|
|
60
|
-
height: 'var(--imggen-button-size)',
|
|
61
|
-
backgroundColor: isConfirming ? 'var(--imggen-error-border)' : undefined,
|
|
62
|
-
color: isConfirming ? 'white' : undefined,
|
|
63
|
-
opacity: isConfirming ? 1 : undefined,
|
|
64
|
-
} }, "\u2715"),
|
|
65
|
-
isConfirming && (React.createElement("div", { className: "fade-transition", style: { animationDelay: '6s' } },
|
|
66
|
-
React.createElement("button", { onClick: () => {
|
|
67
|
-
handleDeleteConfirm();
|
|
68
|
-
setShowConfirmation(false);
|
|
69
|
-
}, "aria-label": "Confirm delete", style: {
|
|
70
|
-
fontSize: 'var(--imggen-font-size)',
|
|
71
|
-
fontWeight: 'bold',
|
|
72
|
-
whiteSpace: 'nowrap',
|
|
73
|
-
border: '1px solid var(--imggen-error-border, #ff3333)',
|
|
74
|
-
background: 'var(--imggen-error-border, #ff3333)',
|
|
75
|
-
color: 'white',
|
|
76
|
-
borderRadius: '4px',
|
|
77
|
-
cursor: 'pointer',
|
|
78
|
-
padding: '2px 8px',
|
|
79
|
-
} }, "Delete image?"),
|
|
80
|
-
React.createElement("button", { onClick: () => {
|
|
81
|
-
logDebug('ControlsBar: Delete canceled');
|
|
82
|
-
setShowConfirmation(false);
|
|
83
|
-
if (cancelTimerRef.current) {
|
|
84
|
-
window.clearTimeout(cancelTimerRef.current);
|
|
85
|
-
}
|
|
86
|
-
}, "aria-label": "Cancel delete", style: {
|
|
87
|
-
fontSize: 'var(--imggen-font-size)',
|
|
88
|
-
whiteSpace: 'nowrap',
|
|
89
|
-
border: 'none',
|
|
90
|
-
background: 'none',
|
|
91
|
-
color: 'var(--imggen-font-color)',
|
|
92
|
-
cursor: 'pointer',
|
|
93
|
-
padding: '0 4px',
|
|
94
|
-
} }, "Cancel")))))),
|
|
95
|
-
React.createElement("div", { className: "imggen-control-group" },
|
|
96
|
-
totalVersions > 1 && (React.createElement("button", { "aria-label": "Previous version", disabled: versionIndex === 0, onClick: handlePrevVersion, className: combineClasses('imggen-button', classes.button) }, "\u25C0\uFE0E")),
|
|
97
|
-
totalVersions > 1 && (React.createElement("span", { className: `imggen-version-indicator version-indicator ${versionFlash ? 'imggen-version-flash' : ''}`, "aria-live": "polite" },
|
|
98
|
-
versionIndex + 1,
|
|
99
|
-
" / ",
|
|
100
|
-
totalVersions)),
|
|
101
|
-
totalVersions > 1 && (React.createElement("button", { "aria-label": "Next version", disabled: versionIndex >= totalVersions - 1, onClick: handleNextVersion, className: combineClasses('imggen-button', classes.button) }, "\u25B6\uFE0E")),
|
|
102
|
-
React.createElement("button", { "aria-label": "Regenerate image", onClick: () => {
|
|
103
|
-
handleRegen();
|
|
104
|
-
}, disabled: isRegenerating, className: combineClasses('imggen-button', classes.button, editedPrompt !== null && editedPrompt.trim() !== promptText
|
|
105
|
-
? 'imggen-button-highlight'
|
|
106
|
-
: '', isRegenerating ? 'imggen-button-disabled' : '') },
|
|
107
|
-
React.createElement("span", { className: isRegenerating ? 'imggen-regen-spinning' : '' }, "\u27F3"))))) : progress < 100 ? (React.createElement("div", { className: "imggen-status-text" }, "Generating...")) : null)));
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=ControlsBar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ControlsBar.js","sourceRoot":"","sources":["../../src/components/ControlsBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import type { ImageGenOptions } from 'call-ai';
|
|
3
|
-
import { Database } from 'use-fireproof';
|
|
4
|
-
import { ImgGenClasses } from '../utils/style-utils';
|
|
5
|
-
import './ImgGen.css';
|
|
6
|
-
export interface ImgGenProps {
|
|
7
|
-
/** Text prompt for image generation (required unless _id is provided) */
|
|
8
|
-
prompt?: string;
|
|
9
|
-
/** Document ID to load a specific image instead of generating a new one */
|
|
10
|
-
_id?: string;
|
|
11
|
-
/** Classname(s) to apply to the image */
|
|
12
|
-
className?: string;
|
|
13
|
-
/** Alt text for the image */
|
|
14
|
-
alt?: string;
|
|
15
|
-
/** Array of images to edit or combine with AI */
|
|
16
|
-
images?: File[];
|
|
17
|
-
/** Image generation options */
|
|
18
|
-
options?: ImageGenOptions;
|
|
19
|
-
/** Database name or instance to use for storing images */
|
|
20
|
-
database?: string | Database;
|
|
21
|
-
/** Callback when image load completes successfully */
|
|
22
|
-
onComplete?: () => void;
|
|
23
|
-
/** Callback when image load fails */
|
|
24
|
-
onError?: (error: Error) => void;
|
|
25
|
-
/** Callback when document is deleted */
|
|
26
|
-
onDelete?: (id: string) => void;
|
|
27
|
-
/** Callback when prompt is edited */
|
|
28
|
-
onPromptEdit?: (id: string, newPrompt: string) => void;
|
|
29
|
-
/** Custom CSS classes for styling component parts */
|
|
30
|
-
classes?: ImgGenClasses;
|
|
31
|
-
/** Callback when a new document is created via drop or file picker */
|
|
32
|
-
onDocumentCreated?: (docId: string) => void;
|
|
33
|
-
/** Enable debug logging */
|
|
34
|
-
debug?: boolean;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Main component for generating images with call-ai's imageGen
|
|
38
|
-
* Provides automatic caching, reactive updates, and placeholder handling
|
|
39
|
-
* Uses a mountKey to ensure clean state when switching documents
|
|
40
|
-
*/
|
|
41
|
-
export declare function ImgGen(props: ImgGenProps): React.ReactElement;
|
|
42
|
-
export default ImgGen;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ImgGen.js","sourceRoot":"","sources":["../../src/components/ImgGen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { ImgFile } from 'use-fireproof';
|
|
3
|
-
import { ImgGenError } from './ImgGenError';
|
|
4
|
-
import { combineClasses, defaultClasses } from '../../utils/style-utils';
|
|
5
|
-
import { getCurrentFileKey, getPromptInfo, getVersionInfo } from './ImgGenDisplayUtils';
|
|
6
|
-
import { ImgGenModal } from './ImgGenModal';
|
|
7
|
-
import { logDebug } from '../../utils/debug';
|
|
8
|
-
// Component for displaying the generated image
|
|
9
|
-
export function ImgGenDisplay({ document, className, alt, onDelete, onRegen, onPromptEdit, classes = defaultClasses, loading, progress, error, debug, // Add debug flag to props interface
|
|
10
|
-
}) {
|
|
11
|
-
// Delete confirmation is now handled within ControlsBar
|
|
12
|
-
// Use null to indicate not editing, or string for edit mode
|
|
13
|
-
const [editedPrompt, setEditedPrompt] = React.useState(null);
|
|
14
|
-
// Track the prompt that's currently being generated
|
|
15
|
-
const [generatingPrompt, setGeneratingPrompt] = React.useState(null);
|
|
16
|
-
// --- Fullscreen backdrop state ---
|
|
17
|
-
const [isFullscreen, setIsFullscreen] = React.useState(false);
|
|
18
|
-
const openFullscreen = () => setIsFullscreen(true);
|
|
19
|
-
const closeFullscreen = () => setIsFullscreen(false);
|
|
20
|
-
// Get version information directly at render time
|
|
21
|
-
const { versions, currentVersion } = getVersionInfo(document);
|
|
22
|
-
// Calculate the initial version index based on document state
|
|
23
|
-
const initialVersionIndex = React.useMemo(() => {
|
|
24
|
-
return typeof currentVersion === 'number'
|
|
25
|
-
? currentVersion
|
|
26
|
-
: versions?.length
|
|
27
|
-
? versions.length - 1
|
|
28
|
-
: 0;
|
|
29
|
-
}, [currentVersion, versions]);
|
|
30
|
-
// Track previous version count to detect when new versions are added
|
|
31
|
-
const prevVersionsCountRef = React.useRef(versions.length);
|
|
32
|
-
// Set flash effect when new version is added
|
|
33
|
-
React.useEffect(() => {
|
|
34
|
-
// If we have more versions than before, it means a new version was added
|
|
35
|
-
if (versions.length > prevVersionsCountRef.current) {
|
|
36
|
-
// Trigger the flash effect
|
|
37
|
-
setVersionFlash(true);
|
|
38
|
-
// Auto-reset flash after animation completes
|
|
39
|
-
const timer = setTimeout(() => {
|
|
40
|
-
setVersionFlash(false);
|
|
41
|
-
}, 2000); // Match the animation duration in CSS
|
|
42
|
-
return () => clearTimeout(timer);
|
|
43
|
-
}
|
|
44
|
-
// Update ref for next comparison
|
|
45
|
-
prevVersionsCountRef.current = versions.length;
|
|
46
|
-
}, [versions.length]);
|
|
47
|
-
// Only track user-selected version index as state
|
|
48
|
-
const [userSelectedIndex, setUserSelectedIndex] = React.useState(null);
|
|
49
|
-
// Track when a new version has been added to enable flash effect
|
|
50
|
-
const [versionFlash, setVersionFlash] = React.useState(false);
|
|
51
|
-
// Explicitly track regeneration state while waiting for progress to update
|
|
52
|
-
const [pendingRegeneration, setPendingRegeneration] = React.useState(false);
|
|
53
|
-
// Keep track of pending regeneration requests
|
|
54
|
-
const pendingRegenerationRef = React.useRef(false);
|
|
55
|
-
// We now use progress directly from props
|
|
56
|
-
// Derive the final version index - use user selection if available, otherwise use the document's current version
|
|
57
|
-
const versionIndex = userSelectedIndex !== null ? userSelectedIndex : initialVersionIndex;
|
|
58
|
-
// Custom setter function that manages user selections
|
|
59
|
-
const setVersionIndex = React.useCallback((index) => {
|
|
60
|
-
setUserSelectedIndex(index);
|
|
61
|
-
}, []);
|
|
62
|
-
const fileKey = getCurrentFileKey(document, versionIndex, versions);
|
|
63
|
-
const totalVersions = versions ? versions.length : 0;
|
|
64
|
-
// We now use getPromptInfo directly at render time as a pure function
|
|
65
|
-
// Navigation handlers
|
|
66
|
-
function handlePrevVersion() {
|
|
67
|
-
if (versionIndex > 0) {
|
|
68
|
-
setVersionIndex(versionIndex - 1);
|
|
69
|
-
// Exit edit mode when changing versions
|
|
70
|
-
setEditedPrompt(null);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
function handleNextVersion() {
|
|
74
|
-
if (versionIndex < totalVersions - 1) {
|
|
75
|
-
setVersionIndex(versionIndex + 1);
|
|
76
|
-
// Exit edit mode when changing versions
|
|
77
|
-
setEditedPrompt(null);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// ESC handling moved to ImgGenModal component
|
|
81
|
-
// Determine which file to use - either the versioned file or the legacy 'image' file
|
|
82
|
-
const currentFile = fileKey && document._files
|
|
83
|
-
? document._files[fileKey]
|
|
84
|
-
: document._files?.image;
|
|
85
|
-
// Get prompt text early (moved before portal)
|
|
86
|
-
const promptInfo = getPromptInfo(document, versionIndex);
|
|
87
|
-
const promptText = promptInfo.currentPrompt || alt || 'Generated image';
|
|
88
|
-
// State for delete confirmation is managed directly
|
|
89
|
-
// Handle delete confirmation
|
|
90
|
-
function handleDeleteConfirm() {
|
|
91
|
-
if (debug) {
|
|
92
|
-
logDebug('[ImgGenDisplay] handleDeleteConfirm called, document ID:', document._id);
|
|
93
|
-
}
|
|
94
|
-
if (onDelete && document && document._id) {
|
|
95
|
-
if (debug) {
|
|
96
|
-
logDebug('[ImgGenDisplay] Calling onDelete with ID:', document._id);
|
|
97
|
-
}
|
|
98
|
-
onDelete(document._id);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
console.error('[ImgGenDisplay] Cannot delete - missing onDelete handler or document ID');
|
|
102
|
-
if (debug) {
|
|
103
|
-
logDebug('[ImgGenDisplay] Delete details:', {
|
|
104
|
-
hasOnDelete: !!onDelete,
|
|
105
|
-
documentId: document?._id,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// Handle generating a new version
|
|
111
|
-
function handleRegen() {
|
|
112
|
-
// Set pending regeneration flag
|
|
113
|
-
setPendingRegeneration(true);
|
|
114
|
-
pendingRegenerationRef.current = true;
|
|
115
|
-
// const { currentPrompt } = getPromptInfo(document, versionIndex);
|
|
116
|
-
if (editedPrompt !== null) {
|
|
117
|
-
// User has edited the prompt - always use the edited version
|
|
118
|
-
// even if it happens to be the same as the current prompt
|
|
119
|
-
const newPrompt = editedPrompt.trim();
|
|
120
|
-
if (newPrompt) {
|
|
121
|
-
// Always submit the edited prompt as a new prompt
|
|
122
|
-
onPromptEdit?.(document._id, newPrompt);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
// Empty prompt, just regenerate with existing prompt
|
|
126
|
-
onRegen?.(document._id);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
// Not in edit mode → regenerate current prompt
|
|
131
|
-
onRegen?.(document._id);
|
|
132
|
-
}
|
|
133
|
-
// Reset user selection when generating a new version
|
|
134
|
-
// This will make the display automatically switch to the latest version when it returns
|
|
135
|
-
setUserSelectedIndex(null);
|
|
136
|
-
// Save the prompt we're generating with
|
|
137
|
-
let promptToGenerate = '';
|
|
138
|
-
if (editedPrompt !== null) {
|
|
139
|
-
promptToGenerate = editedPrompt.trim();
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
const { currentPrompt } = getPromptInfo(document, versionIndex);
|
|
143
|
-
promptToGenerate = currentPrompt;
|
|
144
|
-
}
|
|
145
|
-
setGeneratingPrompt(promptToGenerate);
|
|
146
|
-
// Reset edited prompt since we're no longer in edit mode
|
|
147
|
-
setEditedPrompt(null);
|
|
148
|
-
}
|
|
149
|
-
// Handle prompt editing
|
|
150
|
-
function handlePromptEdit(newPrompt) {
|
|
151
|
-
// Get the current prompt for comparison at the exact time of editing
|
|
152
|
-
const { currentPrompt } = getPromptInfo(document, versionIndex);
|
|
153
|
-
const trimmedPrompt = newPrompt.trim();
|
|
154
|
-
if (trimmedPrompt && trimmedPrompt !== currentPrompt) {
|
|
155
|
-
// Set the edited prompt to the new trimmed value
|
|
156
|
-
setEditedPrompt(trimmedPrompt);
|
|
157
|
-
// Now use handleRegen to handle the regeneration process
|
|
158
|
-
// This ensures the regeneration logic is consistent
|
|
159
|
-
handleRegen();
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
// If the prompt hasn't changed, just exit edit mode
|
|
163
|
-
setEditedPrompt(null);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
// We're not using document.progress as it's always 100
|
|
167
|
-
// Just track the document loading state
|
|
168
|
-
const documentLoading = document.loading ?? false;
|
|
169
|
-
// Reset regeneration state when loading state changes
|
|
170
|
-
React.useEffect(() => {
|
|
171
|
-
if (!documentLoading && pendingRegenerationRef.current) {
|
|
172
|
-
pendingRegenerationRef.current = false;
|
|
173
|
-
setPendingRegeneration(false);
|
|
174
|
-
// Clear the generating prompt after completion
|
|
175
|
-
setTimeout(() => {
|
|
176
|
-
setGeneratingPrompt(null);
|
|
177
|
-
}, 500);
|
|
178
|
-
}
|
|
179
|
-
}, [documentLoading]);
|
|
180
|
-
// Additional check for document updates to detect version changes
|
|
181
|
-
const documentIdRef = React.useRef(document?._id);
|
|
182
|
-
const versionsLengthRef = React.useRef(versions?.length || 0);
|
|
183
|
-
React.useEffect(() => {
|
|
184
|
-
// Check if a new version was added (version count increased)
|
|
185
|
-
if (versions?.length > versionsLengthRef.current) {
|
|
186
|
-
pendingRegenerationRef.current = false;
|
|
187
|
-
setPendingRegeneration(false);
|
|
188
|
-
}
|
|
189
|
-
// Update refs
|
|
190
|
-
versionsLengthRef.current = versions?.length || 0;
|
|
191
|
-
documentIdRef.current = document?._id;
|
|
192
|
-
}, [document?._id, versions?.length]);
|
|
193
|
-
// Cleanup no longer needed as we're using real progress
|
|
194
|
-
// Calculate the effective progress - use real progress during loading, otherwise 100%
|
|
195
|
-
const effectiveProgress = loading ? progress : 100;
|
|
196
|
-
// Is regeneration in progress - either from loading state or pending state
|
|
197
|
-
const isRegenerating = pendingRegeneration || documentLoading === true || loading === true;
|
|
198
|
-
// Debug logging for render conditions
|
|
199
|
-
if (debug) {
|
|
200
|
-
logDebug('[ImgGenDisplay Debug] Render state:', {
|
|
201
|
-
documentId: document._id,
|
|
202
|
-
hasFiles: !!document._files,
|
|
203
|
-
fileKey,
|
|
204
|
-
versions,
|
|
205
|
-
versionIndex,
|
|
206
|
-
hasDefaultImage: !!document._files?.image,
|
|
207
|
-
isRegenerating,
|
|
208
|
-
loading,
|
|
209
|
-
error: error?.message,
|
|
210
|
-
totalVersions,
|
|
211
|
-
promptText,
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
if (!document._files || (!fileKey && !document._files.image)) {
|
|
215
|
-
if (debug) {
|
|
216
|
-
logDebug('[ImgGenDisplay Debug] Missing image file - showing error', {
|
|
217
|
-
hasFiles: !!document._files,
|
|
218
|
-
fileKey,
|
|
219
|
-
defaultImageExists: !!document._files?.image,
|
|
220
|
-
loading,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
return React.createElement(ImgGenError, { message: "Missing image file" });
|
|
224
|
-
}
|
|
225
|
-
// Determine which prompt to display:
|
|
226
|
-
// 1. If in edit mode, show the edited prompt
|
|
227
|
-
// 2. If generating, show the generating prompt
|
|
228
|
-
// 3. Otherwise, show the document's prompt
|
|
229
|
-
const displayPrompt = editedPrompt !== null
|
|
230
|
-
? editedPrompt
|
|
231
|
-
: pendingRegeneration && generatingPrompt !== null
|
|
232
|
-
? generatingPrompt
|
|
233
|
-
: promptText;
|
|
234
|
-
return (React.createElement("div", { className: combineClasses('imggen-root', className, classes.root), title: displayPrompt },
|
|
235
|
-
React.createElement("div", { className: "imggen-image-container", style: { position: 'relative', width: '100%' } },
|
|
236
|
-
React.createElement("button", { className: "imggen-expand-button", onClick: (e) => {
|
|
237
|
-
e.stopPropagation(); // Prevent click from propagating to parent elements
|
|
238
|
-
openFullscreen();
|
|
239
|
-
}, title: "Expand image", "aria-label": "Expand image" },
|
|
240
|
-
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", stroke: "currentColor", strokeWidth: "2", fill: "none", strokeLinecap: "round", strokeLinejoin: "round" },
|
|
241
|
-
React.createElement("polyline", { points: "15,5 20,5 20,10" }),
|
|
242
|
-
React.createElement("polyline", { points: "9,19 4,19 4,14" }),
|
|
243
|
-
React.createElement("line", { x1: "20", y1: "5", x2: "14", y2: "11" }),
|
|
244
|
-
React.createElement("line", { x1: "4", y1: "19", x2: "10", y2: "13" }))),
|
|
245
|
-
React.createElement(ImgFile, { file: currentFile, className: combineClasses('imggen-image', classes.image), alt: alt || 'Generated image', style: { width: '100%' } }),
|
|
246
|
-
isRegenerating && (React.createElement("div", { className: "imggen-progress-container", style: {
|
|
247
|
-
position: 'absolute',
|
|
248
|
-
top: 0,
|
|
249
|
-
left: 0,
|
|
250
|
-
width: '100%',
|
|
251
|
-
height: '6px',
|
|
252
|
-
overflow: 'hidden',
|
|
253
|
-
backgroundColor: 'rgba(0, 0, 0, 0.1)',
|
|
254
|
-
zIndex: 10,
|
|
255
|
-
} },
|
|
256
|
-
React.createElement("div", { className: combineClasses('imggen-progress', classes.progress), style: {
|
|
257
|
-
width: `${effectiveProgress}%`,
|
|
258
|
-
height: '100%',
|
|
259
|
-
backgroundColor: 'var(--imggen-accent-color, #0074d9)',
|
|
260
|
-
transition: 'width 0.5s ease-out',
|
|
261
|
-
}, "aria-hidden": "true" })))),
|
|
262
|
-
React.createElement(ImgGenModal, { isOpen: isFullscreen, onClose: closeFullscreen, currentFile: currentFile, alt: alt, promptText: displayPrompt, editedPrompt: editedPrompt, setEditedPrompt: setEditedPrompt, handlePromptEdit: handlePromptEdit, handleDeleteConfirm: handleDeleteConfirm, handlePrevVersion: handlePrevVersion, handleNextVersion: handleNextVersion, handleRegen: handleRegen, versionIndex: versionIndex, totalVersions: totalVersions, progress: effectiveProgress, classes: classes, versionFlash: versionFlash, isRegenerating: isRegenerating, error: error })));
|
|
263
|
-
}
|
|
264
|
-
//# sourceMappingURL=ImgGenDisplay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ImgGenDisplay.js","sourceRoot":"","sources":["../../../src/components/ImgGenUtils/ImgGenDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { combineClasses, defaultClasses } from '../../utils/style-utils';
|
|
3
|
-
import { ImageOverlay } from './overlays/ImageOverlay';
|
|
4
|
-
// Component for loading/placeholder state
|
|
5
|
-
export function ImgGenDisplayPlaceholder({ className, alt, prompt, progress, error, classes = defaultClasses, }) {
|
|
6
|
-
// State to track the visible progress width for animation
|
|
7
|
-
const [visibleProgress, setVisibleProgress] = React.useState(0);
|
|
8
|
-
// Animate progress bar when component mounts or progress changes
|
|
9
|
-
React.useEffect(() => {
|
|
10
|
-
// Only start at zero on initial mount, not on every progress update
|
|
11
|
-
if (progress === 0) {
|
|
12
|
-
setVisibleProgress(0);
|
|
13
|
-
}
|
|
14
|
-
// Smoothly animate to the actual progress (or minimum 5%)
|
|
15
|
-
const timer = setTimeout(() => {
|
|
16
|
-
setVisibleProgress(Math.max(5, progress));
|
|
17
|
-
}, 20); // Smaller delay for smoother transitions
|
|
18
|
-
return () => clearTimeout(timer);
|
|
19
|
-
}, [progress]);
|
|
20
|
-
// Extract error information from the error object
|
|
21
|
-
const parseErrorInfo = (error) => {
|
|
22
|
-
const errorMsg = error.message;
|
|
23
|
-
let title = 'Image Generation Failed';
|
|
24
|
-
let body = errorMsg;
|
|
25
|
-
let code = '';
|
|
26
|
-
// Try to parse JSON error details if present
|
|
27
|
-
if (errorMsg.includes('{')) {
|
|
28
|
-
try {
|
|
29
|
-
const jsonStart = errorMsg.indexOf('{');
|
|
30
|
-
const jsonStr = errorMsg.substring(jsonStart);
|
|
31
|
-
const jsonObj = JSON.parse(jsonStr);
|
|
32
|
-
// Get error code if it exists
|
|
33
|
-
if (errorMsg.match(/\d{3}/)) {
|
|
34
|
-
code = errorMsg.match(/\d{3}/)?.[0] || '';
|
|
35
|
-
}
|
|
36
|
-
// Special handling for moderation blocked errors
|
|
37
|
-
if (jsonObj.details?.error?.code === 'moderation_blocked' ||
|
|
38
|
-
jsonObj.code === 'moderation_blocked') {
|
|
39
|
-
// Include error code in title but avoid duplication
|
|
40
|
-
title = code ? `${code} - Failed to generate image` : 'Failed to generate image';
|
|
41
|
-
body =
|
|
42
|
-
'Your request was rejected as a result of our safety system. Your request may contain content that is not allowed by our safety system.';
|
|
43
|
-
return { title, body, code };
|
|
44
|
-
}
|
|
45
|
-
// Set the title from the main error message
|
|
46
|
-
if (jsonObj.error) {
|
|
47
|
-
title = jsonObj.error;
|
|
48
|
-
}
|
|
49
|
-
// Set the body from the detailed error message
|
|
50
|
-
if (jsonObj.details?.error?.message) {
|
|
51
|
-
body = jsonObj.details.error.message;
|
|
52
|
-
}
|
|
53
|
-
else if (jsonObj.error?.details?.error?.message) {
|
|
54
|
-
body = jsonObj.error.details.error.message;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch { }
|
|
58
|
-
}
|
|
59
|
-
return { title, body, code };
|
|
60
|
-
};
|
|
61
|
-
// Check if we're displaying an error
|
|
62
|
-
if (error) {
|
|
63
|
-
return (React.createElement("div", { className: combineClasses('imggen-placeholder', 'imggen-error-container', className, classes.placeholder), style: {
|
|
64
|
-
backgroundColor: '#222', // Dark gray background
|
|
65
|
-
width: '100%',
|
|
66
|
-
height: '100%',
|
|
67
|
-
minHeight: '512px', // Standard image height
|
|
68
|
-
aspectRatio: '1 / 1', // Square aspect ratio like images
|
|
69
|
-
}, "aria-label": alt || 'Error display', role: "img" },
|
|
70
|
-
React.createElement("div", { className: combineClasses('imggen-error', classes.error) }, (() => {
|
|
71
|
-
const { title, body } = parseErrorInfo(error);
|
|
72
|
-
return (React.createElement(React.Fragment, null,
|
|
73
|
-
React.createElement("h3", { className: "imggen-error-title", style: { color: '#ff4d4d', margin: '0 0 0.75rem 0' } }, title),
|
|
74
|
-
React.createElement("p", { className: "imggen-error-message", style: { color: '#e0e0e0', margin: '0' } }, body)));
|
|
75
|
-
})())));
|
|
76
|
-
}
|
|
77
|
-
// Regular placeholder when no error
|
|
78
|
-
return (React.createElement("div", { className: combineClasses('imggen-placeholder', className, classes.placeholder), "aria-label": alt || prompt || 'Image placeholder', role: "img", style: {
|
|
79
|
-
display: 'flex',
|
|
80
|
-
flexDirection: 'column',
|
|
81
|
-
justifyContent: 'center',
|
|
82
|
-
alignItems: 'center',
|
|
83
|
-
textAlign: 'center',
|
|
84
|
-
minHeight: '200px',
|
|
85
|
-
position: 'relative',
|
|
86
|
-
backgroundColor: '#222', // Ensure dark background
|
|
87
|
-
color: '#eee', // Light text color
|
|
88
|
-
} },
|
|
89
|
-
prompt && (React.createElement("div", { className: "imggen-progress-container", style: {
|
|
90
|
-
position: 'absolute',
|
|
91
|
-
top: 0,
|
|
92
|
-
left: 0,
|
|
93
|
-
width: '100%',
|
|
94
|
-
height: '6px',
|
|
95
|
-
overflow: 'hidden',
|
|
96
|
-
backgroundColor: 'rgba(0, 0, 0, 0.1)',
|
|
97
|
-
zIndex: 10,
|
|
98
|
-
} },
|
|
99
|
-
React.createElement("div", { className: combineClasses('imggen-progress', classes.progress), style: {
|
|
100
|
-
width: `${visibleProgress}%`,
|
|
101
|
-
height: '100%',
|
|
102
|
-
backgroundColor: 'var(--imggen-accent-color, #0074d9)',
|
|
103
|
-
transition: 'width 0.5s ease-out',
|
|
104
|
-
}, "aria-hidden": "true" }))),
|
|
105
|
-
!prompt && (React.createElement("div", { style: {
|
|
106
|
-
color: '#eee',
|
|
107
|
-
fontSize: 'var(--imggen-font-size)',
|
|
108
|
-
padding: '20px',
|
|
109
|
-
} }, "Waiting for prompt")),
|
|
110
|
-
prompt && !error && (
|
|
111
|
-
/* In production environment, show the styled prompt text */
|
|
112
|
-
React.createElement(React.Fragment, null,
|
|
113
|
-
React.createElement("div", { style: {
|
|
114
|
-
color: '#eee',
|
|
115
|
-
fontSize: 'var(--imggen-font-size)',
|
|
116
|
-
padding: '20px',
|
|
117
|
-
maxWidth: '90%',
|
|
118
|
-
wordBreak: 'break-word',
|
|
119
|
-
fontWeight: 'bold',
|
|
120
|
-
textAlign: 'center',
|
|
121
|
-
} }, prompt),
|
|
122
|
-
React.createElement("div", { style: { display: 'none' } },
|
|
123
|
-
React.createElement(ImageOverlay, { promptText: prompt || '', editedPrompt: null, setEditedPrompt: () => { }, handlePromptEdit: () => { }, handleDeleteConfirm: () => { }, handlePrevVersion: () => { }, handleNextVersion: () => { }, handleRegen: () => { }, versionIndex: 0, totalVersions: 1, classes: classes, showControls: false, showDelete: false }))))));
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=ImgGenDisplayPlaceholder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ImgGenDisplayPlaceholder.js","sourceRoot":"","sources":["../../../src/components/ImgGenUtils/ImgGenDisplayPlaceholder.tsx"],"names":[],"mappings":"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"}
|