import React, { useState } from 'react'; import { Link2 } from 'lucide-react'; import ToolLayout from '../components/ToolLayout'; import CopyButton from '../components/CopyButton'; const UrlTool = () => { const [input, setInput] = useState(''); const [output, setOutput] = useState(''); const [mode, setMode] = useState('encode'); // 'encode' or 'decode' const encodeUrl = () => { try { const encoded = encodeURIComponent(input); setOutput(encoded); } catch (err) { setOutput(`Error: ${err.message}`); } }; const decodeUrl = () => { try { const decoded = decodeURIComponent(input); setOutput(decoded); } catch (err) { setOutput(`Error: Invalid URL encoding`); } }; const handleProcess = () => { if (mode === 'encode') { encodeUrl(); } else { decodeUrl(); } }; const clearAll = () => { setInput(''); setOutput(''); }; const loadSample = () => { if (mode === 'encode') { setInput('https://example.com/search?q=hello world&category=web development&sort=date'); } else { setInput('https%3A//example.com/search%3Fq%3Dhello%20world%26category%3Dweb%20development%26sort%3Ddate'); } }; return ( {/* Mode Toggle */}
{/* Controls */}
{/* Input/Output Grid */}
{/* Input */}