diff --git a/frontend/src/tools/drawing/TextTool.ts b/frontend/src/tools/drawing/TextTool.ts new file mode 100644 index 0000000..9730053 --- /dev/null +++ b/frontend/src/tools/drawing/TextTool.ts @@ -0,0 +1,32 @@ +import { Tool } from '../Tool'; +import { YjsDocument } from '../../crdt/YjsDocument'; + +class TextTool extends Tool { + constructor(yjsDoc: YjsDocument) { + super(yjsDoc); + this.name = 'TextTool'; + } + + onMouseDown(event: MouseEvent): void { + // Get text input from user + const text = prompt('Enter text:'); + if (text !== null && text !== '') { + // Create text element in Yjs document + this.yjsDoc.createText(event.clientX, event.clientY, text); + } + } + + onMouseMove(event: MouseEvent): void { + // No preview needed for text tool + } + + onMouseUp(event: MouseEvent): void { + // Handle mouse up if needed + } + + onKeyUp(event: KeyboardEvent): void { + // Handle key up events + } +} + +export { TextTool }; \ No newline at end of file