import { ReactNode } from 'react';
import { Link, useLocation } from 'react-router-dom';
import './Layout.css';

interface LayoutProps {
  children: ReactNode;
}

function Layout({ children }: LayoutProps) {
  const location = useLocation();

  return (
    <div className="layout">
      <header className="header">
        <div className="container header-content">
          <Link to="/" className="logo">
            <div className="logo-icon">
              <svg width="28" height="28" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                {/* Three trees representing an orchard */}
                {/* Left tree */}
                <ellipse cx="6" cy="9" rx="4" ry="5" fill="currentColor" opacity="0.7"/>
                <rect x="5" y="13" width="2" height="5" fill="currentColor"/>
                {/* Center tree (larger) */}
                <ellipse cx="12" cy="7" rx="5" ry="6" fill="currentColor"/>
                <rect x="11" y="12" width="2" height="6" fill="currentColor"/>
                {/* Right tree */}
                <ellipse cx="18" cy="9" rx="4" ry="5" fill="currentColor" opacity="0.7"/>
                <rect x="17" y="13" width="2" height="5" fill="currentColor"/>
                {/* Ground line */}
                <line x1="2" y1="18" x2="22" y2="18" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" opacity="0.5"/>
              </svg>
            </div>
            <span className="logo-text">Orchard</span>
          </Link>
          <nav className="nav">
            <Link to="/" className={location.pathname === '/' ? 'active' : ''}>
              <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
                <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>
                <polyline points="9,22 9,12 15,12 15,22"/>
              </svg>
              Projects
            </Link>
            <a href="/docs" className="nav-link-muted">
              <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
                <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/>
                <polyline points="14,2 14,8 20,8"/>
                <line x1="16" y1="13" x2="8" y2="13"/>
                <line x1="16" y1="17" x2="8" y2="17"/>
              </svg>
              Docs
            </a>
          </nav>
        </div>
      </header>
      <main className="main">
        <div className="container">
          {children}
        </div>
      </main>
      <footer className="footer">
        <div className="container footer-content">
          <div className="footer-brand">
            <span className="footer-logo">Orchard</span>
            <span className="footer-tagline">Content-Addressable Storage</span>
          </div>
          <div className="footer-links">
            <a href="/docs">Documentation</a>
            <a href="/api/v1">API</a>
          </div>
        </div>
      </footer>
    </div>
  );
}

export default Layout;
