fernando-bold's picture
<!DOCTYPE html>
8b8dcfa verified
class CustomDashboard extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = `
<style>
.dashboard-container {
@apply space-y-6;
}
.section-title {
@apply text-2xl font-semibold text-white mb-4;
}
.section-description {
@apply text-gray-400 mb-6;
}
.chart-grid {
@apply grid grid-cols-1 lg:grid-cols-2 gap-6;
}
.chart-card {
@apply p-6 bg-gray-800 rounded-lg shadow-lg border border-gray-700;
}
.chart-title {
@apply text-lg font-semibold text-white mb-4 text-center;
}
.chart-container {
@apply relative w-full h-64;
}
.full-width {
@apply lg:col-span-2;
}
</style>
<div class="dashboard-container">
<div>
<h2 class="section-title">Performance Dashboard</h2>
<p class="section-description">Visual insights into solar panel performance metrics</p>
</div>
<div class="chart-grid">
<div class="chart-card">
<h3 class="chart-title">Efficiency Distribution</h3>
<div class="chart-container">
<canvas id="eficienciaChart"></canvas>
</div>
</div>
<div class="chart-card">
<h3 class="chart-title">Top Manufacturers by Power</h3>
<div class="chart-container">
<canvas id="potenciaChart"></canvas>
</div>
</div>
<div class="chart-card full-width">
<h3 class="chart-title">Efficiency vs. Power</h3>
<div class="chart-container">
<canvas id="scatterChart"></canvas>
</div>
</div>
</div>
</div>
`;
}
}
customElements.define('custom-dashboard', CustomDashboard);