diff --git a/ts_web/elements/dees-simple-appdash.demo.ts b/ts_web/elements/dees-simple-appdash.demo.ts index 909d892..91ddc51 100644 --- a/ts_web/elements/dees-simple-appdash.demo.ts +++ b/ts_web/elements/dees-simple-appdash.demo.ts @@ -4,6 +4,8 @@ import './dees-form.js'; import './dees-input-text.js'; import './dees-input-checkbox.js'; import './dees-form-submit.js'; +import './dees-statsgrid.js'; +import type { IStatsTile } from './dees-statsgrid.js'; // Create demo view components @customElement('demo-view-dashboard') @@ -19,54 +21,93 @@ class DemoViewDashboard extends DeesElement { margin: 0 0 20px 0; color: ${cssManager.bdTheme('#000', '#fff')}; } - .stats-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 20px; + dees-statsgrid { margin-top: 20px; } - .stat-card { - background: ${cssManager.bdTheme('#fff', '#111')}; - border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#202020')}; - border-radius: 8px; - padding: 20px; - text-align: center; - } - .stat-value { - font-size: 32px; - font-weight: bold; - color: ${cssManager.bdTheme('#26a69a', '#26a69a')}; - } - .stat-label { - font-size: 14px; - color: ${cssManager.bdTheme('#666', '#999')}; - margin-top: 8px; - } ` ]; + private statsTiles: IStatsTile[] = [ + { + id: 'users', + title: 'Active Users', + value: 1234, + type: 'number', + icon: 'faUsers', + description: '+15% from last week', + color: '#22c55e' + }, + { + id: 'pageviews', + title: 'Page Views', + value: 56700, + type: 'number', + icon: 'faEye', + description: '56.7k total views', + color: '#3b82f6' + }, + { + id: 'uptime', + title: 'System Uptime', + value: 89, + unit: '%', + type: 'gauge', + icon: 'faServer', + description: 'Last 30 days', + color: '#10b981', + gaugeOptions: { + min: 0, + max: 100, + thresholds: [ + { value: 80, color: '#ef4444' }, + { value: 90, color: '#f59e0b' }, + { value: 100, color: '#10b981' } + ] + } + }, + { + id: 'response', + title: 'Avg Response Time', + value: 3.2, + unit: 's', + type: 'number', + icon: 'faClock', + description: '-0.5s improvement', + color: '#f59e0b' + }, + { + id: 'revenue', + title: 'Monthly Revenue', + value: 48520, + unit: '$', + type: 'trend', + icon: 'faDollarSign', + description: '+8.2% growth', + color: '#22c55e', + trendData: [35000, 38000, 37500, 41000, 39800, 42000, 44100, 43200, 45600, 47100, 46800, 48520] + }, + { + id: 'traffic', + title: 'Traffic Trend', + value: 1680, + type: 'trend', + icon: 'faChartLine', + description: 'Last 7 days', + color: '#3b82f6', + trendData: [1200, 1350, 1100, 1450, 1600, 1550, 1680] + } + ]; + render() { return html`

Dashboard

Welcome to your application dashboard. Here's an overview of your metrics:

-
-
-
1,234
-
Active Users
-
-
-
56.7k
-
Page Views
-
-
-
89%
-
Uptime
-
-
-
3.2s
-
Avg Response
-
-
+ { + console.log('Tile action:', e.detail); + }} + > `; } }