December 16th,2025 V.9

This commit is contained in:
Flatlogic Bot 2025-12-17 03:15:24 +00:00
parent 17c88f822f
commit 4990fbd609
3 changed files with 217 additions and 10 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -46,16 +46,105 @@ $cases = [
'severity' => 'low',
'department' => 'Sales',
'assignedTo' => 'Michael Torres',
'assignedToRole' => 'Senior HR Manager',
'assignedToRole' => 'HR Coordinator',
'createdDate' => 'Dec 12, 2024',
'lastUpdate' => '4 hours ago',
'commentsCount' => 3,
'partiesInvolved' => 1,
'tags' => ['Benefits', 'Inquiry'],
'checklist' => [],
'timeline' => [],
'comments' => []
'tags' => ['Benefits', 'Inquiry', 'Insurance'],
'checklist' => [
['item' => 'Received employee question', 'completed' => true],
['item' => 'Forwarded to benefits provider', 'completed' => true],
['item' => 'Awaiting provider response', 'completed' => false]
],
'timeline' => [
['status' => 'Opened', 'details' => 'Employee submitted a question about health insurance coverage.', 'date' => 'Dec 12, 2024 9:00 AM', 'completed' => true]
],
'comments' => [
['author' => 'Michael Torres', 'role' => 'HR Coordinator', 'time' => '4 hours ago', 'comment' => 'I have forwarded the inquiry to our insurance provider. Should have an answer within 2 business days.']
]
],
[
'id' => 'HR-2024-1850',
'title' => 'FMLA Request - Medical Leave',
'status' => 'open',
'severity' => 'medium',
'department' => 'Marketing',
'assignedTo' => 'Jennifer Smith',
'assignedToRole' => 'Senior HR Manager',
'createdDate' => 'Dec 11, 2024',
'lastUpdate' => '1 day ago',
'commentsCount' => 2,
'partiesInvolved' => 1,
'tags' => ['FMLA', 'Leave', 'Medical'],
'checklist' => [
['item' => 'Received FMLA request form', 'completed' => true],
['item' => 'Verify employee eligibility', 'completed' => true],
['item' => 'Awaiting medical certification', 'completed' => false],
['item' => 'Notify manager of leave dates', 'completed' => false]
],
'timeline' => [
['status' => 'Request Received', 'details' => 'FMLA request form submitted by employee.', 'date' => 'Dec 11, 2024 11:00 AM', 'completed' => true],
['status' => 'Eligibility Verified', 'details' => 'Employee eligibility for FMLA confirmed.', 'date' => 'Dec 12, 2024 3:00 PM', 'completed' => true],
['status' => 'Pending Certification', 'details' => 'Awaiting required medical certification from healthcare provider.', 'date' => null, 'completed' => false]
],
'comments' => [
['author' => 'Jennifer Smith', 'role' => 'Senior HR Manager', 'time' => '1 day ago', 'comment' => 'Eligibility for FMLA has been confirmed. I have notified the employee that we are now waiting for the medical certification documents to proceed.']
]
],
[
'id' => 'HR-2024-1851',
'title' => 'Onboarding Documentation',
'status' => 'closed',
'severity' => 'low',
'department' => 'General',
'assignedTo' => 'Michael Torres',
'assignedToRole' => 'HR Coordinator',
'createdDate' => 'Dec 9, 2024',
'lastUpdate' => '3 days ago',
'commentsCount' => 1,
'partiesInvolved' => 1,
'tags' => ['Onboarding', 'New Hire'],
'checklist' => [
['item' => 'Sent welcome packet', 'completed' => true],
['item' => 'Received signed offer letter', 'completed' => true],
['item' => 'Completed I-9 verification', 'completed' => true]
],
'timeline' => [
['status' => 'Offer Sent', 'details' => 'Job offer and welcome packet sent to new hire.', 'date' => 'Dec 5, 2024', 'completed' => true],
['status' => 'Documents Signed', 'details' => 'Received all signed onboarding documents.', 'date' => 'Dec 8, 2024', 'completed' => true],
['status' => 'Onboarding Complete', 'details' => 'All onboarding steps have been successfully completed.', 'date' => 'Dec 9, 2024', 'completed' => true]
],
'comments' => [
['author' => 'Michael Torres', 'role' => 'HR Coordinator', 'time' => '3 days ago', 'comment' => 'All onboarding paperwork for the new hire is complete and has been filed. Marking this case as closed.']
]
],
[
'id' => 'HR-2024-1855',
'title' => 'Workplace Safety Concern',
'status' => 'in-review',
'severity' => 'high',
'department' => 'Facilities',
'assignedTo' => 'Jennifer Smith',
'assignedToRole' => 'Senior HR Manager',
'createdDate' => 'Dec 14, 2024',
'lastUpdate' => '6 hours ago',
'commentsCount' => 5,
'partiesInvolved' => 2,
'tags' => ['Safety', 'Facilities', 'Urgent'],
'checklist' => [
['item' => 'Anonymous report received', 'completed' => true],
['item' => 'Initial walkthrough completed', 'completed' => false],
['item' => 'Interviewed relevant staff', 'completed' => false]
],
'timeline' => [
['status' => 'Report Filed', 'details' => 'Anonymous safety concern regarding the warehouse was received.', 'date' => 'Dec 14, 2024 4:30 PM', 'completed' => true],
['status' => 'Investigation Started', 'details' => 'Opened an official investigation into the reported concern.', 'date' => 'Dec 15, 2024 9:00 AM', 'completed' => false]
],
'comments' => [
['author' => 'Jennifer Smith', 'role' => 'Senior HR Manager', 'time' => '6 hours ago', 'comment' => 'I have received the anonymous report and will be conducting an initial walkthrough of the facilities tomorrow morning to assess the situation. All further updates will be logged here.']
]
]
];
$cases_json = json_encode($cases);

