summaryrefslogtreecommitdiffstats
path: root/lib/HomePage.dart
blob: 532a1a1146c600efa73780cef7ee0893ac9f1391 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
// SPDX-License-Identifier: Apache-2.0
import 'package:dashboard_app/Tire_pressure.dart';
import 'package:dashboard_app/size.dart';
import 'package:dashboard_app/widgets/child_lock.dart';
import 'package:dashboard_app/widgets/fuel_and_speed.dart';
import 'package:dashboard_app/widgets/weather.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

import 'Kuksa-server/vehicle_provider.dart';

class HomePage extends ConsumerStatefulWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends ConsumerState<HomePage> {
  @override
  Widget build(BuildContext context) {
    SizeConfig().init(context);
    final vehicle = ref.watch(vehicleSignalProvider);

    return Scaffold(
        backgroundColor: Colors.black,
        body: Stack(
          children: [
            Padding(
              padding: EdgeInsets.fromLTRB(
                  SizeConfig.safeBlockHorizontal * 3,
                  SizeConfig.safeBlockVertical * 3,
                  SizeConfig.safeBlockHorizontal * 3,
                  SizeConfig.safeBlockVertical),
              child: Column(
                children: [
                  SizedBox(height: SizeConfig.safeBlockVertical),
                  Flexible(
                    flex: 1,
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.end,
                      crossAxisAlignment: CrossAxisAlignment.end,
                      children: [],
                    ),
                  ),
                  SizedBox(height: SizeConfig.safeBlockVertical),
                  Flexible(
                    flex: 2,
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      crossAxisAlignment: CrossAxisAlignment.center,
                      children: [
                        Flexible(
                          flex: 1,
                          child: weather(
                            insideTemperatue: vehicle.insideTemperature,
                            outsideTempearure: vehicle.outsideTemperature,
                          ),
                        ),
                        Flexible(
                          flex: 2,
                          child: SpeedAndFuel(
                              fuel: vehicle.fuelLevel, speed: vehicle.speed),
                        ),
                      ],
                    ),
                  ),
                  Flexible(
                    flex: 11,
                    child: Container(
                      //color: Colors.red,
                      child: Row(children: [
                        Spacer(),
                        Column(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          crossAxisAlignment: CrossAxisAlignment.center,
                          children: [
                            Container(height: SizeConfig.safeBlockVertical * 6),
                            TirePressure(
                              tname: 'Left Front',
                              tpress: vehicle.frontLeftTP,
                              mainAxisAlignment: MainAxisAlignment.end,
                              crossAxisAlignment: CrossAxisAlignment.end,
                            ),
                            Spacer(),
                            ChildLockStatus(
                                isChildLockActiveLeft:
                                    vehicle.isChildLockActiveLeft,
                                isChildLockActiveRight:
                                    vehicle.isChildLockActiveRight),
                            Spacer(),
                            TirePressure(
                              tname: 'Left Rear',
                              tpress: vehicle.rearLeftTP,
                              mainAxisAlignment: MainAxisAlignment.start,
                              crossAxisAlignment: CrossAxisAlignment.end,
                            ),
                            Container(
                                height: SizeConfig.safeBlockVertical * 10),
                          ],
                        ),
                        Image.asset(
                          'images/car_img.png',
                        ),
                        Column(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          crossAxisAlignment: CrossAxisAlignment.center,
                          children: [
                            Container(height: SizeConfig.safeBlockVertical * 6),
                            TirePressure(
                              tname: 'Right Front',
                              tpress: vehicle.frontRightTP,
                              mainAxisAlignment: MainAxisAlignment.end,
                              crossAxisAlignment: CrossAxisAlignment.start,
                            ),
                            Spacer(),
                            ChildLockStatus(
                                isChildLockActiveLeft:
                                    vehicle.isChildLockActiveLeft,
                                isChildLockActiveRight:
                                    vehicle.isChildLockActiveRight),
                            Spacer(),
                            TirePressure(
                              tname: 'Right Rear',
                              tpress: vehicle.rearRightTP,
                              mainAxisAlignment: MainAxisAlignment.start,
                              crossAxisAlignment: CrossAxisAlignment.start,
                            ),
                            Container(
                                height: SizeConfig.safeBlockVertical * 10),
                          ],
                        ),
                        Spacer(),
                      ]),
                    ),
                  ),
                  Flexible(
                    flex: 1,
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      crossAxisAlignment: CrossAxisAlignment.end,
                      children: [
                        Flexible(
                          flex: 1,
                          child: Column(
                            mainAxisAlignment: MainAxisAlignment.end,
                            crossAxisAlignment: CrossAxisAlignment.start,
                            children: [
                              Text(
                                'Fuel Consumption',
                                style: SizeConfig.smallnormalfont2,
                              ),
                              Text(
                                vehicle.fuelRate.toString() + ' km/Litre',
                                style: SizeConfig.smallnormalfont,
                              ),
                            ],
                          ),
                        ),
                        Flexible(flex: 1, child: Rpm(rpm: vehicle.rpm)),
                      ],
                    ),
                  ),
                ],
              ),
            ),
          ],
        ));
  }
}