diff --git a/lint-errors.txt b/lint-errors.txt new file mode 100644 index 00000000..b42ecd5a Binary files /dev/null and b/lint-errors.txt differ diff --git a/lint.txt b/lint.txt new file mode 100644 index 00000000..17f24f18 Binary files /dev/null and b/lint.txt differ diff --git a/package.json b/package.json index 2810d888..84d8d9b6 100644 --- a/package.json +++ b/package.json @@ -109,4 +109,4 @@ "not ie <= 11", "Safari >= 10" ] -} +} \ No newline at end of file diff --git a/src/components/CodeSelectionMenu.tsx b/src/components/CodeSelectionMenu.tsx index d2df0c92..498658ae 100644 --- a/src/components/CodeSelectionMenu.tsx +++ b/src/components/CodeSelectionMenu.tsx @@ -3,7 +3,6 @@ import { sendMessage } from '../ai-assistant/chatRelay'; import { CodeSelectionMenuProps } from '../types/components/AIAssistant.types'; import useAppStore from '../store/store'; import ReactMarkdown from "react-markdown"; -import * as monaco from 'monaco-editor'; const CodeSelectionMenu: React.FC = ({ selectedText, @@ -247,70 +246,4 @@ const CodeSelectionMenu: React.FC = ({ ); }; -// eslint-disable-next-line react-refresh/only-export-components -export const useCodeSelection = (editorType: 'markdown' | 'concerto' | 'json') => { - const [selectedText, setSelectedText] = useState(''); - const [menuPosition, setMenuPosition] = useState<{ x: number; y: number } | null>(null); - const [showMenu, setShowMenu] = useState(false); - const enableCodeSelectionMenu = useAppStore((state) => state.aiConfig?.enableCodeSelectionMenu ?? true); - - - const handleSelection = (editor: monaco.editor.IStandaloneCodeEditor) => { - const selection = editor.getSelection(); - if (selection && !selection.isEmpty()) { - const selectedText = editor.getModel()?.getValueInRange(selection).trim(); - if (selectedText && selectedText.length > 0) { - const position = editor.getScrolledVisiblePosition(selection.getStartPosition()); - const editorContainer = editor.getDomNode()?.closest('.editorwrapper'); - const editorRect = editorContainer?.getBoundingClientRect(); - - let x: number, y: number; - - if (editorRect && position) { - x = Math.max(editorRect.left + 20, Math.min(position.left, editorRect.right - 150)); - y = Math.max(editorRect.top + 20, Math.min(position.top, editorRect.bottom - 50)); - - x = Math.max(10, Math.min(x, window.innerWidth - 150)); - y = Math.max(10, Math.min(y, window.innerHeight - 50)); - } else if (position) { - x = Math.max(10, Math.min(position.left, window.innerWidth - 150)); - y = Math.max(10, Math.min(position.top, window.innerHeight - 50)); - } else { - return; - } - - setSelectedText(selectedText); - setMenuPosition({ - x: x, - y: y - }); - setShowMenu(true); - } - } else { - setShowMenu(false); - } - } - - const closeMenu = () => { - setShowMenu(false); - setSelectedText(''); - setMenuPosition(null); - }; - - const MenuComponent = (enableCodeSelectionMenu && showMenu && selectedText && menuPosition) ? ( - - ) : null; - - return { - handleSelection, - closeMenu, - MenuComponent - }; -}; - export default CodeSelectionMenu; diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index faaeb2fa..8360f19b 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -32,7 +32,7 @@ const CustomFooter: React.FC = () => { - + Template Playground { admin@accordproject.org - +