diff --git a/servers/nextjs/app/custom-layout/components/AnthropicKeyWarning.tsx b/servers/nextjs/app/custom-layout/components/AnthropicKeyWarning.tsx new file mode 100644 index 00000000..68d8e565 --- /dev/null +++ b/servers/nextjs/app/custom-layout/components/AnthropicKeyWarning.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import Header from "@/components/Header"; + +export const AnthropicKeyWarning: React.FC = () => { + return ( +
+
+
+
+

+ Please put Anthropic Key To Process The Layout +

+

+ It Only works on Anthropic(Claude-4). +

+
+
+
+ ); +}; \ No newline at end of file diff --git a/servers/nextjs/app/custom-layout/components/EachSlide/EditControls.tsx b/servers/nextjs/app/custom-layout/components/EachSlide/EditControls.tsx new file mode 100644 index 00000000..2ad731b7 --- /dev/null +++ b/servers/nextjs/app/custom-layout/components/EachSlide/EditControls.tsx @@ -0,0 +1,165 @@ +import React from "react"; +import { Button } from "@/components/ui/button"; +import { Textarea } from "@/components/ui/textarea"; +import { Pencil, Eraser, RotateCcw, SendHorizontal, X } from "lucide-react"; +import { EditControlsProps } from "../../types"; + +export const EditControls: React.FC = ({ + isEditMode, + prompt, + isUpdating, + strokeWidth, + strokeColor, + eraserMode, + onPromptChange, + onSave, + onCancel, + onStrokeWidthChange, + onStrokeColorChange, + onEraserModeChange, + onClearCanvas, +}) => { + const colors = [ + "#000000", + "#FF0000", + "#00FF00", + "#0000FF", + "#FFFF00", + "#FF00FF", + "#00FFFF", + "#FFA500", + ]; + + const strokeWidths = [1, 3, 5, 8, 12]; + + if (!isEditMode) return null; + + return ( +
+ {/* Drawing Tools */} +
+
+ {/* Drawing Tools */} +
+ + + +
+ + {/* Color Picker */} + {!eraserMode && ( +
+ {colors.map((color) => ( +
+ )} + + {/* Stroke Width */} +
+ {strokeWidths.map((width) => ( + + ))} +
+ + +
+ + +
+ + {/* Prompt Section */} +
+ +
+