feat: rename TFP to MC currency in dashboard UI and analytics

This commit is contained in:
mik-tf
2025-09-08 12:58:02 -04:00
parent f233964f22
commit 867d418ea7
2 changed files with 11 additions and 11 deletions

View File

@@ -310,7 +310,7 @@ class ServiceProviderDashboard {
y: { y: {
title: { title: {
display: true, display: true,
text: 'Price per Hour (TFP)' text: 'Price per Hour (MC)'
}, },
beginAtZero: true beginAtZero: true
} }
@@ -523,7 +523,7 @@ class ServiceProviderDashboard {
<td><span class="badge bg-${statusClass}">${request.status}</span></td> <td><span class="badge bg-${statusClass}">${request.status}</span></td>
<td>${request.requested_date}</td> <td>${request.requested_date}</td>
<td>${request.estimated_hours}</td> <td>${request.estimated_hours}</td>
<td>${request.budget} TFP</td> <td>${request.budget} MC</td>
<td><span class="badge bg-${priorityClass}">${request.priority}</span></td> <td><span class="badge bg-${priorityClass}">${request.priority}</span></td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
@@ -584,7 +584,7 @@ class ServiceProviderDashboard {
</div> </div>
</div> </div>
</td> </td>
<td>${request.budget} TFP</td> <td>${request.budget} MC</td>
<td><span class="badge bg-${priorityClass}">${request.priority}</span></td> <td><span class="badge bg-${priorityClass}">${request.priority}</span></td>
<td> <td>
<div class="btn-group"> <div class="btn-group">
@@ -654,7 +654,7 @@ class ServiceProviderDashboard {
<td><span class="badge bg-success">${request.status}</span></td> <td><span class="badge bg-success">${request.status}</span></td>
<td>${completedDate}</td> <td>${completedDate}</td>
<td>${totalHours}${typeof totalHours === 'number' ? ' hours' : ''}</td> <td>${totalHours}${typeof totalHours === 'number' ? ' hours' : ''}</td>
<td>${totalAmount}${typeof totalAmount === 'number' ? ' TFP' : ''}</td> <td>${totalAmount}${typeof totalAmount === 'number' ? ' MC' : ''}</td>
<td> <td>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<span class="me-2">${rating}</span> <span class="me-2">${rating}</span>
@@ -1176,8 +1176,8 @@ async function loadServiceAnalytics(serviceId) {
document.getElementById('serviceOnTimeDelivery').textContent = `${analytics.performance.on_time_delivery.toFixed(0)}%`; document.getElementById('serviceOnTimeDelivery').textContent = `${analytics.performance.on_time_delivery.toFixed(0)}%`;
document.getElementById('serviceCompletionRate').textContent = `${analytics.performance.completion_rate.toFixed(0)}%`; document.getElementById('serviceCompletionRate').textContent = `${analytics.performance.completion_rate.toFixed(0)}%`;
document.getElementById('serviceTotalRevenue').textContent = `${analytics.revenue.total} TFP`; document.getElementById('serviceTotalRevenue').textContent = `${analytics.revenue.total} MC`;
document.getElementById('serviceMonthlyRevenue').textContent = `${analytics.revenue.monthly} TFP`; document.getElementById('serviceMonthlyRevenue').textContent = `${analytics.revenue.monthly} MC`;
document.getElementById('serviceTotalProjects').textContent = analytics.project_metrics.total_projects; document.getElementById('serviceTotalProjects').textContent = analytics.project_metrics.total_projects;
document.getElementById('serviceActiveClients').textContent = analytics.client_metrics.total_clients; document.getElementById('serviceActiveClients').textContent = analytics.client_metrics.total_clients;
@@ -1300,7 +1300,7 @@ async function loadServiceClients(serviceId) {
</div> </div>
</td> </td>
<td>${client.projects.length}</td> <td>${client.projects.length}</td>
<td>${client.total_revenue} TFP</td> <td>${client.total_revenue} MC</td>
<td> <td>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<span class="me-2">${client.avg_rating.toFixed(1)}</span> <span class="me-2">${client.avg_rating.toFixed(1)}</span>
@@ -1607,7 +1607,7 @@ function populateRequestDetailsModal(request) {
document.getElementById('detailRequestedDate').textContent = request.requested_date; document.getElementById('detailRequestedDate').textContent = request.requested_date;
document.getElementById('detailEstimatedHours').textContent = `${request.estimated_hours} hours`; document.getElementById('detailEstimatedHours').textContent = `${request.estimated_hours} hours`;
document.getElementById('detailBudget').textContent = `${request.budget} TFP`; document.getElementById('detailBudget').textContent = `${request.budget} MC`;
// Progress bar // Progress bar
const progress = request.progress || 0; const progress = request.progress || 0;
@@ -1888,7 +1888,7 @@ function populateCompletedRequestModal(request) {
document.getElementById('completedServiceType').textContent = request.service_name; document.getElementById('completedServiceType').textContent = request.service_name;
document.getElementById('completedDate').textContent = request.completed_date || 'N/A'; document.getElementById('completedDate').textContent = request.completed_date || 'N/A';
document.getElementById('completedHoursLogged').textContent = `${request.hours_logged || 0} hours`; document.getElementById('completedHoursLogged').textContent = `${request.hours_logged || 0} hours`;
document.getElementById('completedRevenue').textContent = `${request.revenue || 0} TFP`; document.getElementById('completedRevenue').textContent = `${request.revenue || 0} MC`;
document.getElementById('completedRating').textContent = request.rating ? `${request.rating}/5 ⭐` : 'Not rated'; document.getElementById('completedRating').textContent = request.rating ? `${request.rating}/5 ⭐` : 'Not rated';
document.getElementById('completedOnTime').textContent = request.on_time ? 'Yes ✅' : 'No ❌'; document.getElementById('completedOnTime').textContent = request.on_time ? 'Yes ✅' : 'No ❌';
document.getElementById('completedSummary').textContent = request.summary || 'No summary available.'; document.getElementById('completedSummary').textContent = request.summary || 'No summary available.';

View File

@@ -23,13 +23,13 @@ class UserDashboard {
Chart.defaults.responsive = true; Chart.defaults.responsive = true;
Chart.defaults.maintainAspectRatio = false; Chart.defaults.maintainAspectRatio = false;
this.createTFCUsageChart(); this.createMCUsageChart();
this.createResourceUtilizationChart(); this.createResourceUtilizationChart();
this.createUserActivityChart(); this.createUserActivityChart();
this.createDeploymentDistributionChart(); this.createDeploymentDistributionChart();
} }
createTFCUsageChart() { createMCUsageChart() {
const ctx = document.getElementById('tfpUsageChart'); const ctx = document.getElementById('tfpUsageChart');
if (!ctx) return; if (!ctx) return;