View File

@ -5,6 +5,34 @@ if (!isset($_SESSION['user_id'])) {
exit;
}
require_once 'db/config.php';
// Template data from the React snippet
$templateTasks = [
['name' => "Setup Development Environment", 'status' => "in-progress", 'category' => "IT"],
['name' => "Complete HR Documentation", 'status' => "completed", 'category' => "HR"],
['name' => "Benefits Enrollment", 'status' => "completed", 'category' => "HR"],
['name' => "Team Introduction Meeting", 'status' => "pending", 'category' => "Manager"],
['name' => "Assign First Project", 'status' => "pending", 'category' => "Manager"],
['name' => "Security Training", 'status' => "pending", 'category' => "IT"],
['name' => "Code Review Process Training", 'status' => "pending", 'category' => "Manager"],
['name' => "Setup Communication Tools", 'status' => "completed", 'category' => "IT"],
];
$completedTasks = count(array_filter($templateTasks, function($t) { return $t['status'] === "completed"; }));
$progressPercent = ($completedTasks / count($templateTasks)) * 100;
$status_map = [
'completed' => ['icon' => 'check-circle-2', 'color' => 'text-green-500', 'bg' => 'bg-green-100'],
'in-progress' => ['icon' => 'clock', 'color' => 'text-blue-500', 'bg' => 'bg-blue-100'],
'pending' => ['icon' => 'file-text', 'color' => 'text-gray-500', 'bg' => 'bg-gray-100']
];
$category_map = [
'IT' => 'text-red-500',
'HR' => 'text-blue-500',
'Manager' => 'text-purple-500',
];
?>
<!DOCTYPE html>
<html lang="en">
@ -13,17 +41,107 @@ require_once 'db/config.php';
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Onboarding - FinMox</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/lucide@latest"></script>
</head>
<body class="bg-gray-100">
<div class="flex h-screen bg-gray-200">
<?php include '_sidebar.php'; ?>
<!-- Main content -->
<main class="flex-1 overflow-x-hidden overflow-y-auto bg-[#fafafa]">
<div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-8 py-8">
<h1 class="text-3xl font-bold text-gray-900">Onboarding</h1>
<main class="flex-1 flex overflow-hidden">
<div class="flex-1 overflow-y-auto bg-[#fafafa] p-8">
<h1 class="text-3xl font-bold text-gray-900 mb-8">Onboarding Plan for Sarah Kim</h1>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
<!-- Main Content -->
<div class="lg:col-span-2 space-y-8">
<!-- Welcome Card -->
<div class="bg-white p-6 rounded-2xl shadow-sm border border-gray-200">
<h3 class="text-xl font-semibold mb-4">Welcome to the Team, Sarah!</h3>
<p class="text-gray-600">We're thrilled to have you on board. This onboarding plan is designed to help you get up to speed quickly and smoothly. Please review the checklist and let your manager know if you have any questions.</p>
</div>
</div>
<!-- Sidebar -->
<div class="w-full space-y-6">
<!-- Employee Info -->
<div class="bg-white rounded-2xl shadow-sm border border-gray-200">
<div class="p-6 space-y-4">
<h3 class="flex items-center gap-2 font-semibold">
<i data-lucide="user" class="w-5 h-5 text-[#3A66FF]"></i>
Employee Information
</h3>
<div class="flex items-center gap-3 pt-2">
<img class="w-16 h-16 rounded-full" src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=400&h=400&fit=crop" alt="Sarah Kim">
<div>
<p class="font-semibold">Sarah Kim</p>
<p class="text-sm text-gray-500">New Hire</p>
</div>
</div>
<div class="pt-4 border-t border-gray-200 space-y-3 text-sm">
<div class="flex items-center gap-3">
<i data-lucide="briefcase" class="w-4 h-4 text-gray-500"></i>
<div>
<p class="text-gray-500">Position</p>
<p class="font-medium">Senior Full-Stack Engineer</p>
</div>
</div>
<div class="flex items-center gap-3">
<i data-lucide="mail" class="w-4 h-4 text-gray-500"></i>
<div>
<p class="text-gray-500">Email</p>
<p class="font-medium">sarah.kim@finmox.com</p>
</div>
</div>
<div class="flex items-center gap-3">
<i data-lucide="calendar" class="w-4 h-4 text-gray-500"></i>
<div>
<p class="text-gray-500">Start Date</p>
<p class="font-medium">December 17, 2025</p>
</div>
</div>
</div>
</div>
</div>
<!-- Onboarding Checklist -->
<div class="bg-white rounded-2xl shadow-sm border border-gray-200">
<div class="p-6">
<h3 class="flex items-center gap-2 font-semibold">
<i data-lucide="layers" class="w-5 h-5 text-[#3A66FF]"></i>
Onboarding Checklist
</h3>
<div class="mt-4">
<div class="flex justify-between items-center mb-2">
<span class="text-sm font-medium text-gray-700">Progress</span>
<span class="text-sm font-medium text-gray-700"><?= number_format($progressPercent, 0) ?>%</span>
</div>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div class="bg-[#3A66FF] h-2.5 rounded-full" style="width: <?= $progressPercent ?>%"></div>
</div>
</div>
<div class="mt-6 space-y-4">
<?php foreach ($templateTasks as $task): ?>
<div class="flex items-start gap-3">
<div class="flex-shrink-0 w-6 h-6 rounded-full <?= $status_map[$task['status']]['bg'] ?> flex items-center justify-center mt-1">
<i data-lucide="<?= $status_map[$task['status']]['icon'] ?>" class="w-4 h-4 <?= $status_map[$task['status']]['color'] ?>"></i>
</div>
<div>
<p class="font-medium"><?= htmlspecialchars($task['name']) ?></p>
<span class="text-xs font-semibold px-2 py-0.5 rounded-full <?= $category_map[$task['category']] ?? 'text-gray-500' ?> bg-gray-100 border"><?= htmlspecialchars($task['category']) ?></span>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
</div>
<script>
lucide.createIcons();
</script>
</body>
</html>
</html>