49 lines
1.6 KiB
Dart
49 lines
1.6 KiB
Dart
import "package:prod/models/globalModel.dart";
|
|
import "package:prod/models/project.dart";
|
|
import "package:prod/widgets/prjFAB.dart";
|
|
import "package:prod/widgets/drawer.dart";
|
|
import "package:prod/widgets/projectCard.dart";
|
|
import "package:provider/provider.dart";
|
|
import "package:yaru/yaru.dart";
|
|
import "package:flutter/material.dart";
|
|
|
|
class HomePage extends StatelessWidget {
|
|
const HomePage({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
GlobalModel gm = Provider.of<GlobalModel>(context);
|
|
return SafeArea(
|
|
child: Scaffold(
|
|
appBar: AppBar(title: Text("PROject Dashboard")),
|
|
drawer: ProdDrawer(),
|
|
floatingActionButton: ProjFAB(),
|
|
body: Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: gm.lenPrj > 0
|
|
? LayoutBuilder(
|
|
builder: (context, constraints) {
|
|
int cols = (constraints.maxWidth / 200).floor();
|
|
return GridView.builder(
|
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
|
crossAxisCount: cols,
|
|
crossAxisSpacing: 10,
|
|
mainAxisSpacing: 10,
|
|
),
|
|
itemCount: gm.lenPrj,
|
|
itemBuilder: (context, index) => ProjectCard(index),
|
|
);
|
|
},
|
|
)
|
|
: Center(
|
|
child: Text(
|
|
"Add projects by pressing the \"+\" button.",
|
|
style: TextStyle(fontSize: 20),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|