고원빈

[frontend] DashBoard 1차 작업 완료

...@@ -70,7 +70,15 @@ appbar 관련 디자인은 추후 구현 예정 ...@@ -70,7 +70,15 @@ appbar 관련 디자인은 추후 구현 예정
70 ### 2021-05-22 70 ### 2021-05-22
71 + 약병 검색 기능 구현 중 71 + 약병 검색 기능 구현 중
72 72
73 -### 2021-0523 73 +### 2021-05-23
74 + 로그인 하여 메인페이지 과정 구현 완료 74 + 로그인 하여 메인페이지 과정 구현 완료
75 + 폴더 정리 75 + 폴더 정리
76 76
77 +
78 +### 2021-05-24
79 +회원 가입 --> 허브 등록 --> 약병 등록 -->로그인 페이지로
80 +로그인 --> 허브 리스트 --> 약병 리스트 --> 메인 페이지
81 ++ 시나리오 수정 완료
82 ++ 메인 페이지 데이터 출력 완료
83 +
84 +
......
1 import 'package:flutter/material.dart'; 1 import 'package:flutter/material.dart';
2 -import 'package:Smart_Medicine_Box/src/screens/SettingPage.dart';
3 import 'dart:convert'; 2 import 'dart:convert';
4 import 'package:shared_preferences/shared_preferences.dart'; 3 import 'package:shared_preferences/shared_preferences.dart';
5 import 'package:http/http.dart' as http; 4 import 'package:http/http.dart' as http;
6 import 'package:flutter_dotenv/flutter_dotenv.dart'; 5 import 'package:flutter_dotenv/flutter_dotenv.dart';
7 6
7 +import 'models/Bottle.dart';
8 +import 'models/Medicine.dart';
9 +import 'package:Smart_Medicine_Box/src/screens/SettingPage.dart';
10 +
8 class DashBoard extends StatefulWidget { 11 class DashBoard extends StatefulWidget {
9 int pageNumber; 12 int pageNumber;
10 - int bottleID; 13 + Bottle bottleInformation;
11 - DashBoard({Key key, this.pageNumber, this.bottleID}) : super(key: key); 14 + Medicine medicineInformation;
15 +
16 + DashBoard(
17 + {Key key,
18 + this.pageNumber,
19 + this.bottleInformation,
20 + this.medicineInformation})
21 + : super(key: key);
12 22
13 @override 23 @override
14 _DashBoardState createState() => _DashBoardState(); 24 _DashBoardState createState() => _DashBoardState();
15 } 25 }
16 26
17 class _DashBoardState extends State<DashBoard> { 27 class _DashBoardState extends State<DashBoard> {
28 + Bottle _bottleinformation = new Bottle();
18 int _selectedIndex = 0; 29 int _selectedIndex = 0;
19 - 30 + Medicine _medicineInformation = new Medicine();
20 Widget build(BuildContext context) { 31 Widget build(BuildContext context) {
21 _selectedIndex = widget.pageNumber; 32 _selectedIndex = widget.pageNumber;
22 - 33 + _medicineInformation = widget.medicineInformation;
34 + _bottleinformation = widget.bottleInformation;
23 var _tabs = [ 35 var _tabs = [
24 - ineerInformationpage(context), 36 + ineerInformationpage(context, _bottleinformation),
25 - mainpage(context), 37 + mainpage(context, _medicineInformation),
26 - outerInformationpage(context), 38 + outerInformationpage(context, _bottleinformation),
27 ]; 39 ];
28 40
29 return Scaffold( 41 return Scaffold(
...@@ -112,7 +124,7 @@ class _DashBoardState extends State<DashBoard> { ...@@ -112,7 +124,7 @@ class _DashBoardState extends State<DashBoard> {
112 } 124 }
113 } 125 }
114 126
115 -Widget mainpage(BuildContext context) { 127 +Widget mainpage(BuildContext context, Medicine medicineInformation) {
116 Future<String> getHubList() async { 128 Future<String> getHubList() async {
117 SharedPreferences prefs = await SharedPreferences.getInstance(); 129 SharedPreferences prefs = await SharedPreferences.getInstance();
118 130
...@@ -122,117 +134,165 @@ Widget mainpage(BuildContext context) { ...@@ -122,117 +134,165 @@ Widget mainpage(BuildContext context) {
122 print(response.statusCode); 134 print(response.statusCode);
123 } 135 }
124 136
137 + //현재 접속 중인 허브 리스트 id와 약병 리스트 id 출력
138 + //약 상세 정보 가져오기 --> 이건 Detail Medicine에서 가져 오면 됨
125 final Size size = MediaQuery.of(context).size; 139 final Size size = MediaQuery.of(context).size;
126 - /*
127 - Main 화면
128 - 약의 정보를 가져와서 출력을 하는 곳
129 - 유저 이메일
130 - 약 이름
131 - 약 제조사
132 - */
133 return Scaffold( 140 return Scaffold(
134 backgroundColor: Colors.white, 141 backgroundColor: Colors.white,
135 - body: Container( 142 + body: SingleChildScrollView(
136 - height: size.height * 0.6, 143 + child: Container(
137 - margin: EdgeInsets.fromLTRB(0, 30, 0, 0), 144 + margin: EdgeInsets.fromLTRB(0, 30, 0, 0),
138 - padding: EdgeInsets.fromLTRB(5, 0, 5, 5), 145 + padding: EdgeInsets.fromLTRB(5, 0, 5, 5),
139 - child: Column( 146 + child: Column(
140 - crossAxisAlignment: CrossAxisAlignment.center, 147 + crossAxisAlignment: CrossAxisAlignment.center,
141 - children: <Widget>[ 148 + children: <Widget>[
142 - Container( 149 + SizedBox(height: 20),
143 - padding: EdgeInsets.fromLTRB(5, 0, 5, 5), 150 + Container(
144 - margin: EdgeInsets.fromLTRB(0, 30, 0, 0), 151 + width: size.width,
145 - height: size.height * 0.15, 152 + padding: EdgeInsets.fromLTRB(5, 0, 5, 5),
146 - width: size.width, 153 + margin: EdgeInsets.all(15),
147 - decoration: BoxDecoration( 154 + decoration: BoxDecoration(
148 - border: Border.all(), 155 + border: Border.all(),
149 - borderRadius: BorderRadius.all( 156 + borderRadius: BorderRadius.all(
150 - Radius.circular(4.0) // <--- border radius here 157 + Radius.circular(25.0) // <--- border radius here
158 + ),
159 + ),
160 + child: Column(
161 + children: [
162 + SizedBox(height: 30),
163 + Container(
164 + child: Center(
165 + child: Text(
166 + medicineInformation.name == null
167 + ? '-'
168 + : medicineInformation.name,
169 + style: TextStyle(
170 + color: Colors.black,
171 + fontSize: 24,
172 + fontFamily: 'NotoSansKR',
173 + fontWeight: FontWeight.w700)),
174 + ),
151 ), 175 ),
152 - ), 176 + SizedBox(height: 30),
153 - child: new Column( 177 + Container(
154 - crossAxisAlignment: CrossAxisAlignment.start, 178 + width: size.width,
155 - children: [ 179 + alignment: Alignment(0.9, 0),
156 - Text( 180 + child: Wrap(
157 - '약 이름:', 181 + children: [
158 - style: TextStyle( 182 + Text(
159 - color: Colors.black, 183 + '제조사: ',
160 - fontSize: 24, 184 + style: TextStyle(
161 - fontFamily: 'NotoSansKR', 185 + color: Colors.grey,
162 - fontWeight: FontWeight.w700), 186 + fontSize: 14,
163 - ), 187 + ),
164 - Text( 188 + ),
165 - '무슨 무슨 비타민 ', 189 + Text(
166 - style: TextStyle( 190 + medicineInformation.company == null
167 - color: Colors.black, 191 + ? '-'
168 - fontSize: 36, 192 + : medicineInformation.company,
169 - fontFamily: 'NotoSansKR', 193 + style: TextStyle(
170 - fontWeight: FontWeight.w700), 194 + color: Colors.grey,
171 - ), 195 + fontSize: 14,
172 - ], 196 + ),
173 - ), 197 + ),
174 - ), 198 + ],
175 - Container( 199 + ),
176 - padding: EdgeInsets.fromLTRB(5, 0, 5, 5),
177 - margin: EdgeInsets.fromLTRB(0, 30, 0, 0),
178 - height: size.height * 0.15,
179 - width: size.width,
180 - decoration: BoxDecoration(
181 - border: Border.all(),
182 - borderRadius: BorderRadius.all(
183 - Radius.circular(4.0) // <--- border radius here
184 ), 200 ),
185 - ), 201 + SizedBox(height: 30),
186 - child: new Column( 202 + Container(
187 - crossAxisAlignment: CrossAxisAlignment.start, 203 + width: size.width,
188 - children: [ 204 + padding: EdgeInsets.fromLTRB(5, 0, 5, 0),
189 - Text( 205 + alignment: Alignment(-1, 0),
190 - '약 제조사:', 206 + child: Wrap(
191 - style: TextStyle( 207 + children: [
192 - color: Colors.black, 208 + Text(
193 - fontSize: 24, 209 + '타겟 층 : ',
194 - fontFamily: 'NotoSansKR', 210 + style: TextStyle(
195 - fontWeight: FontWeight.w700), 211 + color: Colors.grey,
196 - ), 212 + fontSize: 14,
197 - Text( 213 + ),
198 - 'Test123', 214 + ),
199 - style: TextStyle( 215 + Text(
200 - color: Colors.black, 216 + medicineInformation.target == null
201 - fontSize: 32, 217 + ? '-'
202 - fontFamily: 'NotoSansKR', 218 + : medicineInformation.target,
203 - fontWeight: FontWeight.w700), 219 + style: TextStyle(
204 - ), 220 + color: Colors.grey,
205 - ], 221 + fontSize: 14,
206 - ), 222 + ),
207 - ), 223 + ),
208 - Container( 224 + ],
209 - height: 80, 225 + ),
210 - padding: const EdgeInsets.fromLTRB(20, 20, 20, 20), 226 + ),
211 - child: RaisedButton( 227 + SizedBox(height: 15),
212 - onPressed: () async { 228 + Container(
213 - String saveMessage = await getHubList(); 229 + width: size.width,
214 - }, 230 + padding: EdgeInsets.fromLTRB(5, 0, 5, 0),
215 - shape: RoundedRectangleBorder( 231 + alignment: Alignment(-1, 0),
216 - borderRadius: new BorderRadius.circular(18.0), 232 + child: Wrap(
217 - side: BorderSide(color: Colors.blue)), 233 + children: [
218 - color: Color(0xff1674f6), 234 + Text(
219 - child: Text( 235 + '복약 정보 : ',
220 - '회원 가입', 236 + style: TextStyle(
221 - textScaleFactor: 1.0, 237 + color: Colors.grey,
222 - style: TextStyle( 238 + fontSize: 14,
223 - fontSize: 16, 239 + ),
224 - color: Colors.white, 240 + ),
225 - fontWeight: FontWeight.bold), 241 + Text(
242 + medicineInformation.dosage == null
243 + ? '-'
244 + : medicineInformation.dosage,
245 + style: TextStyle(
246 + color: Colors.grey,
247 + fontSize: 14,
248 + ),
249 + ),
250 + ],
251 + ),
252 + ),
253 + SizedBox(height: 10),
254 + Container(
255 + width: size.width,
256 + padding: EdgeInsets.fromLTRB(5, 10, 5, 10),
257 + alignment: Alignment(-1, 0),
258 + child: Column(
259 + children: [
260 + SizedBox(
261 + height: 12,
262 + ),
263 + Container(
264 + width: size.width,
265 + child: Text(
266 + '경고',
267 + style: TextStyle(
268 + color: Colors.redAccent, fontSize: 14),
269 + ),
270 + ),
271 + SizedBox(height: 12),
272 + Container(
273 + width: size.width,
274 + child: Text(
275 + medicineInformation.warn == null
276 + ? '-'
277 + : medicineInformation.warn,
278 + style: TextStyle(
279 + color: Colors.redAccent, fontSize: 14),
280 + ),
281 + ),
282 + ],
283 + ),
284 + ),
285 + ],
226 ), 286 ),
227 ), 287 ),
228 - ) 288 + ],
229 - ], 289 + ),
230 ), 290 ),
231 ), 291 ),
232 ); 292 );
233 } 293 }
234 294
235 -Widget ineerInformationpage(BuildContext context) { 295 +Widget ineerInformationpage(BuildContext context, Bottle bottleinformation) {
236 final Size size = MediaQuery.of(context).size; 296 final Size size = MediaQuery.of(context).size;
237 return Scaffold( 297 return Scaffold(
238 backgroundColor: Colors.white, 298 backgroundColor: Colors.white,
...@@ -306,7 +366,12 @@ Widget ineerInformationpage(BuildContext context) { ...@@ -306,7 +366,12 @@ Widget ineerInformationpage(BuildContext context) {
306 mainAxisAlignment: MainAxisAlignment.center, 366 mainAxisAlignment: MainAxisAlignment.center,
307 children: [ 367 children: [
308 Text( 368 Text(
309 - '14', 369 + bottleinformation.temperature
370 + .toString() ==
371 + null
372 + ? '-'
373 + : bottleinformation.temperature
374 + .toString(),
310 textAlign: TextAlign.center, 375 textAlign: TextAlign.center,
311 textScaleFactor: 1.0, 376 textScaleFactor: 1.0,
312 style: TextStyle( 377 style: TextStyle(
...@@ -367,7 +432,11 @@ Widget ineerInformationpage(BuildContext context) { ...@@ -367,7 +432,11 @@ Widget ineerInformationpage(BuildContext context) {
367 mainAxisAlignment: MainAxisAlignment.center, 432 mainAxisAlignment: MainAxisAlignment.center,
368 children: [ 433 children: [
369 Text( 434 Text(
370 - '57', 435 + bottleinformation.humidity.toString() ==
436 + null
437 + ? '-'
438 + : bottleinformation.humidity
439 + .toString(),
371 textAlign: TextAlign.center, 440 textAlign: TextAlign.center,
372 textScaleFactor: 1.0, 441 textScaleFactor: 1.0,
373 style: TextStyle( 442 style: TextStyle(
...@@ -445,7 +514,11 @@ Widget ineerInformationpage(BuildContext context) { ...@@ -445,7 +514,11 @@ Widget ineerInformationpage(BuildContext context) {
445 mainAxisAlignment: MainAxisAlignment.center, 514 mainAxisAlignment: MainAxisAlignment.center,
446 children: [ 515 children: [
447 Text( 516 Text(
448 - '57', 517 + bottleinformation.balance.toString() ==
518 + null
519 + ? '-'
520 + : bottleinformation.balance
521 + .toString(),
449 textAlign: TextAlign.center, 522 textAlign: TextAlign.center,
450 textScaleFactor: 1.0, 523 textScaleFactor: 1.0,
451 style: TextStyle( 524 style: TextStyle(
...@@ -503,7 +576,9 @@ Widget ineerInformationpage(BuildContext context) { ...@@ -503,7 +576,9 @@ Widget ineerInformationpage(BuildContext context) {
503 height: size.height * 0.14, 576 height: size.height * 0.14,
504 child: Center( 577 child: Center(
505 child: Text( 578 child: Text(
506 - '15:57', 579 + bottleinformation.recentOpen == null
580 + ? '-'
581 + : bottleinformation.recentOpen,
507 textAlign: TextAlign.center, 582 textAlign: TextAlign.center,
508 textScaleFactor: 1.0, 583 textScaleFactor: 1.0,
509 style: TextStyle( 584 style: TextStyle(
...@@ -529,7 +604,7 @@ Widget ineerInformationpage(BuildContext context) { ...@@ -529,7 +604,7 @@ Widget ineerInformationpage(BuildContext context) {
529 ); 604 );
530 } 605 }
531 606
532 -Widget outerInformationpage(BuildContext context) { 607 +Widget outerInformationpage(BuildContext context, Bottle bottleinformation) {
533 final Size size = MediaQuery.of(context).size; 608 final Size size = MediaQuery.of(context).size;
534 return Scaffold( 609 return Scaffold(
535 backgroundColor: Colors.white, 610 backgroundColor: Colors.white,
...@@ -601,7 +676,9 @@ Widget outerInformationpage(BuildContext context) { ...@@ -601,7 +676,9 @@ Widget outerInformationpage(BuildContext context) {
601 mainAxisAlignment: MainAxisAlignment.center, 676 mainAxisAlignment: MainAxisAlignment.center,
602 children: [ 677 children: [
603 Text( 678 Text(
604 - '2', 679 + bottleinformation.toString() == null
680 + ? '-'
681 + : bottleinformation.toString(),
605 textAlign: TextAlign.center, 682 textAlign: TextAlign.center,
606 textScaleFactor: 1.0, 683 textScaleFactor: 1.0,
607 style: TextStyle( 684 style: TextStyle(
......
...@@ -5,18 +5,46 @@ import 'package:http/http.dart' as http; ...@@ -5,18 +5,46 @@ import 'package:http/http.dart' as http;
5 import 'package:flutter_dotenv/flutter_dotenv.dart'; 5 import 'package:flutter_dotenv/flutter_dotenv.dart';
6 import '../models/Bottle.dart'; 6 import '../models/Bottle.dart';
7 import '../DashBoard.dart'; 7 import '../DashBoard.dart';
8 +import '../models/Medicine.dart';
8 9
9 class BottleList extends StatefulWidget { 10 class BottleList extends StatefulWidget {
10 List<Bottle> bottlelist; 11 List<Bottle> bottlelist;
11 - BottleList({Key key, this.bottlelist}) : super(key: key); 12 + String hubid;
13 + BottleList({Key key, this.bottlelist, this.hubid}) : super(key: key);
12 14
13 @override 15 @override
14 _BottleListState createState() => _BottleListState(); 16 _BottleListState createState() => _BottleListState();
15 } 17 }
16 18
17 class _BottleListState extends State<BottleList> { 19 class _BottleListState extends State<BottleList> {
20 + Bottle _bottleinformation = new Bottle();
21 + Medicine _medicineinformation = new Medicine();
22 +
23 + Future<Bottle> getbottle(int index) async {
24 + http.Response response = await http.get(Uri.encodeFull(
25 + DotEnv().env['SERVER_URL'] +
26 + 'bottle/' +
27 + widget.bottlelist[index].bottleId.toString()));
28 +
29 + if (response.statusCode == 200) {
30 + Map<String, dynamic> jsonData = jsonDecode(response.body);
31 + print(jsonData);
32 + _bottleinformation = Bottle.fromJson(jsonData);
33 + }
34 + }
35 +
36 + Future<Bottle> getmedicine(int index) async {
37 + http.Response medicineresponse = await http.get(Uri.encodeFull(
38 + DotEnv().env['SERVER_URL'] +
39 + 'medicine/' +
40 + widget.bottlelist[index].medicineId.toString()));
41 + if (medicineresponse.statusCode == 200) {
42 + Map<String, dynamic> data = jsonDecode(medicineresponse.body);
43 + _medicineinformation = Medicine.fromJson(data);
44 + }
45 + }
46 +
18 Widget build(BuildContext context) { 47 Widget build(BuildContext context) {
19 - print(widget.bottlelist);
20 final Size size = MediaQuery.of(context).size; 48 final Size size = MediaQuery.of(context).size;
21 return Scaffold( 49 return Scaffold(
22 body: Container( 50 body: Container(
...@@ -62,13 +90,19 @@ class _BottleListState extends State<BottleList> { ...@@ -62,13 +90,19 @@ class _BottleListState extends State<BottleList> {
62 fontWeight: FontWeight.bold), 90 fontWeight: FontWeight.bold),
63 ), 91 ),
64 trailing: Icon(Icons.arrow_forward), 92 trailing: Icon(Icons.arrow_forward),
65 - onTap: () { 93 + onTap: () async {
94 + getbottle(index);
95 + getmedicine(index);
96 + print(_bottleinformation);
97 + print(_medicineinformation);
98 +
66 Navigator.push( 99 Navigator.push(
67 context, 100 context,
68 MaterialPageRoute( 101 MaterialPageRoute(
69 builder: (BuildContext context) => DashBoard( 102 builder: (BuildContext context) => DashBoard(
70 pageNumber: 1, 103 pageNumber: 1,
71 - bottleID: widget.bottlelist[index].bottleId, 104 + bottleInformation: _bottleinformation,
105 + medicineInformation: _medicineinformation,
72 ), 106 ),
73 )); 107 ));
74 }), 108 }),
......
1 import 'package:Smart_Medicine_Box/src/screens/DashBoard.dart'; 1 import 'package:Smart_Medicine_Box/src/screens/DashBoard.dart';
2 +import 'package:Smart_Medicine_Box/src/screens/Homepage.dart';
2 import 'package:flutter/material.dart'; 3 import 'package:flutter/material.dart';
3 import 'package:flutter/cupertino.dart'; 4 import 'package:flutter/cupertino.dart';
4 import 'dart:convert'; 5 import 'dart:convert';
...@@ -28,7 +29,6 @@ class _DetailMedicineState extends State<DetailMedicine> { ...@@ -28,7 +29,6 @@ class _DetailMedicineState extends State<DetailMedicine> {
28 'dosage': medicineDosageController.text 29 'dosage': medicineDosageController.text
29 })); 30 }));
30 31
31 - print(response.statusCode);
32 if (response.statusCode == 200) { 32 if (response.statusCode == 200) {
33 return "Complete"; 33 return "Complete";
34 } else if (response.statusCode == 404) { 34 } else if (response.statusCode == 404) {
...@@ -207,14 +207,12 @@ class _DetailMedicineState extends State<DetailMedicine> { ...@@ -207,14 +207,12 @@ class _DetailMedicineState extends State<DetailMedicine> {
207 child: new Text('Close'), 207 child: new Text('Close'),
208 onPressed: () { 208 onPressed: () {
209 Navigator.push( 209 Navigator.push(
210 - context, 210 + context,
211 - MaterialPageRoute( 211 + MaterialPageRoute(
212 - builder: (BuildContext context) => 212 + builder: (BuildContext context) =>
213 - DashBoard( 213 + HomePage(),
214 - pageNumber: 1, 214 + ),
215 - bottleID: int.parse( 215 + );
216 - widget.bottleId),
217 - )));
218 }) 216 })
219 ], 217 ],
220 ); 218 );
......
...@@ -94,8 +94,9 @@ class _HubListState extends State<HubList> { ...@@ -94,8 +94,9 @@ class _HubListState extends State<HubList> {
94 MaterialPageRoute( 94 MaterialPageRoute(
95 builder: (BuildContext context) => 95 builder: (BuildContext context) =>
96 BottleList( 96 BottleList(
97 - bottlelist: _bottleList, 97 + bottlelist: _bottleList,
98 - ), 98 + hubid: widget.hublist[index]
99 + .toString()),
99 )); 100 ));
100 } else if (result == "Not Found") { 101 } else if (result == "Not Found") {
101 showDialog( 102 showDialog(
......
...@@ -110,18 +110,19 @@ class _RegisterBottleState extends State<RegisterBottle> { ...@@ -110,18 +110,19 @@ class _RegisterBottleState extends State<RegisterBottle> {
110 content: new Text('약병 등록이 완료 되었습니다.'), 110 content: new Text('약병 등록이 완료 되었습니다.'),
111 actions: <Widget>[ 111 actions: <Widget>[
112 new FlatButton( 112 new FlatButton(
113 - child: new Text('Close'), 113 + child: new Text('Close'),
114 - onPressed: () { 114 + onPressed: () {
115 - Navigator.push( 115 + Navigator.push(
116 - context, 116 + context,
117 - MaterialPageRoute( 117 + MaterialPageRoute(
118 - builder: (BuildContext context) => 118 + builder: (BuildContext context) =>
119 - SearchMedicine( 119 + SearchMedicine(
120 - bottleId: 120 + bottleId: medicineBottleIDController.text,
121 - medicineBottleIDController 121 + ),
122 - .text, 122 + ),
123 - ))); 123 + );
124 - }) 124 + },
125 + ),
125 ], 126 ],
126 ); 127 );
127 }); 128 });
......
...@@ -8,7 +8,6 @@ import 'DetailMedicine.dart'; ...@@ -8,7 +8,6 @@ import 'DetailMedicine.dart';
8 8
9 class SearchMedicine extends StatefulWidget { 9 class SearchMedicine extends StatefulWidget {
10 String bottleId; 10 String bottleId;
11 -
12 SearchMedicine({Key key, this.bottleId}) : super(key: key); 11 SearchMedicine({Key key, this.bottleId}) : super(key: key);
13 @override 12 @override
14 _SearchMedicineState createState() => _SearchMedicineState(); 13 _SearchMedicineState createState() => _SearchMedicineState();
......
...@@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; ...@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
3 import 'package:http/http.dart' as http; 3 import 'package:http/http.dart' as http;
4 import 'package:flutter_dotenv/flutter_dotenv.dart'; 4 import 'package:flutter_dotenv/flutter_dotenv.dart';
5 5
6 -import '../Homepage.dart'; 6 +import 'RegsiterHub.dart';
7 7
8 class SignUpLocal extends StatefulWidget { 8 class SignUpLocal extends StatefulWidget {
9 @override 9 @override
...@@ -182,7 +182,7 @@ class _SignUpLocalState extends State<SignUpLocal> { ...@@ -182,7 +182,7 @@ class _SignUpLocalState extends State<SignUpLocal> {
182 context, 182 context,
183 MaterialPageRoute( 183 MaterialPageRoute(
184 builder: (BuildContext context) => 184 builder: (BuildContext context) =>
185 - HomePage())); 185 + RegisterHub()));
186 }) 186 })
187 ], 187 ],
188 ); 188 );
......
...@@ -156,6 +156,13 @@ packages: ...@@ -156,6 +156,13 @@ packages:
156 url: "https://pub.dartlang.org" 156 url: "https://pub.dartlang.org"
157 source: hosted 157 source: hosted
158 version: "3.1.4" 158 version: "3.1.4"
159 + infinite_listview:
160 + dependency: transitive
161 + description:
162 + name: infinite_listview
163 + url: "https://pub.dartlang.org"
164 + source: hosted
165 + version: "1.0.1+1"
159 intl: 166 intl:
160 dependency: "direct main" 167 dependency: "direct main"
161 description: 168 description:
...@@ -198,6 +205,13 @@ packages: ...@@ -198,6 +205,13 @@ packages:
198 url: "https://pub.dartlang.org" 205 url: "https://pub.dartlang.org"
199 source: hosted 206 source: hosted
200 version: "0.9.7" 207 version: "0.9.7"
208 + numberpicker:
209 + dependency: "direct main"
210 + description:
211 + name: numberpicker
212 + url: "https://pub.dartlang.org"
213 + source: hosted
214 + version: "1.3.0"
201 page_transition: 215 page_transition:
202 dependency: "direct main" 216 dependency: "direct main"
203 description: 217 description:
......
...@@ -37,6 +37,7 @@ dependencies: ...@@ -37,6 +37,7 @@ dependencies:
37 cupertino_icons: ^0.1.3 37 cupertino_icons: ^0.1.3
38 http: ^0.12.0+4 38 http: ^0.12.0+4
39 flutter_dotenv: ^2.1.0 39 flutter_dotenv: ^2.1.0
40 + numberpicker: ^1.3.0
40 41
41 dev_dependencies: 42 dev_dependencies:
42 flutter_test: 43 flutter_test:
......