statflow_dashboard_shared 1.0.1 copy "statflow_dashboard_shared: ^1.0.1" to clipboard
statflow_dashboard_shared: ^1.0.1 copied to clipboard

Shared Flutter dashboard primitives for Statflow templates.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:statflow_dashboard_shared/statflow_dashboard_shared.dart';

void main() => runApp(const SharedExampleApp());

class SharedExampleApp extends StatelessWidget {
  const SharedExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Statflow Dashboard Shared',
      debugShowCheckedModeBanner: false,
      theme: buildDashboardTheme(),
      home: const _SharedExampleScreen(),
    );
  }
}

class _SharedExampleScreen extends StatelessWidget {
  const _SharedExampleScreen();

  static const _navItems = [
    DashboardNavItem(icon: Icons.space_dashboard_rounded, label: 'Overview', isActive: true),
    DashboardNavItem(icon: Icons.bar_chart_rounded, label: 'Trends'),
    DashboardNavItem(icon: Icons.pie_chart_rounded, label: 'Mix'),
  ];

  static const _kpis = [
    DashboardMetric(label: 'Active Users', value: '12,480', delta: 8.4, deltaLabel: '+8.4% WoW'),
    DashboardMetric(label: 'Conversion', value: '4.7%', delta: 0.6, deltaLabel: '+0.6 pts'),
    DashboardMetric(label: 'Revenue', value: '\$184K', delta: 12.1, deltaLabel: '+12.1% MoM'),
    DashboardMetric(label: 'Churn', value: '2.1%', delta: -0.4, deltaLabel: '-0.4 pts'),
  ];

  static const _trend = [
    ChartPoint(label: 'Mon', value: 24),
    ChartPoint(label: 'Tue', value: 32),
    ChartPoint(label: 'Wed', value: 28),
    ChartPoint(label: 'Thu', value: 41),
    ChartPoint(label: 'Fri', value: 47),
    ChartPoint(label: 'Sat', value: 38),
    ChartPoint(label: 'Sun', value: 52),
  ];

  static const _mix = [
    DistributionSegment(label: 'Direct', value: 42, color: DashboardColors.primary),
    DistributionSegment(label: 'Search', value: 28, color: DashboardColors.sky),
    DistributionSegment(label: 'Social', value: 18, color: DashboardColors.lavender),
    DistributionSegment(label: 'Email', value: 12, color: DashboardColors.success),
  ];

  @override
  Widget build(BuildContext context) {
    return DashboardScaffold(
      title: 'Shared Primitives',
      subtitle: 'A minimal dashboard built from the shared widget set.',
      navItems: _navItems,
      filters: const DashboardFilterBar(filters: ['Today', '7 days', '30 days']),
      child: SingleChildScrollView(
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: const [
            KpiGrid(metrics: _kpis),
            SizedBox(height: 20),
            TrendCard(
              title: 'Weekly Activity',
              subtitle: 'Sessions per day across all surfaces',
              data: _trend,
              highlightColor: DashboardColors.primary,
            ),
            SizedBox(height: 20),
            DistributionCard(
              title: 'Traffic Mix',
              subtitle: 'Channel split for the current period',
              segments: _mix,
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
150
points
145
downloads

Documentation

API reference

Publisher

verified publishershop.stripedape.tech

Weekly Downloads

Shared Flutter dashboard primitives for Statflow templates.

Repository (GitHub)
View/report issues

Topics

#flutter #dashboard #analytics #admin

License

unknown (license)

Dependencies

flutter

More

Packages that depend on statflow_dashboard_shared