first commit

This commit is contained in:
atseirjo
2026-01-23 07:33:20 +01:00
commit aeca07a5a3
31 changed files with 1831 additions and 0 deletions

56
lib/pages/home_view.dart Normal file
View File

@@ -0,0 +1,56 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../controller/home_controller.dart';
class HomePage extends GetView<HomeController> {
static const String namedRoute = '/home-page';
const HomePage({super.key});
@override
Widget build(BuildContext context) {
var homCtrl = controller;
return PopScope(
canPop: false,
child: SafeArea(
child: Scaffold(
appBar: AppBar(
backgroundColor: Colors.blueGrey,
foregroundColor: Colors.white,
title: const Text('Tank List'),
centerTitle: true,
actions: [
IconButton(
icon: const Icon(Icons.refresh),
onPressed: () {
controller.onInit();
},
),
IconButton(
onPressed: () => homCtrl.logout(),
icon: Icon(Icons.logout),
),
],
),
body: Obx(
() => homCtrl.isLoading.value == false
? ListView.builder(
itemBuilder: (context, index) {
var tank = homCtrl.listTankModel[index];
return ListTile(
title: Text(
'${tank.szDate} - ${tank.szLiters}L - ${tank.szPricePerLiter}€/L',
),
subtitle: Text(
'Total: ${tank.szPriceTotal}€ - Odometer: ${tank.szOdometer}km',
),
);
},
itemCount: homCtrl.listTankModel.length,
)
: Center(child: CircularProgressIndicator()),
),
),
),
);
}
}

36
lib/pages/login_view.dart Normal file
View File

@@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../controller/login_controller.dart';
import '../widgets/my_login_widget.dart';
class LoginPage extends GetView<LoginController> {
static const String namedRoute = '/login-page';
const LoginPage({super.key});
@override
Widget build(BuildContext context) {
var logCtrl = controller;
var displayWidth = MediaQuery.of(context).size.width;
var displayHeight = MediaQuery.of(context).size.height;
return SafeArea(
child: Scaffold(
body: Container(
height: displayHeight,
width: displayWidth,
padding: const EdgeInsets.symmetric(
horizontal: 16.0,
vertical: 130.0,
),
color: Colors.blue.shade100,
child: SingleChildScrollView(
child: MyLoginWidget(
onButtonPressed: () => logCtrl.login(),
signInOnTab: () => logCtrl.goToSignInPage(),
logCtrl: logCtrl,
),
),
),
),
);
}
}

View File

@@ -0,0 +1,36 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../controller/signin_controller.dart';
import '../widgets/my_signin_widget.dart';
class SigninPage extends GetView<SigninController> {
static const String namedRoute = '/signin-page';
const SigninPage({super.key});
@override
Widget build(BuildContext context) {
var sigCtrl = controller;
var displayWidth = MediaQuery.of(context).size.width;
var displayHeight = MediaQuery.of(context).size.height;
return SafeArea(
child: Scaffold(
body: Container(
height: displayHeight,
width: displayWidth,
padding: const EdgeInsets.symmetric(
horizontal: 16.0,
vertical: 100.0,
),
color: Colors.blue.shade100,
child: SingleChildScrollView(
child: MySigninWidget(
signCtrl: sigCtrl,
onButtonPressed: () => sigCtrl.register(),
logInOnTab: () => sigCtrl.goToLoginPage(),
),
),
),
),
);
}
}