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:get/get.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
//import '../pages/login/login_view.dart';
|
||||||
import '../pages/login/login_view.dart';
|
import '../pages/login/login_view.dart';
|
||||||
import '../services/appwrite_service.dart';
|
import '../services/appwrite_service.dart';
|
||||||
|
|
||||||
class HomeController extends GetxController {
|
class HomeController extends GetxController {
|
||||||
final szHeaderHome = 'Home Page'.obs;
|
final szHeaderHome = 'Tankstops'.obs;
|
||||||
late AppWriteProvider appwriteProvider;
|
late AppWriteProvider appwriteProvider;
|
||||||
|
final dateFormat = DateFormat('yyyy-MM-dd');
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
appwriteProvider = AppWriteProvider();
|
appwriteProvider = AppWriteProvider();
|
||||||
|
_loadList();
|
||||||
super.onInit();
|
super.onInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,4 +33,13 @@ class HomeController extends GetxController {
|
|||||||
await Get.offAllNamed(LoginPage.namedRoute);
|
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;
|
return isLoggedOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _goToHomePage() async {
|
Future<void> _goToHomePage() async {
|
||||||
await Get.offAllNamed(HomePage.namedRoute);
|
await Get.offAndToNamed(HomePage.namedRoute);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import 'package:get/get.dart';
|
|||||||
import '../../controllers/home_controller.dart';
|
import '../../controllers/home_controller.dart';
|
||||||
|
|
||||||
class HomePage extends GetView<HomeController> {
|
class HomePage extends GetView<HomeController> {
|
||||||
static const String namedRoute = '/home';
|
static const String namedRoute = '/home-page';
|
||||||
const HomePage({super.key});
|
const HomePage({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -15,25 +15,28 @@ class HomePage extends GetView<HomeController> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
backgroundColor: Colors.grey.shade500,
|
backgroundColor: Colors.grey.shade500,
|
||||||
leading: IconButton(
|
title: Obx(
|
||||||
icon: Icon(Icons.arrow_back, color: Colors.grey.shade200),
|
() => Text(
|
||||||
onPressed: () {
|
homeCtrl.szHeaderHome.value,
|
||||||
// Verhindert das Zurücknavigieren
|
style: TextStyle(color: Colors.grey.shade200),
|
||||||
homeCtrl.goToLoginPage();
|
),
|
||||||
},
|
|
||||||
),
|
|
||||||
title: Text(
|
|
||||||
homeCtrl.szHeaderHome.value,
|
|
||||||
style: TextStyle(color: Colors.grey.shade200),
|
|
||||||
),
|
),
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
|
actions: [
|
||||||
|
IconButton(
|
||||||
|
icon: Icon(Icons.logout, color: Colors.grey.shade200),
|
||||||
|
onPressed: () {
|
||||||
|
homeCtrl.goToLoginPage();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
body: Container(
|
body: Container(
|
||||||
decoration: BoxDecoration(color: Colors.grey.shade400),
|
decoration: BoxDecoration(color: Colors.grey.shade400),
|
||||||
padding: EdgeInsets.all(20),
|
padding: EdgeInsets.all(20),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: Text(
|
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(
|
style: TextStyle(
|
||||||
color: Colors.grey.shade800,
|
color: Colors.grey.shade800,
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
import 'package:appwrite/appwrite.dart';
|
import 'package:appwrite/appwrite.dart';
|
||||||
import 'package:appwrite/models.dart' as models;
|
import 'package:appwrite/models.dart' as models;
|
||||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||||
@@ -8,11 +6,9 @@ class AppWriteProvider {
|
|||||||
final szEndpoint = dotenv.env['APPWRITE_ENDPOINT_URL'] ?? '';
|
final szEndpoint = dotenv.env['APPWRITE_ENDPOINT_URL'] ?? '';
|
||||||
final szProjectID = dotenv.env['APPWRITE_PROJECT_ID'] ?? '';
|
final szProjectID = dotenv.env['APPWRITE_PROJECT_ID'] ?? '';
|
||||||
final szDatabaseID = dotenv.env['APPWRITE_DATABASE_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';
|
final bSelfSignd = dotenv.env['APPWRITE_SELF_SIGNED'] == 'true';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Client client = Client();
|
Client client = Client();
|
||||||
Account? account;
|
Account? account;
|
||||||
Storage? storage;
|
Storage? storage;
|
||||||
@@ -119,12 +115,11 @@ class AppWriteProvider {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<models.DocumentList> listTankStops(String userId) async {
|
Future<models.DocumentList> listTankStops(String userId, String szDate) async {
|
||||||
final response = await database!.listDocuments(
|
final response = await database!.listDocuments(
|
||||||
databaseId: szDatabaseID,
|
databaseId: szDatabaseID,
|
||||||
collectionId: szCollectionID,
|
collectionId: szCollectionID,
|
||||||
queries: [Query.equal('userId', userId)],
|
queries: [Query.equal('userId', userId), Query.greaterThanEqual('date', szDate)]);
|
||||||
);
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -184,6 +184,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.2"
|
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:
|
leak_tracker:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ dependencies:
|
|||||||
sdk: flutter
|
sdk: flutter
|
||||||
flutter_dotenv: ^6.0.0
|
flutter_dotenv: ^6.0.0
|
||||||
get: ^4.7.2
|
get: ^4.7.2
|
||||||
|
intl: ^0.20.2
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_lints: ^5.0.0
|
flutter_lints: ^5.0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user