zeba_academy_super_ui 1.0.0
zeba_academy_super_ui: ^1.0.0 copied to clipboard
Advanced Flutter UI toolkit with charts, dashboards, drag and drop widgets, smart tables and responsive layouts.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:zeba_academy_super_ui/zeba_academy_super_ui.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Zeba Super UI',
theme: ThemeData(
colorSchemeSeed: Colors.blue,
useMaterial3: true,
),
home: const DemoPage(),
);
}
}
class DemoPage extends StatelessWidget {
const DemoPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Zeba Academy Super UI"),
centerTitle: true,
),
body: SingleChildScrollView(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
/// Dashboard Cards
const Text(
"Dashboard",
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),
),
const SizedBox(height: 16),
ZebaAnimatedDashboard(
cards: [
_dashboardCard("Users", "1200", Icons.people),
_dashboardCard("Orders", "320", Icons.shopping_cart),
_dashboardCard("Revenue", "\$12K", Icons.attach_money),
_dashboardCard("Growth", "24%", Icons.trending_up),
],
),
const SizedBox(height: 40),
/// Chart Section
const Text(
"Analytics Chart",
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),
),
const SizedBox(height: 20),
const Card(
child: Padding(
padding: EdgeInsets.all(20),
child: ZebaAdvancedChart(
data: [1, 3, 2, 5, 4, 6],
),
),
),
const SizedBox(height: 40),
/// Smart Table
const Text(
"Smart Data Table",
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),
),
const SizedBox(height: 20),
Card(
child: Padding(
padding: const EdgeInsets.all(16),
child: ZebaSmartDataTable(
columns: const [
DataColumn(label: Text("Name")),
DataColumn(label: Text("Email")),
DataColumn(label: Text("Role")),
],
rows: const [
DataRow(cells: [
DataCell(Text("John")),
DataCell(Text("john@email.com")),
DataCell(Text("Admin")),
]),
DataRow(cells: [
DataCell(Text("Sara")),
DataCell(Text("sara@email.com")),
DataCell(Text("Manager")),
]),
],
),
),
),
const SizedBox(height: 40),
/// Drag Drop Section
const Text(
"Drag & Drop Widgets",
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),
),
const SizedBox(height: 20),
SizedBox(
height: 200,
child: ZebaDragDropBoard(
items: [
_dragItem("Widget 1"),
_dragItem("Widget 2"),
_dragItem("Widget 3"),
],
),
),
],
),
),
);
}
static Widget _dashboardCard(String title, String value, IconData icon) {
return Card(
elevation: 3,
child: Padding(
padding: const EdgeInsets.all(20),
child: Row(
children: [
Icon(icon, size: 36),
const SizedBox(width: 16),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(value,
style: const TextStyle(
fontSize: 20, fontWeight: FontWeight.bold)),
Text(title),
],
),
],
),
),
);
}
static Widget _dragItem(String text) {
return Card(
child: ListTile(
title: Text(text),
trailing: const Icon(Icons.drag_handle),
),
);
}
}