ammaratef45 / ammaratef45/hydroponics-garden

integrate with apple and google calendar and famous reminder apps

Ouverte
#27 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
hacktoberfest todo
Langage dominant
Dart
Étoiles
2
Forks
1
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

https://api.github.com/ammaratef45/hydroponics-garden/blob/dfd1dd179156b44080547a0b6fff3b8e178c0c8a/lib/widgets/calendar_widget.dart#L16

```dart

import 'package:calendar_view/calendar_view.dart';
import 'package:flutter/material.dart';
import 'package:hydroponic_garden/firebase/auth.dart';
import 'package:hydroponic_garden/firebase/firestore.dart';
import 'package:hydroponic_garden/model/plant.dart';
import 'package:hydroponic_garden/widgets/error_text_widget.dart';
import 'package:hydroponic_garden/widgets/loading_text_widget.dart';
import 'package:hydroponic_garden/widgets/main_widget.dart';

class CalendarPage extends StatelessWidget {
static const routeName = 'calendar';
final EventController controller = EventController();

CalendarPage({super.key});

// TODO: integrate with apple and google maps and famous reminder apps
void _addEvents(List plants) {
// TODO: add events to important care events for plants
// for example: pruning, trimming, health check .. etc
for (Plant p in plants) {
// TODO: make the events show continiously across days
controller.add(CalendarEventData(
title: p.description.name,
date: p.harvestDate,
endDate: p.endHarvestDate,
startTime: p.harvestDate,
endTime: p.endHarvestDate,
));
}
}

@override
Widget build(BuildContext context) {
return MainWidget(
showBottomNavigationMenu: true,
navigationIndex: 1,
title: 'Calendar',
body: StreamBuilder>(
stream: FireStore.instance().userPlants(Auth.instance().user!.uid),
builder: (context, snapshot) {
if (snapshot.hasError) {
return ErrorTextWidget.failedToLoad;
}
if (!snapshot.hasData) {
return LoadingTextWidget.standard;
}
controller.removeWhere((e) => true);
_addEvents(snapshot.data!);
return MonthView(
controller: controller,
);
},
),
);
}
}

```

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.