Skip to content

Commit 2fcbd66

Browse files
minor changes to bottom nav bar and conversion page
1 parent fe0a1a0 commit 2fcbd66

File tree

7 files changed

+97
-6
lines changed

7 files changed

+97
-6
lines changed

lib/main.dart

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter_bloc_app_1/presentation/bottom_navbar/bloc/bottom_navbar_bloc.dart';
3+
import 'package:flutter_bloc_app_1/presentation/conversion_page/bloc/conversion_page_bloc.dart';
34
import 'package:flutter_bloc_app_1/presentation/conversion_page/conversion_page.dart';
45
import "package:flutter_bloc_app_1/presentation/counter_page/counter_page.dart";
56
import 'package:flutter_bloc_app_1/presentation/counter_page/bloc/counter_page_bloc.dart';
67
import "package:flutter_bloc/flutter_bloc.dart";
78

89
//take care of cose subscription and bloc.close
9-
//multiple taps and need for plus to change
10+
//multiple taps
11+
//unconverntional navigation??/
1012

1113
void main() {
1214
WidgetsFlutterBinding.ensureInitialized();
@@ -32,8 +34,11 @@ class MyApp extends StatelessWidget {
3234
home:MultiBlocProvider(
3335
providers: [
3436
BlocProvider<CounterBloc>(create: (context) =>CounterBloc()),
35-
BlocProvider<BottomNavBloc>(create:(context)=>BottomNavBloc())],
36-
child: counter(),)
37+
BlocProvider<BottomNavBloc>(create:(context)=>BottomNavBloc()),
38+
BlocProvider<ConversionBloc>(create: (context)=>ConversionBloc())],
39+
child: BlocBuilder<BottomNavBloc,int>(
40+
builder:(context,state)=>(state==0)?counter():conversion(),
41+
),)
3742

3843
);
3944
}

lib/presentation/bottom_navbar/bottom_navbar.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Widget bottomNavBar=BlocBuilder<BottomNavBloc,int>(
99
currentIndex: state,
1010
onTap:(index){
1111
BlocProvider.of<BottomNavBloc>(context).add(screenChange(index));
12-
Navigator.of(context).pushNamed((state==0)?"/counter":"/conversion");
12+
//Navigator.of(context).pushNamed((state==0)?"/counter":"/conversion");
1313
},
1414
items: [
1515
BottomNavigationBarItem(icon: Icon(Icons.one_k_outlined),label:"First_Page"),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import "package:flutter_bloc/flutter_bloc.dart";
2+
import "package:flutter_bloc_app_1/presentation/conversion_page/bloc/conversion_page_event.dart";
3+
4+
class ConversionBloc extends Bloc<ConversionEvent,String>{
5+
ConversionBloc():super("0"){
6+
on<changeInText>((event,emit){
7+
emit(event.newText);
8+
});
9+
10+
}
11+
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
abstract class ConversionEvent{}
2+
class changeInText extends ConversionEvent{
3+
String newText;
4+
changeInText(this.newText);
5+
}
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
11
import "package:flutter/material.dart";
2+
import "package:flutter/services.dart";
3+
import "package:flutter_bloc/flutter_bloc.dart";
24
import "package:flutter_bloc_app_1/presentation/bottom_navbar/bottom_navbar.dart";
5+
import "package:flutter_bloc_app_1/presentation/conversion_page/bloc/conversion_page_bloc.dart";
6+
import "package:flutter_bloc_app_1/presentation/conversion_page/bloc/conversion_page_event.dart";
7+
import 'package:any_base/any_base.dart';
8+
9+
const convert2decimal=AnyBase(AnyBase.bin, AnyBase.dec);
310
class conversion extends StatelessWidget{
411

12+
513
@override
614
Widget build(BuildContext context){
15+
TextEditingController binaryController=TextEditingController(text:"0");
716

817
return Scaffold(
9-
body:Text("Hi"),
18+
appBar:AppBar(title:Text("Binary to Decimal Convertor",),
19+
centerTitle: true,
20+
backgroundColor: Theme.of(context).primaryColor,
21+
foregroundColor: Colors.white,),
22+
body:Center(
23+
child: Column(
24+
mainAxisAlignment:MainAxisAlignment.center,
25+
children: [
26+
Text("Enter Binary below:"),
27+
28+
TextField(
29+
30+
inputFormatters:<TextInputFormatter> [FilteringTextInputFormatter.digitsOnly],
31+
keyboardType:TextInputType.number,
32+
controller:binaryController,
33+
onChanged: (value) {
34+
BlocProvider.of<ConversionBloc>(context).add(changeInText(value));
35+
},
36+
),
37+
Text("Converted to Integer:"),
38+
BlocBuilder<ConversionBloc,String>(builder:(context,state)=>Text(convert2decimal.convert(state)))
39+
40+
41+
],
42+
),
43+
),
1044
bottomNavigationBar:bottomNavBar,
1145

12-
);}}
46+
);}}
47+

pubspec.lock

+32
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# Generated by pub
22
# See https://dart.dev/tools/pub/glossary#lockfile
33
packages:
4+
any_base:
5+
dependency: "direct main"
6+
description:
7+
name: any_base
8+
sha256: "0354c11cc09f97a2b64d4c5c7a1f52f2405870d1bfb4f1d29327b6c765d99b9e"
9+
url: "https://pub.dev"
10+
source: hosted
11+
version: "2.0.0"
412
async:
513
dependency: transitive
614
description:
@@ -9,6 +17,14 @@ packages:
917
url: "https://pub.dev"
1018
source: hosted
1119
version: "2.11.0"
20+
b:
21+
dependency: "direct main"
22+
description:
23+
name: b
24+
sha256: "3a380295efd771e43be9d0b1060ef611ae09b8aec609e2fd161b583f5938e6cd"
25+
url: "https://pub.dev"
26+
source: hosted
27+
version: "0.2.0"
1228
binary:
1329
dependency: "direct main"
1430
description:
@@ -65,6 +81,14 @@ packages:
6581
url: "https://pub.dev"
6682
source: hosted
6783
version: "1.0.6"
84+
equatable:
85+
dependency: transitive
86+
description:
87+
name: equatable
88+
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
89+
url: "https://pub.dev"
90+
source: hosted
91+
version: "2.0.5"
6892
fake_async:
6993
dependency: transitive
7094
description:
@@ -99,6 +123,14 @@ packages:
99123
description: flutter
100124
source: sdk
101125
version: "0.0.0"
126+
invertible:
127+
dependency: transitive
128+
description:
129+
name: invertible
130+
sha256: "2e88300b67085adf5e766839a49e3a8da7db85d8826a9068bba24e015b79381a"
131+
url: "https://pub.dev"
132+
source: hosted
133+
version: "2.0.0"
102134
lints:
103135
dependency: transitive
104136
description:

pubspec.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ dependencies:
3939
flutter_bloc: ^8.1.5
4040
binary: ^3.0.1
4141
toggle_switch: ^2.3.0
42+
b: ^0.2.0
43+
any_base: ^2.0.0
4244

4345
dev_dependencies:
4446
flutter_test:

0 commit comments

Comments
 (0)