@vishu1301/script-writing 1.3.3 → 1.3.4
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/index.cjs +162 -152
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +162 -152
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -92,7 +92,7 @@ declare const CATEGORIES: {
|
|
|
92
92
|
icon: ElementType;
|
|
93
93
|
}[];
|
|
94
94
|
|
|
95
|
-
declare function ScriptBreakdownSceneView({ blocks, characters, isLoading, sceneNumber, tags, selectionMenu, handleMouseUp, addTag, updateTag, removeTag, clearSelection, menuPlacement, menuRef, sceneBrief, setSceneBrief, onSummarize, isSummarizing, aiSummarized, }: {
|
|
95
|
+
declare function ScriptBreakdownSceneView({ blocks, characters, isLoading, sceneNumber, tags, selectionMenu, handleMouseUp, addTag, updateTag, removeTag, clearSelection, menuPlacement, menuRef, sceneBrief, setSceneBrief, onSummarize, isSummarizing, aiSummarized, onUpdateBrief, }: {
|
|
96
96
|
blocks: Block[];
|
|
97
97
|
characters: string[];
|
|
98
98
|
isLoading: boolean;
|
|
@@ -118,6 +118,7 @@ declare function ScriptBreakdownSceneView({ blocks, characters, isLoading, scene
|
|
|
118
118
|
onSummarize?: () => void;
|
|
119
119
|
isSummarizing?: boolean;
|
|
120
120
|
aiSummarized?: boolean;
|
|
121
|
+
onUpdateBrief?: () => void;
|
|
121
122
|
}): react_jsx_runtime.JSX.Element;
|
|
122
123
|
|
|
123
124
|
interface UseScriptBreakdownSceneOptions {
|
package/dist/index.d.ts
CHANGED
|
@@ -92,7 +92,7 @@ declare const CATEGORIES: {
|
|
|
92
92
|
icon: ElementType;
|
|
93
93
|
}[];
|
|
94
94
|
|
|
95
|
-
declare function ScriptBreakdownSceneView({ blocks, characters, isLoading, sceneNumber, tags, selectionMenu, handleMouseUp, addTag, updateTag, removeTag, clearSelection, menuPlacement, menuRef, sceneBrief, setSceneBrief, onSummarize, isSummarizing, aiSummarized, }: {
|
|
95
|
+
declare function ScriptBreakdownSceneView({ blocks, characters, isLoading, sceneNumber, tags, selectionMenu, handleMouseUp, addTag, updateTag, removeTag, clearSelection, menuPlacement, menuRef, sceneBrief, setSceneBrief, onSummarize, isSummarizing, aiSummarized, onUpdateBrief, }: {
|
|
96
96
|
blocks: Block[];
|
|
97
97
|
characters: string[];
|
|
98
98
|
isLoading: boolean;
|
|
@@ -118,6 +118,7 @@ declare function ScriptBreakdownSceneView({ blocks, characters, isLoading, scene
|
|
|
118
118
|
onSummarize?: () => void;
|
|
119
119
|
isSummarizing?: boolean;
|
|
120
120
|
aiSummarized?: boolean;
|
|
121
|
+
onUpdateBrief?: () => void;
|
|
121
122
|
}): react_jsx_runtime.JSX.Element;
|
|
122
123
|
|
|
123
124
|
interface UseScriptBreakdownSceneOptions {
|
package/dist/index.js
CHANGED
|
@@ -270,9 +270,9 @@ function PdfImporter({ onScriptImported, disabled, children }) {
|
|
|
270
270
|
{
|
|
271
271
|
onClick: handleClick,
|
|
272
272
|
disabled: isProcessing || disabled,
|
|
273
|
-
className:
|
|
273
|
+
className: `flex items-center justify-center transition-all duration-200 active:scale-95 disabled:cursor-not-allowed disabled:opacity-50 ${isProcessing ? "w-auto px-3 sm:px-4 h-8 sm:h-10 rounded-full text-sm font-semibold bg-zinc-100 text-zinc-500" : "w-8 h-8 sm:w-10 sm:h-10 rounded-full text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900"}`,
|
|
274
274
|
"aria-label": "Import Script",
|
|
275
|
-
children: isProcessing ? /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold", children: "Processing..." }) : children
|
|
275
|
+
children: isProcessing ? /* @__PURE__ */ jsx("span", { className: "text-xs sm:text-sm font-semibold", children: "Processing..." }) : children
|
|
276
276
|
}
|
|
277
277
|
),
|
|
278
278
|
error && /* @__PURE__ */ jsxs("p", { className: "sr-only", children: [
|
|
@@ -353,150 +353,148 @@ function ScreenplayEditorView({
|
|
|
353
353
|
}
|
|
354
354
|
}, [COURIER_STACK]);
|
|
355
355
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
356
|
-
/* @__PURE__ */ jsxs(
|
|
357
|
-
"div",
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
"button",
|
|
369
|
-
{
|
|
370
|
-
type: "button",
|
|
371
|
-
disabled: isLocked,
|
|
372
|
-
className: `group flex items-center gap-2.5 px-4 py-2 rounded-full font-semibold text-sm transition-all duration-300 ease-out active:scale-95 ${selected ? "bg-zinc-900 text-white shadow-md shadow-zinc-900/20" : "text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900"} ${isLocked ? "opacity-50 cursor-not-allowed" : ""}`,
|
|
373
|
-
onClick: () => handleBlockTypeChange(type),
|
|
374
|
-
children: [
|
|
375
|
-
/* @__PURE__ */ jsx(
|
|
376
|
-
"input",
|
|
377
|
-
{
|
|
378
|
-
type: "radio",
|
|
379
|
-
name: "blockType",
|
|
380
|
-
id: `block-type-${type}`,
|
|
381
|
-
className: "sr-only",
|
|
382
|
-
"aria-label": blockStyles[type].label,
|
|
383
|
-
checked: selected,
|
|
384
|
-
readOnly: true
|
|
385
|
-
}
|
|
386
|
-
),
|
|
387
|
-
/* @__PURE__ */ jsxs(
|
|
388
|
-
"label",
|
|
389
|
-
{
|
|
390
|
-
htmlFor: `block-type-${type}`,
|
|
391
|
-
className: "flex items-center gap-2 cursor-pointer pointer-events-none",
|
|
392
|
-
children: [
|
|
393
|
-
/* @__PURE__ */ jsx(
|
|
394
|
-
"div",
|
|
395
|
-
{
|
|
396
|
-
className: `${selected ? "opacity-100" : "opacity-70 group-hover:opacity-100"} transition-opacity duration-200`,
|
|
397
|
-
children: icons[type]
|
|
398
|
-
}
|
|
399
|
-
),
|
|
400
|
-
/* @__PURE__ */ jsx("span", { className: "whitespace-nowrap hidden sm:inline tracking-wide", children: blockStyles[type].label })
|
|
401
|
-
]
|
|
402
|
-
}
|
|
403
|
-
)
|
|
404
|
-
]
|
|
405
|
-
},
|
|
406
|
-
type
|
|
407
|
-
);
|
|
408
|
-
}) }),
|
|
409
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 shrink-0 relative px-1", children: [
|
|
410
|
-
/* @__PURE__ */ jsx("div", { className: "w-[1px] h-6 bg-zinc-200/80 mx-2 hidden sm:block rounded-full" }),
|
|
411
|
-
showPdfImport && !isLocked && /* @__PURE__ */ jsx(
|
|
412
|
-
PdfImporter,
|
|
413
|
-
{
|
|
414
|
-
disabled: isLocked,
|
|
415
|
-
onScriptImported: handleScriptImport,
|
|
416
|
-
children: /* @__PURE__ */ jsx("div", { title: "Import Script", children: /* @__PURE__ */ jsx(Upload, { className: "w-[18px] h-[18px]" }) })
|
|
417
|
-
}
|
|
418
|
-
),
|
|
419
|
-
onToggleLock && /* @__PURE__ */ jsx(
|
|
420
|
-
"button",
|
|
421
|
-
{
|
|
422
|
-
onClick: onToggleLock,
|
|
423
|
-
className: `flex items-center justify-center w-10 h-10 rounded-full transition-all duration-200 active:scale-95 ${isLocked ? "text-rose-500 hover:bg-rose-50" : "text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900"}`,
|
|
424
|
-
title: isLocked ? "Unlock Script" : "Lock Script",
|
|
425
|
-
"aria-label": isLocked ? "Unlock Script" : "Lock Script",
|
|
426
|
-
children: isLocked ? /* @__PURE__ */ jsx(Lock, { className: "w-[18px] h-[18px]" }) : /* @__PURE__ */ jsx(Unlock, { className: "w-[18px] h-[18px]" })
|
|
427
|
-
}
|
|
428
|
-
),
|
|
429
|
-
onSave && showSaveButton && !isLocked && /* @__PURE__ */ jsx(
|
|
430
|
-
"button",
|
|
431
|
-
{
|
|
432
|
-
onClick: onSave,
|
|
433
|
-
className: "flex items-center justify-center w-10 h-10 rounded-full text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 transition-all duration-200 active:scale-95",
|
|
434
|
-
title: "Save Script",
|
|
435
|
-
"aria-label": "Save Script",
|
|
436
|
-
children: /* @__PURE__ */ jsx(Save, { className: "w-[18px] h-[18px]" })
|
|
437
|
-
}
|
|
438
|
-
),
|
|
439
|
-
onSaveAsPdf && showSaveButton && /* @__PURE__ */ jsx(
|
|
440
|
-
"button",
|
|
441
|
-
{
|
|
442
|
-
onClick: onSaveAsPdf,
|
|
443
|
-
className: "flex items-center justify-center w-10 h-10 rounded-full text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 transition-all duration-200 active:scale-95",
|
|
444
|
-
title: "Save as PDF",
|
|
445
|
-
"aria-label": "Save Script as PDF",
|
|
446
|
-
children: /* @__PURE__ */ jsx(FileDown, { className: "w-[18px] h-[18px]" })
|
|
447
|
-
}
|
|
448
|
-
),
|
|
449
|
-
onSyncWithCloud && showSyncButton && !isLocked && /* @__PURE__ */ jsx(
|
|
450
|
-
"button",
|
|
451
|
-
{
|
|
452
|
-
onClick: onSyncWithCloud,
|
|
453
|
-
className: "flex items-center justify-center w-10 h-10 rounded-full text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 transition-all duration-200 active:scale-95",
|
|
454
|
-
title: "Sync with Cloud",
|
|
455
|
-
"aria-label": "Sync with Cloud",
|
|
456
|
-
children: /* @__PURE__ */ jsx(RefreshCcw, { className: "w-[18px] h-[18px]" })
|
|
457
|
-
}
|
|
458
|
-
),
|
|
459
|
-
/* @__PURE__ */ jsxs("div", { ref: rulesRef, className: "relative flex items-center", children: [
|
|
356
|
+
/* @__PURE__ */ jsxs("div", { className: "sticky top-2 sm:top-6 z-50 mx-auto w-full max-w-5xl bg-white/80 backdrop-blur-2xl border border-white/60 shadow-[0_8px_30px_rgb(0,0,0,0.06)] rounded-[1.5rem] sm:rounded-[2rem] flex items-center justify-between p-1.5 sm:p-2 mb-6 sm:mb-12 select-none transition-all", children: [
|
|
357
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-center gap-1 overflow-x-auto custom-scrollbar pr-2 flex-1 [mask-image:linear-gradient(to_right,white_90%,transparent_100%)] sm:[mask-image:none] no-scrollbar", children: blockTypes.map((type) => {
|
|
358
|
+
var _a;
|
|
359
|
+
const selected = ((_a = blocks.find((b) => b.id === focusedBlockId)) == null ? void 0 : _a.type) === type;
|
|
360
|
+
return /* @__PURE__ */ jsxs(
|
|
361
|
+
"button",
|
|
362
|
+
{
|
|
363
|
+
type: "button",
|
|
364
|
+
disabled: isLocked,
|
|
365
|
+
className: `group flex shrink-0 items-center gap-2 sm:gap-2.5 px-3 py-1.5 sm:px-4 sm:py-2 rounded-full font-semibold text-xs sm:text-sm transition-all duration-300 ease-out active:scale-95 ${selected ? "bg-zinc-900 text-white shadow-md shadow-zinc-900/20" : "text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900"} ${isLocked ? "opacity-50 cursor-not-allowed" : ""}`,
|
|
366
|
+
onClick: () => handleBlockTypeChange(type),
|
|
367
|
+
children: [
|
|
460
368
|
/* @__PURE__ */ jsx(
|
|
461
|
-
"
|
|
369
|
+
"input",
|
|
462
370
|
{
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
371
|
+
type: "radio",
|
|
372
|
+
name: "blockType",
|
|
373
|
+
id: `block-type-${type}`,
|
|
374
|
+
className: "sr-only",
|
|
375
|
+
"aria-label": blockStyles[type].label,
|
|
376
|
+
checked: selected,
|
|
377
|
+
readOnly: true
|
|
468
378
|
}
|
|
469
379
|
),
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
380
|
+
/* @__PURE__ */ jsxs(
|
|
381
|
+
"label",
|
|
382
|
+
{
|
|
383
|
+
htmlFor: `block-type-${type}`,
|
|
384
|
+
className: "flex items-center gap-2 cursor-pointer pointer-events-none",
|
|
385
|
+
children: [
|
|
386
|
+
/* @__PURE__ */ jsx(
|
|
387
|
+
"div",
|
|
388
|
+
{
|
|
389
|
+
className: `${selected ? "opacity-100" : "opacity-70 group-hover:opacity-100"} transition-opacity duration-200 flex items-center justify-center`,
|
|
390
|
+
children: icons[type]
|
|
391
|
+
}
|
|
392
|
+
),
|
|
393
|
+
/* @__PURE__ */ jsx("span", { className: "whitespace-nowrap hidden lg:inline tracking-wide", children: blockStyles[type].label })
|
|
394
|
+
]
|
|
395
|
+
}
|
|
396
|
+
)
|
|
397
|
+
]
|
|
398
|
+
},
|
|
399
|
+
type
|
|
400
|
+
);
|
|
401
|
+
}) }),
|
|
402
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-0.5 sm:gap-1 shrink-0 relative px-1 sm:px-2 ml-2 sm:ml-0 border-l border-zinc-200/80 sm:border-none pl-2 sm:pl-1", children: [
|
|
403
|
+
/* @__PURE__ */ jsx("div", { className: "w-[1px] h-6 bg-zinc-200/80 mx-1 sm:mx-2 hidden sm:block rounded-full" }),
|
|
404
|
+
showPdfImport && !isLocked && /* @__PURE__ */ jsx(
|
|
405
|
+
PdfImporter,
|
|
406
|
+
{
|
|
407
|
+
disabled: isLocked,
|
|
408
|
+
onScriptImported: handleScriptImport,
|
|
409
|
+
children: /* @__PURE__ */ jsx(
|
|
410
|
+
"div",
|
|
411
|
+
{
|
|
412
|
+
title: "Import Script",
|
|
413
|
+
className: "flex items-center justify-center",
|
|
414
|
+
children: /* @__PURE__ */ jsx(Upload, { className: "w-4 h-4 sm:w-[18px] sm:h-[18px]" })
|
|
415
|
+
}
|
|
416
|
+
)
|
|
417
|
+
}
|
|
418
|
+
),
|
|
419
|
+
onToggleLock && /* @__PURE__ */ jsx(
|
|
420
|
+
"button",
|
|
421
|
+
{
|
|
422
|
+
onClick: onToggleLock,
|
|
423
|
+
className: `flex items-center justify-center w-8 h-8 sm:w-10 sm:h-10 rounded-full transition-all duration-200 active:scale-95 ${isLocked ? "text-rose-500 hover:bg-rose-50" : "text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900"}`,
|
|
424
|
+
title: isLocked ? "Unlock Script" : "Lock Script",
|
|
425
|
+
"aria-label": isLocked ? "Unlock Script" : "Lock Script",
|
|
426
|
+
children: isLocked ? /* @__PURE__ */ jsx(Lock, { className: "w-4 h-4 sm:w-[18px] sm:h-[18px]" }) : /* @__PURE__ */ jsx(Unlock, { className: "w-4 h-4 sm:w-[18px] sm:h-[18px]" })
|
|
427
|
+
}
|
|
428
|
+
),
|
|
429
|
+
onSave && showSaveButton && !isLocked && /* @__PURE__ */ jsx(
|
|
430
|
+
"button",
|
|
431
|
+
{
|
|
432
|
+
onClick: onSave,
|
|
433
|
+
className: "flex items-center justify-center w-8 h-8 sm:w-10 sm:h-10 rounded-full text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 transition-all duration-200 active:scale-95",
|
|
434
|
+
title: "Save Script",
|
|
435
|
+
"aria-label": "Save Script",
|
|
436
|
+
children: /* @__PURE__ */ jsx(Save, { className: "w-4 h-4 sm:w-[18px] sm:h-[18px]" })
|
|
437
|
+
}
|
|
438
|
+
),
|
|
439
|
+
onSaveAsPdf && showSaveButton && /* @__PURE__ */ jsx(
|
|
440
|
+
"button",
|
|
441
|
+
{
|
|
442
|
+
onClick: onSaveAsPdf,
|
|
443
|
+
className: "flex items-center justify-center w-8 h-8 sm:w-10 sm:h-10 rounded-full text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 transition-all duration-200 active:scale-95",
|
|
444
|
+
title: "Save as PDF",
|
|
445
|
+
"aria-label": "Save Script as PDF",
|
|
446
|
+
children: /* @__PURE__ */ jsx(FileDown, { className: "w-4 h-4 sm:w-[18px] sm:h-[18px]" })
|
|
447
|
+
}
|
|
448
|
+
),
|
|
449
|
+
onSyncWithCloud && showSyncButton && !isLocked && /* @__PURE__ */ jsx(
|
|
450
|
+
"button",
|
|
451
|
+
{
|
|
452
|
+
onClick: onSyncWithCloud,
|
|
453
|
+
className: "flex items-center justify-center w-8 h-8 sm:w-10 sm:h-10 rounded-full text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900 transition-all duration-200 active:scale-95",
|
|
454
|
+
title: "Sync with Cloud",
|
|
455
|
+
"aria-label": "Sync with Cloud",
|
|
456
|
+
children: /* @__PURE__ */ jsx(RefreshCcw, { className: "w-4 h-4 sm:w-[18px] sm:h-[18px]" })
|
|
457
|
+
}
|
|
458
|
+
),
|
|
459
|
+
/* @__PURE__ */ jsxs("div", { ref: rulesRef, className: "relative flex items-center", children: [
|
|
460
|
+
/* @__PURE__ */ jsx(
|
|
461
|
+
"button",
|
|
462
|
+
{
|
|
463
|
+
onClick: () => setIsRulesOpen(!isRulesOpen),
|
|
464
|
+
className: `flex items-center justify-center w-8 h-8 sm:w-10 sm:h-10 rounded-full transition-all duration-200 active:scale-95 ${isRulesOpen ? "bg-zinc-900 text-white shadow-md shadow-zinc-900/20" : "text-zinc-500 hover:bg-zinc-100 hover:text-zinc-900"}`,
|
|
465
|
+
title: "Settings & Shortcuts",
|
|
466
|
+
"aria-label": "Toggle Settings",
|
|
467
|
+
children: /* @__PURE__ */ jsx(Cog, { className: "w-4 h-4 sm:w-[18px] sm:h-[18px]" })
|
|
468
|
+
}
|
|
469
|
+
),
|
|
470
|
+
isRulesOpen && /* @__PURE__ */ jsxs("div", { className: "absolute top-full mt-2 right-0 sm:-right-2 bg-white/95 backdrop-blur-3xl rounded-[1.5rem] shadow-[0_20px_60px_-15px_rgba(0,0,0,0.1)] p-4 sm:p-5 text-sm text-zinc-700 select-none font-sans overflow-hidden transition-all duration-300 w-[calc(100vw-2rem)] sm:w-72 max-w-[18rem] origin-top-right animate-in fade-in zoom-in-95 z-50", children: [
|
|
471
|
+
/* @__PURE__ */ jsxs("h4", { className: "font-bold text-zinc-900 mb-4 text-sm flex items-center gap-2", children: [
|
|
472
|
+
/* @__PURE__ */ jsx(Cog, { className: "w-4 h-4 text-zinc-400" }),
|
|
473
|
+
"Settings & Shortcuts"
|
|
474
|
+
] }),
|
|
475
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxs("ul", { className: "space-y-2.5", children: [
|
|
476
|
+
/* @__PURE__ */ jsxs("li", { className: "flex items-center justify-between gap-6", children: [
|
|
477
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-zinc-600", children: "New Block" }),
|
|
478
|
+
/* @__PURE__ */ jsx("kbd", { className: "px-2 py-1 text-[11px] font-bold text-zinc-700 bg-white border border-zinc-200/80 shadow-[0_2px_4px_rgb(0,0,0,0.02)] rounded-md", children: "Enter" })
|
|
479
|
+
] }),
|
|
480
|
+
/* @__PURE__ */ jsxs("li", { className: "flex items-center justify-between gap-6", children: [
|
|
481
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-zinc-600", children: "Delete Block" }),
|
|
482
|
+
/* @__PURE__ */ jsx("kbd", { className: "px-2 py-1 text-[11px] font-bold text-zinc-700 bg-white border border-zinc-200/80 shadow-[0_2px_4px_rgb(0,0,0,0.02)] rounded-md", children: "Backspace" })
|
|
483
|
+
] }),
|
|
484
|
+
/* @__PURE__ */ jsxs("li", { className: "flex items-center justify-between gap-6", children: [
|
|
485
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-zinc-600", children: "Change Type" }),
|
|
486
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
487
|
+
/* @__PURE__ */ jsx("kbd", { className: "px-2 py-1 text-[11px] font-bold text-zinc-700 bg-white border border-zinc-200/80 shadow-[0_2px_4px_rgb(0,0,0,0.02)] rounded-md", children: "Ctrl" }),
|
|
488
|
+
/* @__PURE__ */ jsx("span", { className: "text-zinc-400 font-medium", children: "+" }),
|
|
489
|
+
/* @__PURE__ */ jsx("kbd", { className: "px-2 py-1 text-[11px] font-bold text-zinc-700 bg-white border border-zinc-200/80 shadow-[0_2px_4px_rgb(0,0,0,0.02)] rounded-md", children: "\u2191/\u2193" })
|
|
490
|
+
] })
|
|
493
491
|
] })
|
|
494
|
-
] })
|
|
492
|
+
] }) })
|
|
495
493
|
] })
|
|
496
|
-
]
|
|
497
|
-
}
|
|
498
|
-
),
|
|
499
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-12 w-full items-center
|
|
494
|
+
] })
|
|
495
|
+
] })
|
|
496
|
+
] }),
|
|
497
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-12 pb-24 w-full items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
500
498
|
"div",
|
|
501
499
|
{
|
|
502
500
|
className: "relative bg-[#fdfdfc] shadow-2xl shadow-zinc-300/60 border border-zinc-100 rounded-sm md:rounded-md pl-[1.5in] py-[1in] pr-[1in] flex flex-col w-[210mm] min-h-[297mm] shrink-0",
|
|
@@ -1812,7 +1810,8 @@ function ScriptBreakdownSceneView({
|
|
|
1812
1810
|
setSceneBrief,
|
|
1813
1811
|
onSummarize,
|
|
1814
1812
|
isSummarizing,
|
|
1815
|
-
aiSummarized = false
|
|
1813
|
+
aiSummarized = false,
|
|
1814
|
+
onUpdateBrief
|
|
1816
1815
|
}) {
|
|
1817
1816
|
const [expanded, setExpanded] = useState(false);
|
|
1818
1817
|
const [expandedCategories, setExpandedCategories] = useState({});
|
|
@@ -2032,18 +2031,29 @@ function ScriptBreakdownSceneView({
|
|
|
2032
2031
|
/* @__PURE__ */ jsx("span", { className: "flex items-center justify-center w-8 h-8 rounded-full bg-slate-100/80 shadow-inner border border-slate-200/50", children: /* @__PURE__ */ jsx(AlignLeft, { className: "w-3.5 h-3.5 text-slate-500" }) }),
|
|
2033
2032
|
"Scene Brief"
|
|
2034
2033
|
] }),
|
|
2035
|
-
/* @__PURE__ */
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2034
|
+
/* @__PURE__ */ jsxs("div", { className: "relative bg-zinc-50/50 border border-zinc-200/60 rounded-xl p-4 md:p-6 shadow-inner focus-within:bg-white focus-within:border-zinc-300 focus-within:shadow-[0_8px_30px_rgb(0,0,0,0.04)] transition-all duration-300", children: [
|
|
2035
|
+
/* @__PURE__ */ jsx(
|
|
2036
|
+
"textarea",
|
|
2037
|
+
{
|
|
2038
|
+
value: sceneBrief,
|
|
2039
|
+
onChange: (e) => setSceneBrief(e.target.value),
|
|
2040
|
+
placeholder: "Write a brief description or notes for this scene...",
|
|
2041
|
+
className: "w-full min-h-[120px] bg-transparent outline-none resize-y text-zinc-700 placeholder:text-zinc-400 text-sm md:text-base custom-scrollbar font-sans select-none",
|
|
2042
|
+
style: {
|
|
2043
|
+
lineHeight: "1.6"
|
|
2044
|
+
}
|
|
2044
2045
|
}
|
|
2045
|
-
|
|
2046
|
-
|
|
2046
|
+
),
|
|
2047
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ jsx(
|
|
2048
|
+
"button",
|
|
2049
|
+
{
|
|
2050
|
+
onClick: onUpdateBrief,
|
|
2051
|
+
disabled: !sceneBrief || sceneBrief.trim() === "",
|
|
2052
|
+
className: "rounded-full bg-[#15607b] px-6 py-3 text-[13px] font-semibold tracking-wide text-white shadow-md transition-all hover:bg-[#134a61] hover:shadow-lg active:scale-95 disabled:bg-gray-200 disabled:cursor-not-allowed disabled:opacity-95 disabled:text-black disabled:shadow-none",
|
|
2053
|
+
children: "Update"
|
|
2054
|
+
}
|
|
2055
|
+
) })
|
|
2056
|
+
] })
|
|
2047
2057
|
] })
|
|
2048
2058
|
] }),
|
|
2049
2059
|
/* @__PURE__ */ jsxs(
|