import React, { useState, useEffect, useCallback } from 'react'; import { Tone, Aggressiveness, HumanizerState, TransformationStats } from './types'; import { humanizeText } from './services/geminiService'; import { calculateStats, getAggressivenessLabel } from './utils/nlpUtils'; // --- Sub-components (outside main to avoid re-renders) --- const StatCard = ({ label, value, unit = "" }: { label: string, value: string | number, unit?: string }) => ( {label} {value} {unit} ); const App: React.FC = () => { const [state, setState] = useState ({ inputText: '', outputHovered: false, isProcessing: false, result: '', error: null, settings: { tone: Tone.PROFESSIONAL, aggressiveness: Aggressiveness.MEDIUM }, stats: { wordCount: 0, charCount: 0, lexicalDiversity: 0, readabilityScore: 0 } }); useEffect(() => { const st...