feat: rename TFP to MC currency in dashboard UI and analytics
This commit is contained in:
@@ -310,7 +310,7 @@ class ServiceProviderDashboard {
|
||||
y: {
|
||||
title: {
|
||||
display: true,
|
||||
text: 'Price per Hour (TFP)'
|
||||
text: 'Price per Hour (MC)'
|
||||
},
|
||||
beginAtZero: true
|
||||
}
|
||||
@@ -523,7 +523,7 @@ class ServiceProviderDashboard {
|
||||
<td><span class="badge bg-${statusClass}">${request.status}</span></td>
|
||||
<td>${request.requested_date}</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>
|
||||
<div class="btn-group">
|
||||
@@ -584,7 +584,7 @@ class ServiceProviderDashboard {
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>${request.budget} TFP</td>
|
||||
<td>${request.budget} MC</td>
|
||||
<td><span class="badge bg-${priorityClass}">${request.priority}</span></td>
|
||||
<td>
|
||||
<div class="btn-group">
|
||||
@@ -654,7 +654,7 @@ class ServiceProviderDashboard {
|
||||
<td><span class="badge bg-success">${request.status}</span></td>
|
||||
<td>${completedDate}</td>
|
||||
<td>${totalHours}${typeof totalHours === 'number' ? ' hours' : ''}</td>
|
||||
<td>${totalAmount}${typeof totalAmount === 'number' ? ' TFP' : ''}</td>
|
||||
<td>${totalAmount}${typeof totalAmount === 'number' ? ' MC' : ''}</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<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('serviceCompletionRate').textContent = `${analytics.performance.completion_rate.toFixed(0)}%`;
|
||||
|
||||
document.getElementById('serviceTotalRevenue').textContent = `${analytics.revenue.total} TFP`;
|
||||
document.getElementById('serviceMonthlyRevenue').textContent = `${analytics.revenue.monthly} TFP`;
|
||||
document.getElementById('serviceTotalRevenue').textContent = `${analytics.revenue.total} MC`;
|
||||
document.getElementById('serviceMonthlyRevenue').textContent = `${analytics.revenue.monthly} MC`;
|
||||
document.getElementById('serviceTotalProjects').textContent = analytics.project_metrics.total_projects;
|
||||
document.getElementById('serviceActiveClients').textContent = analytics.client_metrics.total_clients;
|
||||
|
||||
@@ -1300,7 +1300,7 @@ async function loadServiceClients(serviceId) {
|
||||
</div>
|
||||
</td>
|
||||
<td>${client.projects.length}</td>
|
||||
<td>${client.total_revenue} TFP</td>
|
||||
<td>${client.total_revenue} MC</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<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('detailEstimatedHours').textContent = `${request.estimated_hours} hours`;
|
||||
document.getElementById('detailBudget').textContent = `${request.budget} TFP`;
|
||||
document.getElementById('detailBudget').textContent = `${request.budget} MC`;
|
||||
|
||||
// Progress bar
|
||||
const progress = request.progress || 0;
|
||||
@@ -1888,7 +1888,7 @@ function populateCompletedRequestModal(request) {
|
||||
document.getElementById('completedServiceType').textContent = request.service_name;
|
||||
document.getElementById('completedDate').textContent = request.completed_date || 'N/A';
|
||||
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('completedOnTime').textContent = request.on_time ? 'Yes ✅' : 'No ❌';
|
||||
document.getElementById('completedSummary').textContent = request.summary || 'No summary available.';
|
||||
|
@@ -23,13 +23,13 @@ class UserDashboard {
|
||||
Chart.defaults.responsive = true;
|
||||
Chart.defaults.maintainAspectRatio = false;
|
||||
|
||||
this.createTFCUsageChart();
|
||||
this.createMCUsageChart();
|
||||
this.createResourceUtilizationChart();
|
||||
this.createUserActivityChart();
|
||||
this.createDeploymentDistributionChart();
|
||||
}
|
||||
|
||||
createTFCUsageChart() {
|
||||
createMCUsageChart() {
|
||||
const ctx = document.getElementById('tfpUsageChart');
|
||||
if (!ctx) return;
|
||||
|
||||
|
Reference in New Issue
Block a user