← back to Dear Bubbe Admin

frontend/src/components/Header.js

57 lines

import React from 'react'

const Header = ({ user, stats, onLogout }) => {
  const getHealthIcon = (stats) => {
    const memUsage = stats.system?.memoryUsage || 0
    const cpuUsage = stats.system?.cpuUsage || 0
    
    if (memUsage > 90 || cpuUsage > 90) return '🔴'
    if (memUsage > 70 || cpuUsage > 70) return '🟡'
    return '🟢'
  }

  return (
    <div className="header">
      <div className="header-left">
        <h1>Admin Dashboard</h1>
        <div className="header-stats">
          <div className="stat-item">
            <span className="stat-value">{stats.userActivity?.activeUsers || 0}</span> active users
          </div>
          <div className="stat-item">
            <span className="stat-value">{stats.alerts?.today || 0}</span> alerts today
          </div>
          <div className="stat-item">
            {getHealthIcon(stats)} system status
          </div>
          <div className="stat-item">
            <span className="stat-value">{stats.conversations?.today || 0}</span> conversations
          </div>
        </div>
      </div>
      
      <div className="header-right">
        <div className="user-info">
          <div className="user-avatar">
            {user?.username?.charAt(0)?.toUpperCase() || 'A'}
          </div>
          <div>
            <div className="user-name">{user?.username || 'Admin'}</div>
            <div style={{ fontSize: '12px', color: '#64748b' }}>
              {user?.role || 'Administrator'}
            </div>
          </div>
        </div>
        
        <button 
          onClick={onLogout}
          className="logout-btn"
        >
          Logout
        </button>
      </div>
    </div>
  )
}

export default Header