Files
Prod/lib/views/home.dart
Phani Pavan K ec3e69ffa9
All checks were successful
Build CI / AMD64 Build (push) Successful in 3m23s
Build CI / ARM64 Build (push) Successful in 7m16s
added prj editing page, must change to dialog bcz page too big
2026-02-15 19:06:15 +05:30

52 lines
1.7 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.importedData
? YaruLinearProgressIndicator()
: gm.lenPrj > 0
? LayoutBuilder(
builder: (context, constraints) {
int cols = (constraints.maxWidth / 300).floor();
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: cols,
childAspectRatio: 2,
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),
),
),
),
),
);
}
}