123 lines
4.5 KiB
Plaintext
123 lines
4.5 KiB
Plaintext
@using Indotalent.Features.Root
|
|
@using System.Security.Claims
|
|
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<base href="/" />
|
|
<ResourcePreloader />
|
|
<link rel="icon" type="image/png" href="@Assets["favico.png"]" />
|
|
<link rel="stylesheet" href="@Assets["Indotalent.styles.css"]" />
|
|
<ImportMap />
|
|
<HeadOutlet @rendermode="InteractiveServer" />
|
|
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
|
|
<link href="@Assets["_content/MudBlazor/MudBlazor.min.css"]" rel="stylesheet" />
|
|
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;450;500;600;700;800&display=swap" rel="stylesheet" />
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.7/dist/chart.umd.min.js"></script>
|
|
<script>
|
|
tailwind.config = {
|
|
important: true,
|
|
corePlugins: {
|
|
preflight: false
|
|
}
|
|
}
|
|
</script>
|
|
<script>
|
|
window.HRMCharts = {};
|
|
window.HRMCharts.renderBarChart = function (canvasId, labels, datasets) {
|
|
const canvas = document.getElementById(canvasId);
|
|
if (!canvas) return;
|
|
const existing = Chart.getChart(canvas);
|
|
if (existing) existing.destroy();
|
|
const grayText = '#94a3b8';
|
|
new Chart(canvas, {
|
|
type: 'bar',
|
|
data: {
|
|
labels: labels,
|
|
datasets: datasets
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
maintainAspectRatio: false,
|
|
plugins: { legend: { display: false } },
|
|
scales: {
|
|
y: {
|
|
beginAtZero: true,
|
|
grid: { color: '#f1f5f9' },
|
|
ticks: { color: grayText, font: { size: 10 } }
|
|
},
|
|
x: {
|
|
grid: { display: false },
|
|
ticks: { color: grayText, font: { size: 9 } }
|
|
}
|
|
}
|
|
}
|
|
});
|
|
};
|
|
window.HRMCharts.renderDoughnutChart = function (canvasId, labels, data, colors) {
|
|
const canvas = document.getElementById(canvasId);
|
|
if (!canvas) return;
|
|
const existing = Chart.getChart(canvas);
|
|
if (existing) existing.destroy();
|
|
new Chart(canvas, {
|
|
type: 'doughnut',
|
|
data: {
|
|
labels: labels,
|
|
datasets: [{ data: data, backgroundColor: colors, borderWidth: 0 }]
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
maintainAspectRatio: false,
|
|
cutout: '72%',
|
|
plugins: { legend: { display: false } }
|
|
}
|
|
});
|
|
};
|
|
window.HRMCharts.renderLineChart = function (canvasId, labels, datasets) {
|
|
const canvas = document.getElementById(canvasId);
|
|
if (!canvas) return;
|
|
const existing = Chart.getChart(canvas);
|
|
if (existing) existing.destroy();
|
|
const grayText = '#94a3b8';
|
|
new Chart(canvas, {
|
|
type: 'line',
|
|
data: {
|
|
labels: labels,
|
|
datasets: datasets
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
maintainAspectRatio: false,
|
|
plugins: { legend: { display: false } },
|
|
scales: {
|
|
y: {
|
|
beginAtZero: false,
|
|
grid: { color: '#f1f5f9' },
|
|
ticks: { color: grayText, font: { size: 10 } }
|
|
},
|
|
x: {
|
|
grid: { display: false },
|
|
ticks: { color: grayText, font: { size: 9 } }
|
|
}
|
|
}
|
|
}
|
|
});
|
|
};
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<Routes @rendermode="new InteractiveServerRenderMode(prerender: false)" />
|
|
<ReconnectModal />
|
|
<script src="@Assets["_framework/blazor.web.js"]"></script>
|
|
<script src="@Assets["_content/MudBlazor/MudBlazor.min.js"]"></script>
|
|
<SsoFirebase/>
|
|
<SsoKeycloak/>
|
|
</body>
|
|
|
|
</html> |