import React from 'react';
import './EmployeeCard.css';

/**
 * Kole UI EmployeeCard（React）
 * 对齐 组件9.txt EmployeeCard 规范：头像/姓名/工号/部门/职位/状态、悬停快捷操作、标签、可显联系方式、圆角8px/阴影低/内边距16px
 * employee: { name, empId, dept, position, status:'active'|'left', avatar?, tags?, phone?, email? }
 */
export default function EmployeeCard({ employee, showContact = false, onMessage, onView, onEdit }) {
  const statusText = employee.status === 'left' ? '离职' : '在职';
  return (
    <div className="kole-emp-card">
      <div className="kole-emp-actions">
        <button onClick={() => onMessage && onMessage(employee)}>发消息</button>
        <button onClick={() => onView && onView(employee)}>详情</button>
        <button onClick={() => onEdit && onEdit(employee)}>编辑</button>
      </div>

      <div className="kole-emp-top">
        <div className="kole-emp-avatar">
          {employee.avatar
            ? <img src={employee.avatar} alt={employee.name} />
            : <span>{(employee.name || '?').charAt(0)}</span>}
        </div>
        <div>
          <div className="kole-emp-name">
            {employee.name}
            <span className={`kole-emp-status ${employee.status}`}>{statusText}</span>
          </div>
          <div className="kole-emp-id">工号：{employee.empId}</div>
        </div>
      </div>

      <div className="kole-emp-meta">
        部门：{employee.dept}<br />职位：{employee.position}
      </div>

      {employee.tags && employee.tags.length > 0 && (
        <div className="kole-emp-tags">
          {employee.tags.map((t) => <span key={t} className="kole-emp-tag">{t}</span>)}
        </div>
      )}

      {showContact && (employee.phone || employee.email) && (
        <div className="kole-emp-contact">
          {employee.phone && <div>电话：{employee.phone}</div>}
          {employee.email && <div>邮箱：{employee.email}</div>}
        </div>
      )}
    </div>
  );
}

/*
用法示例：
import EmployeeCard from './EmployeeCard';
const emp = { name: '张伟', empId: 'E1001', dept: '技术中心 · 前端组', position: '高级前端工程师', status: 'active', tags: ['React','TS'] };
<EmployeeCard employee={emp} showContact onEdit={(e) => console.log(e)} />
*/
