@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.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: "flex items-center justify-center gap-2 w-auto px-4 h-12 rounded-full bg-zinc-950 text-white shadow-xl shadow-zinc-900/20 border border-white/10 hover:bg-zinc-800 hover:scale-105 active:scale-95 transition-all duration-300 disabled:cursor-not-allowed disabled:bg-zinc-700 disabled:shadow-none disabled:border-zinc-600/50",
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
- className: "sticky top-6 z-50 mx-auto bg-white/70 backdrop-blur-2xl border border-white/60 shadow-[0_8px_30px_rgb(0,0,0,0.04)] rounded-[2rem] flex items-center justify-between p-2 mb-12 select-none transition-all",
360
- style: {
361
- maxWidth: "1240px"
362
- },
363
- children: [
364
- /* @__PURE__ */ jsx("div", { className: "flex gap-1 overflow-x-auto custom-scrollbar pr-2 items-center", children: blockTypes.map((type) => {
365
- var _a;
366
- const selected = ((_a = blocks.find((b) => b.id === focusedBlockId)) == null ? void 0 : _a.type) === type;
367
- return /* @__PURE__ */ jsxs(
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
- "button",
369
+ "input",
462
370
  {
463
- onClick: () => setIsRulesOpen(!isRulesOpen),
464
- className: `flex items-center justify-center w-10 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-[18px] h-[18px]" })
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
- isRulesOpen && /* @__PURE__ */ jsxs("div", { className: "absolute top-full mt-2 right-0 bg-white/95 backdrop-blur-3xl rounded-[1.5rem] shadow-[0_20px_60px_-15px_rgba(0,0,0,0.1)] p-5 text-sm text-zinc-700 select-none font-sans overflow-hidden transition-all duration-300 w-72 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
- ] })
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 pb-24", children: /* @__PURE__ */ jsx(
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__ */ jsx("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: /* @__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"
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(