import React, { useState, useEffect } from 'react' import { useAuth } from './auth/AuthContext' import './Integrations.css' function TodoistIntegration({ onBack }) { const { authFetch } = useAuth() const [webhookURL, setWebhookURL] = useState('') const [loading, setLoading] = useState(true) const [copied, setCopied] = useState(false) const [error, setError] = useState('') useEffect(() => { fetchWebhookURL() }, []) const fetchWebhookURL = async () => { try { setLoading(true) setError('') const response = await authFetch('/api/integrations/todoist/webhook-url') if (!response.ok) { const errorData = await response.json().catch(() => ({})) throw new Error(errorData.error || 'Ошибка при загрузке URL webhook') } const data = await response.json() if (data.webhook_url) { setWebhookURL(data.webhook_url) } else { throw new Error('Webhook URL не найден в ответе') } } catch (error) { console.error('Error fetching webhook URL:', error) setError(error.message || 'Не удалось загрузить webhook URL') } finally { setLoading(false) } } const copyToClipboard = async () => { try { await navigator.clipboard.writeText(webhookURL) setCopied(true) setTimeout(() => setCopied(false), 2000) } catch (error) { console.error('Error copying to clipboard:', error) } } return (
{error}