import React, { useState } from 'react'; import Header from './components/Header'; import SummaryResult from './components/SummaryResult'; import { summarizeText } from './services/gemini'; import { SummaryState } from './types'; const App: React.FC = () => { const [state, setState] = useState({ originalText: '', summary: '', isLoading: false, error: null, }); const handleSummarize = async () => { if (!state.originalText.trim()) { setState(prev => ({ ...prev, error: "Please enter some text to summarize." })); return; } setState(prev => ({ ...prev, isLoading: true, error: null, summary: '' })); try { const summary = await summarizeText(state.originalText); setState(prev => ({ ...prev, summary, isLoading: false })); } catch (err) { setState(prev => ({ ...prev, isLoading: false, error: err instanceof Error ? err.message : "An unexpected error occurred." })); } }; const handleClear = () => { setState({ originalText: '', summary: '', isLoading: false, error: null, }); }; return (
{state.originalText.length} characters