private String getArrowKeyBlockingFunction()

in plugin/src/software/aws/toolkits/eclipse/amazonq/providers/assets/ChatWebViewAssetProvider.java [250:279]


    private String getArrowKeyBlockingFunction() {
        return """
                window.addEventListener('load', () => {
                    const textarea = document.querySelector('textarea.mynah-chat-prompt-input');
                    if (textarea) {
                        textarea.addEventListener('keydown', (event) => {
                            const cursorPosition = textarea.selectionStart;
                            const hasText = textarea.value.length > 0;

                            // block arrow keys on empty text area
                            switch (event.key) {
                                case 'ArrowLeft':
                                    if (!hasText || cursorPosition === 0) {
                                        event.preventDefault();
                                        event.stopPropagation();
                                    }
                                    break;

                                case 'ArrowRight':
                                    if (!hasText || cursorPosition === textarea.value.length) {
                                        event.preventDefault();
                                        event.stopPropagation();
                                    }
                                    break;
                            }
                        });
                    }
                });
                """;
    }