generated from josiadmin/flutter-template-getx-provider
appwrite repo mod
This commit is contained in:
@@ -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<void> _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');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ class LoginController extends GetxController {
|
||||
return isLoggedOut;
|
||||
}
|
||||
|
||||
void _goToHomePage() async {
|
||||
await Get.offAllNamed(HomePage.namedRoute);
|
||||
Future<void> _goToHomePage() async {
|
||||
await Get.offAndToNamed(HomePage.namedRoute);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:get/get.dart';
|
||||
import '../../controllers/home_controller.dart';
|
||||
|
||||
class HomePage extends GetView<HomeController> {
|
||||
static const String namedRoute = '/home';
|
||||
static const String namedRoute = '/home-page';
|
||||
const HomePage({super.key});
|
||||
|
||||
@override
|
||||
@@ -15,25 +15,28 @@ class HomePage extends GetView<HomeController> {
|
||||
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(
|
||||
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,
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
import 'package:appwrite/appwrite.dart';
|
||||
import 'package:appwrite/models.dart' as models;
|
||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||
@@ -11,8 +9,6 @@ class AppWriteProvider {
|
||||
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<models.DocumentList> listTankStops(String userId) async {
|
||||
Future<models.DocumentList> 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user