diff --git a/servers/bamboohr/src/ui/react-app/benefits-enrollment/App.tsx b/servers/bamboohr/src/ui/react-app/benefits-enrollment/App.tsx new file mode 100644 index 0000000..0a0884d --- /dev/null +++ b/servers/bamboohr/src/ui/react-app/benefits-enrollment/App.tsx @@ -0,0 +1,129 @@ +import React, { useState } from 'react'; +import { Heart, CheckCircle, XCircle, Search } from 'lucide-react'; + +interface Enrollment { + id: string; + employee: string; + plan: string; + type: string; + status: 'Enrolled' | 'Pending' | 'Declined'; + startDate: string; + premium: string; +} + +const Card: React.FC<{ children: React.ReactNode }> = ({ children }) => ( +
{enrollments.length} plan{enrollments.length > 1 ? 's' : ''}
+Type
+{enrollment.type}
+Start Date
+{enrollment.startDate}
+Premium
+{enrollment.premium}
+No enrollments found
+Total Plans
+{stats.totalPlans}
+Total Employees
+{stats.employees}
+Avg Enrollment
+{stats.avgEnrollment}%
+Total Enrollments
+{stats.totalEnrolled}
+{plan.provider}
+ +{label}
+{value}
+{request.name}
+{request.dates}
+{goal.title}
+ {goal.progress}% +{label}
+{value}
+{employee.jobTitle}
+Annual Salary
+{employee.salary}
+Last Review
+Dec 2024
+Next Review
+Jun 2025
+{field.label}
+{field.value}
++ Showing {filteredEmployees.length} of {employees.length} employees +
+{employee.title}
+{employee.department}
+No employees found matching your criteria
+Total Files
+{stats.totalFiles}
+Total Folders
+{stats.totalFolders}
+Recent Uploads
+{stats.recentUploads}
+
+
No files found
+Total Goals
+{stats.total}
+On Track
+{stats.onTrack}
+At Risk
+{stats.atRisk}
+Completed
+{stats.completed}
+{employeeGoals.length} goal{employeeGoals.length > 1 ? 's' : ''}
+{goal.description}
+Current Headcount
+{currentHeadcount}
+6-Month Growth
++{growthRate}%
+Departments
+{departmentBreakdown.length}
+Net Change
++{currentHeadcount - previousHeadcount}
+{percentage.toFixed(1)}% of total
+Total New Hires
+{stats.total}
+Scheduled
+{stats.scheduled}
+In Progress
+{stats.inProgress}
+Completed
+{stats.completed}
+{hire.title}
+Department
+{hire.department}
+Manager
+{hire.manager}
+Start Date
+{hire.startDate}
+Days Until Start
++ {hire.daysUntilStart === 0 ? 'Started' : `${hire.daysUntilStart} days`} +
+{node.title}
+ {node.reports.length > 0 && ( ++ {node.reports.length} direct report{node.reports.length > 1 ? 's' : ''} +
+ )} +Total Employees
+{stats.totalEmployees}
+Managers
+{stats.totalManagers}
+Departments
+{stats.departments}
+Click the arrows to expand/collapse
+YTD Gross Pay
+${ytdStats.grossPay.toLocaleString()}
+YTD Net Pay
+${ytdStats.netPay.toLocaleString()}
+Total Deductions
+${ytdStats.totalDeductions.toLocaleString()}
+Avg Deductions
+${ytdStats.avgDeductions.toLocaleString()}
+Paid on {stub.date}
+Gross Pay
+${stub.grossPay.toLocaleString()}
+Deductions
+-${stub.deductions.toLocaleString()}
+Net Pay
+${stub.netPay.toLocaleString()}
+{field.name}
+{field.type}
+{field.name}
+{field.type}
+| + {field.name} + | + ))} +
|---|
| + Sample data + | + ))} +
| + Sample data + | + ))} +
{totalStats.vacation}
+Across all employees
+{totalStats.sick}
+Across all employees
+{totalStats.personal}
+Across all employees
+{balance.department}
+Vacation
+Sick Leave
+Personal
+No employees found
+{req.type}
++ {req.startDate.toLocaleDateString()} - {req.endDate.toLocaleDateString()} +
+{request.type}
+Dates
+{request.startDate} to {request.endDate}
+{request.days} day{request.days > 1 ? 's' : ''}
+Reason
+{request.reason}
+Submitted
+{request.submittedDate}
+No requests found
+Total Courses
+{stats.totalCourses}
+Enrolled
+{stats.totalEnrolled}
+Completed
+{stats.totalCompleted}
+Avg Rating
+{stats.avgRating}
+{course.category}
+Total Employees
+{stats.totalEmployees}
+Avg Completion
+{stats.avgCompletion}%
+Total Hours
+{stats.totalHours}
+Active Learners
+{stats.activeEmployees}
+{employee.department}
+Last active: {employee.lastActivity}
+{employee.coursesCompleted}
+Completed
+{employee.coursesInProgress}
+In Progress
+{employee.hoursCompleted}h
+Hours
+No employees found
+Total Terminations
+{totalTerminations}
+Last 6 months
+Avg Turnover Rate
+{avgTurnoverRate}%
+Monthly average
+Voluntary
+{voluntaryTerminations}
+{((voluntaryTerminations/totalTerminations)*100).toFixed(0)}% of total
+Involuntary
+{involuntaryTerminations}
+{((involuntaryTerminations/totalTerminations)*100).toFixed(0)}% of total
+Terminations
+{dept.terminations}
+Rate
+{dept.rate}%
+Avg Tenure
+{dept.avgTenure}
+