interface NetworkTabProps {
  networkInfo: any;
  blockCount: number | null;
  feeEstimate: any;
}

export default function NetworkTab({ networkInfo, blockCount, feeEstimate }: NetworkTabProps) {
  return (
    <div className="tab-content">
      <div className="stats-grid">
        <div className="stat-card">
          <div className="stat-label">Block Height</div>
          <div className="stat-value mono">{blockCount ?? '—'}</div>
        </div>
        <div className="stat-card">
          <div className="stat-label">Fee Rate (6 blocks)</div>
          <div className="stat-value mono">
            {feeEstimate ? `${feeEstimate.feerate_sats_vb}` : '—'}
            <span className="text-tertiary" style={{ fontSize: '14px', marginLeft: '6px' }}>sats/vB</span>
          </div>
          {feeEstimate && (
            <div className="stat-sub">
              ~{feeEstimate.estimated_fee_btc.toFixed(8)} BTC for 1 TX
            </div>
          )}
        </div>
      </div>

      {/* Node Info */}
      <div className="section">
        <div className="section-header">
          <h3>Node Information</h3>
        </div>
        {networkInfo ? (
          <div className="info-grid">
            <div className="info-row">
              <span className="info-label">Node Type</span>
              <span>
                <span className={`badge ${networkInfo.node_type === 'local' ? 'badge-green' : 'badge-blue'}`}>
                  {networkInfo.node_type}
                </span>
              </span>
            </div>
            <div className="info-row">
              <span className="info-label">Network</span>
              <span>
                <span className="badge badge-accent">
                  {networkInfo.network}
                </span>
              </span>
            </div>
            {networkInfo.node_url && (
              <div className="info-row">
                <span className="info-label">Node URL</span>
                <span className="mono" style={{ fontSize: '12px' }}>{networkInfo.node_url}</span>
              </div>
            )}
            {networkInfo.peers !== undefined && (
              <div className="info-row">
                <span className="info-label">Peers</span>
                <span>{networkInfo.peers}</span>
              </div>
            )}
            {networkInfo.version && (
              <div className="info-row">
                <span className="info-label">Version</span>
                <span className="mono">{networkInfo.version}</span>
              </div>
            )}
            {networkInfo.subversion && (
              <div className="info-row">
                <span className="info-label">Subversion</span>
                <span className="mono">{networkInfo.subversion}</span>
              </div>
            )}
            {networkInfo.proxy && (
              <div className="info-row">
                <span className="info-label">Proxy</span>
                <span className="mono">{networkInfo.proxy}</span>
              </div>
            )}
          </div>
        ) : (
          <div className="empty-state">
            <div className="empty-state-icon">⬡</div>
            No network info available
          </div>
        )}
      </div>

      {/* Fee Estimation */}
      <div className="section">
        <div className="section-header">
          <h3>Fee Estimation</h3>
        </div>
        {feeEstimate ? (
          <div className="info-grid">
            <div className="info-row">
              <span className="info-label">Fee Rate</span>
              <span className="mono">{feeEstimate.feerate_sats_vb} sats/vB</span>
            </div>
            <div className="info-row">
              <span className="info-label">Estimated Fee (1 input, 1 output)</span>
              <span className="mono">{(feeEstimate.estimated_fee_btc * 100_000_000).toFixed(0)} sats</span>
            </div>
            <div className="info-row">
              <span className="info-label">Estimated Fee</span>
              <span className="mono">{feeEstimate.estimated_fee_btc.toFixed(8)} BTC</span>
            </div>
          </div>
        ) : (
          <div className="warn-box">
            Fee estimation not available. Check your node connection.
          </div>
        )}
      </div>

      {/* How it works */}
      <div className="section">
        <div className="section-header">
          <h3>About</h3>
        </div>
        <div style={{ fontSize: '14px', color: 'var(--text-secondary)', lineHeight: '1.7' }}>
          <p style={{ marginBottom: '12px' }}>
            This wallet connects to a Bitcoin node for address scanning and transaction broadcasting.
            Your wallet data is stored locally and encrypted when enabled.
          </p>
          <p>
            <strong>Node type:</strong> {networkInfo?.node_type === 'local'
              ? 'You are running a full node locally — maximum privacy and trust.'
              : 'You are using a remote electrum or RPC node.'
            }
          </p>
        </div>
      </div>
    </div>
  );
}