diff --git a/lib/controllers/home_controller.dart b/lib/controllers/home_controller.dart index ec1dd3e..e1388de 100644 --- a/lib/controllers/home_controller.dart +++ b/lib/controllers/home_controller.dart @@ -1,15 +1,19 @@ import 'package:get/get.dart'; +import 'package:intl/intl.dart'; +//import '../pages/login/login_view.dart'; import '../pages/login/login_view.dart'; import '../services/appwrite_service.dart'; class HomeController extends GetxController { - final szHeaderHome = 'Home Page'.obs; + final szHeaderHome = 'Tankstops'.obs; late AppWriteProvider appwriteProvider; + final dateFormat = DateFormat('yyyy-MM-dd'); @override void onInit() { appwriteProvider = AppWriteProvider(); + _loadList(); super.onInit(); } @@ -29,4 +33,13 @@ class HomeController extends GetxController { await Get.offAllNamed(LoginPage.namedRoute); } } + + Future _loadList() async { + var user = await appwriteProvider.account!.get(); + var userId = user.$id; + var szDate = dateFormat.format(DateTime.now()); + var documentsList = await appwriteProvider.listTankStops(userId, szDate); + // Verarbeiten Sie documentsList nach Bedarf + print('Loaded ${documentsList.toMap()} tank stops for user $userId ab dem Datum $szDate'); + } } diff --git a/lib/controllers/login_controller.dart b/lib/controllers/login_controller.dart index 8925ac2..3e2e517 100644 --- a/lib/controllers/login_controller.dart +++ b/lib/controllers/login_controller.dart @@ -147,7 +147,7 @@ class LoginController extends GetxController { return isLoggedOut; } - void _goToHomePage() async { - await Get.offAllNamed(HomePage.namedRoute); + Future _goToHomePage() async { + await Get.offAndToNamed(HomePage.namedRoute); } } diff --git a/lib/pages/home/home_view.dart b/lib/pages/home/home_view.dart index c0f3385..7b58e47 100644 --- a/lib/pages/home/home_view.dart +++ b/lib/pages/home/home_view.dart @@ -3,7 +3,7 @@ import 'package:get/get.dart'; import '../../controllers/home_controller.dart'; class HomePage extends GetView { - static const String namedRoute = '/home'; + static const String namedRoute = '/home-page'; const HomePage({super.key}); @override @@ -15,25 +15,28 @@ class HomePage extends GetView { child: Scaffold( appBar: AppBar( backgroundColor: Colors.grey.shade500, - leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.grey.shade200), - onPressed: () { - // Verhindert das Zurücknavigieren - homeCtrl.goToLoginPage(); - }, - ), - title: Text( - homeCtrl.szHeaderHome.value, - style: TextStyle(color: Colors.grey.shade200), + title: Obx( + () => Text( + homeCtrl.szHeaderHome.value, + style: TextStyle(color: Colors.grey.shade200), + ), ), centerTitle: true, + actions: [ + IconButton( + icon: Icon(Icons.logout, color: Colors.grey.shade200), + onPressed: () { + homeCtrl.goToLoginPage(); + }, + ), + ], ), body: Container( decoration: BoxDecoration(color: Colors.grey.shade400), padding: EdgeInsets.all(20), child: Center( child: Text( - 'You are on the Home Page...\nPress the back arrow to logout.\nThis is a Template to use...', + 'You are on the Home Page...\nPress exit to logout.\nThis is a Template to use...', style: TextStyle( color: Colors.grey.shade800, fontSize: 24, diff --git a/lib/services/appwrite_service.dart b/lib/services/appwrite_service.dart index c547582..fc4b517 100644 --- a/lib/services/appwrite_service.dart +++ b/lib/services/appwrite_service.dart @@ -1,5 +1,3 @@ - - import 'package:appwrite/appwrite.dart'; import 'package:appwrite/models.dart' as models; import 'package:flutter_dotenv/flutter_dotenv.dart'; @@ -8,11 +6,9 @@ class AppWriteProvider { final szEndpoint = dotenv.env['APPWRITE_ENDPOINT_URL'] ?? ''; final szProjectID = dotenv.env['APPWRITE_PROJECT_ID'] ?? ''; final szDatabaseID = dotenv.env['APPWRITE_DATABASE_ID'] ?? ''; - final szCollectionID = dotenv.env['APPWRITE_COLLECTION_ID'] ?? ''; + final szCollectionID = dotenv.env['APPWRITE_COLLECTION_ID'] ?? ''; final bSelfSignd = dotenv.env['APPWRITE_SELF_SIGNED'] == 'true'; - - Client client = Client(); Account? account; Storage? storage; @@ -119,12 +115,11 @@ class AppWriteProvider { return response; } - Future listTankStops(String userId) async { + Future listTankStops(String userId, String szDate) async { final response = await database!.listDocuments( databaseId: szDatabaseID, collectionId: szCollectionID, - queries: [Query.equal('userId', userId)], - ); + queries: [Query.equal('userId', userId), Query.greaterThanEqual('date', szDate)]); return response; } diff --git a/pubspec.lock b/pubspec.lock index 0d49101..c87a321 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -184,6 +184,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" + source: hosted + version: "0.20.2" leak_tracker: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index e0b0bb2..3a307ff 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,6 +15,7 @@ dependencies: sdk: flutter flutter_dotenv: ^6.0.0 get: ^4.7.2 + intl: ^0.20.2 dev_dependencies: flutter_lints: ^5.0.0