4 scene & 6scene & sos

This commit is contained in:
mohammad
2024-11-25 10:47:09 +03:00
parent efe68ecb1a
commit db9ab530ea
19 changed files with 293 additions and 108 deletions

View File

@ -9,7 +9,7 @@ import 'package:syncrow_app/features/devices/model/device_model.dart';
import 'package:syncrow_app/features/devices/model/device_report_model.dart'; import 'package:syncrow_app/features/devices/model/device_report_model.dart';
import 'package:syncrow_app/features/devices/model/group_devices_model.dart'; import 'package:syncrow_app/features/devices/model/group_devices_model.dart';
import 'package:syncrow_app/features/devices/model/device_info_model.dart'; import 'package:syncrow_app/features/devices/model/device_info_model.dart';
import 'package:syncrow_app/features/devices/model/sex_scene_question_model.dart'; import 'package:syncrow_app/features/devices/model/six_scene_question_model.dart';
import 'package:syncrow_app/features/devices/model/six_scene_model.dart'; import 'package:syncrow_app/features/devices/model/six_scene_model.dart';
import 'package:syncrow_app/features/devices/model/status_model.dart'; import 'package:syncrow_app/features/devices/model/status_model.dart';
import 'package:syncrow_app/features/devices/model/subspace_model.dart'; import 'package:syncrow_app/features/devices/model/subspace_model.dart';
@ -48,6 +48,8 @@ class SixSceneBloc extends Bloc<SixSceneEvent, SixSceneState> {
on<SixSceneInitialQuestion>(_onSixSceneInitial); on<SixSceneInitialQuestion>(_onSixSceneInitial);
on<DeleteDeviceEvent>(deleteDevice); on<DeleteDeviceEvent>(deleteDevice);
on<ToggleEnableAlarmEvent>(_toggleLowBattery); on<ToggleEnableAlarmEvent>(_toggleLowBattery);
on<ToggleUpdateEvent>(_toggleUpdate);
on<ToggleHelpfulEvent>(_toggleHelpful);
} }
final TextEditingController nameController = final TextEditingController nameController =
@ -506,4 +508,30 @@ class SixSceneBloc extends Bloc<SixSceneEvent, SixSceneState> {
} }
return null; return null;
} }
bool enableUpdate = false;
void _toggleUpdate(
ToggleUpdateEvent event, Emitter<SixSceneState> emit) async {
try {
emit(SixSceneLoadingState());
enableUpdate = event.isUpdateEnabled!;
emit(SaveState());
} catch (e) {
emit(const SixSceneFailedState(errorMessage: 'Something went wrong'));
}
}
bool isHelpful = false;
void _toggleHelpful(
ToggleHelpfulEvent event, Emitter<SixSceneState> emit) async {
try {
emit(SixSceneLoadingState());
isHelpful = event.isHelpful!;
emit(SaveState());
} catch (e) {
emit(const SixSceneFailedState(errorMessage: 'Something went wrong'));
}
}
} }

View File

@ -222,3 +222,16 @@ class AssignRoomEvent extends SixSceneEvent {
context, context,
]; ];
} }
class ToggleUpdateEvent extends SixSceneEvent {
final bool? isUpdateEnabled;
const ToggleUpdateEvent({this.isUpdateEnabled});
}
class ToggleHelpfulEvent extends SixSceneEvent {
final bool? isHelpful;
const ToggleHelpfulEvent({this.isHelpful});
}

View File

@ -2,7 +2,7 @@ import 'package:equatable/equatable.dart';
import 'package:syncrow_app/features/devices/model/device_model.dart'; import 'package:syncrow_app/features/devices/model/device_model.dart';
import 'package:syncrow_app/features/devices/model/group_devices_model.dart'; import 'package:syncrow_app/features/devices/model/group_devices_model.dart';
import 'package:syncrow_app/features/devices/model/device_info_model.dart'; import 'package:syncrow_app/features/devices/model/device_info_model.dart';
import 'package:syncrow_app/features/devices/model/sex_scene_question_model.dart'; import 'package:syncrow_app/features/devices/model/six_scene_question_model.dart';
import 'package:syncrow_app/features/devices/model/six_scene_model.dart'; import 'package:syncrow_app/features/devices/model/six_scene_model.dart';
import 'package:syncrow_app/features/devices/model/subspace_model.dart'; import 'package:syncrow_app/features/devices/model/subspace_model.dart';
import 'package:syncrow_app/features/scene/model/scenes_model.dart'; import 'package:syncrow_app/features/scene/model/scenes_model.dart';

View File

@ -49,6 +49,8 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
on<SelectSceneEvent>(_selectScene); on<SelectSceneEvent>(_selectScene);
on<DeleteDeviceEvent>(deleteDevice); on<DeleteDeviceEvent>(deleteDevice);
on<ToggleEnableAlarmEvent>(_toggleLowBattery); on<ToggleEnableAlarmEvent>(_toggleLowBattery);
on<ToggleUpdateEvent>(_toggleUpdate);
on<ToggleHelpfulEvent>(_toggleHelpful);
} }
final TextEditingController nameController = final TextEditingController nameController =
@ -261,8 +263,7 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
} }
} }
void _toggleLowBattery(
void _toggleLowBattery(
ToggleEnableAlarmEvent event, Emitter<FourSceneState> emit) async { ToggleEnableAlarmEvent event, Emitter<FourSceneState> emit) async {
emit(LoadingNewSate(device: deviceStatus)); emit(LoadingNewSate(device: deviceStatus));
try { try {
@ -544,4 +545,30 @@ class FourSceneBloc extends Bloc<FourSceneEvent, FourSceneState> {
} }
return null; return null;
} }
bool enableUpdate = false;
void _toggleUpdate(
ToggleUpdateEvent event, Emitter<FourSceneState> emit) async {
try {
emit(FourSceneLoadingState());
enableUpdate = event.isUpdateEnabled!;
emit(SaveState());
} catch (e) {
emit(const FourSceneFailedState(errorMessage: 'Something went wrong'));
}
}
bool isHelpful = false;
void _toggleHelpful(
ToggleHelpfulEvent event, Emitter<FourSceneState> emit) async {
try {
emit(FourSceneLoadingState());
isHelpful = event.isHelpful!;
emit(SaveState());
} catch (e) {
emit(const FourSceneFailedState(errorMessage: 'Something went wrong'));
}
}
} }

View File

@ -232,3 +232,13 @@ class GetSceneBySwitchName extends FourSceneEvent {
const GetSceneBySwitchName({this.switchName}); const GetSceneBySwitchName({this.switchName});
} }
class ToggleUpdateEvent extends FourSceneEvent {
final bool? isUpdateEnabled;
const ToggleUpdateEvent({this.isUpdateEnabled});
}
class ToggleHelpfulEvent extends FourSceneEvent {
final bool? isHelpful;
const ToggleHelpfulEvent({this.isHelpful});
}

View File

@ -39,7 +39,8 @@ class SosBloc extends Bloc<SosEvent, SosState> {
on<AssignRoomEvent>(_assignDevice); on<AssignRoomEvent>(_assignDevice);
on<SosInitialDeviseInfo>(fetchDeviceInfo); on<SosInitialDeviseInfo>(fetchDeviceInfo);
on<SaveNameEvent>(saveName); on<SaveNameEvent>(saveName);
// on<UnassignRoomEvent>(_unassignDevice); on<ToggleUpdateEvent>(_toggleUpdate);
on<ToggleHelpfulEvent>(_toggleHelpful);
// on<ToggleWaterLeakAlarmEvent>(_toggleWaterLeakAlarm); // on<ToggleWaterLeakAlarmEvent>(_toggleWaterLeakAlarm);
} }
@ -440,4 +441,28 @@ class SosBloc extends Bloc<SosEvent, SosState> {
} }
return null; return null;
} }
bool enableUpdate = false;
void _toggleUpdate(ToggleUpdateEvent event, Emitter<SosState> emit) async {
try {
emit(SosLoadingState());
enableUpdate = event.isUpdateEnabled!;
emit(SaveState());
} catch (e) {
emit(SosFailedState(errorMessage: e.toString()));
}
}
bool isHelpful = false;
void _toggleHelpful(ToggleHelpfulEvent event, Emitter<SosState> emit) async {
try {
emit(SosLoadingState());
isHelpful = event.isHelpful!;
emit(SaveState());
} catch (e) {
emit(SosFailedState(errorMessage: e.toString()));
}
}
} }

View File

@ -194,3 +194,13 @@ class LoadingDeviceInfo extends SosEvent {
@override @override
List<Object> get props => [deviceInfo]; List<Object> get props => [deviceInfo];
} }
class ToggleUpdateEvent extends SosEvent {
final bool? isUpdateEnabled;
const ToggleUpdateEvent({this.isUpdateEnabled});
}
class ToggleHelpfulEvent extends SosEvent {
final bool? isHelpful;
const ToggleHelpfulEvent({this.isHelpful});
}

View File

@ -15,6 +15,9 @@ class SosState extends Equatable {
class SosInitialState extends SosState {} class SosInitialState extends SosState {}
class SosLoadingState extends SosState {} class SosLoadingState extends SosState {}
class SaveState extends SosState {} class SaveState extends SosState {}
class LoadingSosDeviceInfo extends SosState { class LoadingSosDeviceInfo extends SosState {

View File

@ -5,7 +5,7 @@ import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_bl
import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_event.dart'; import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_event.dart';
import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_state.dart'; import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_state.dart';
import 'package:syncrow_app/features/devices/model/device_model.dart'; import 'package:syncrow_app/features/devices/model/device_model.dart';
import 'package:syncrow_app/features/devices/model/sex_scene_question_model.dart'; import 'package:syncrow_app/features/devices/model/six_scene_question_model.dart';
import 'package:syncrow_app/features/devices/view/widgets/6_scene_switch/6_scene_setting/question_page.dart'; import 'package:syncrow_app/features/devices/view/widgets/6_scene_switch/6_scene_setting/question_page.dart';
import 'package:syncrow_app/features/shared_widgets/default_container.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart';
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart'; import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
@ -89,6 +89,9 @@ class FaqSixScenePage extends StatelessWidget {
fontSize: 12, fontSize: 12,
fontColor: ColorsManager.grayColor, fontColor: ColorsManager.grayColor,
), ),
const SizedBox(
height: 8,
),
displayedQuestions.isEmpty displayedQuestions.isEmpty
? const SizedBox() ? const SizedBox()
: DefaultContainer( : DefaultContainer(
@ -132,9 +135,12 @@ class FaqSixScenePage extends StatelessWidget {
], ],
), ),
), ),
const Divider( if (index !=
color: ColorsManager.dividerColor, displayedQuestions.length -
), 1) // Exclude divider for the last item
const Divider(
color: ColorsManager.dividerColor,
),
], ],
), ),
), ),

View File

@ -4,7 +4,7 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_bloc.dart'; import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_bloc.dart';
import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_event.dart'; import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_event.dart';
import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_state.dart'; import 'package:syncrow_app/features/devices/bloc/6_scene_switch_bloc/6_scene_state.dart';
import 'package:syncrow_app/features/devices/model/sex_scene_question_model.dart'; import 'package:syncrow_app/features/devices/model/six_scene_question_model.dart';
import 'package:syncrow_app/features/devices/model/six_scene_model.dart'; import 'package:syncrow_app/features/devices/model/six_scene_model.dart';
import 'package:syncrow_app/features/shared_widgets/default_button.dart'; import 'package:syncrow_app/features/shared_widgets/default_button.dart';
import 'package:syncrow_app/features/shared_widgets/default_container.dart'; import 'package:syncrow_app/features/shared_widgets/default_container.dart';
@ -86,9 +86,14 @@ class QuestionPage extends StatelessWidget {
child: SizedBox( child: SizedBox(
width: 180, width: 180,
child: DefaultButton( child: DefaultButton(
backgroundColor: ColorsManager.grayButtonColors, backgroundColor: sensor.isHelpful == true
? ColorsManager.grayColor
: ColorsManager.grayButtonColors,
borderRadius: 50, borderRadius: 50,
onPressed: () {}, onPressed: () {
sensor
.add(ToggleHelpfulEvent(isHelpful: true));
},
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -97,10 +102,10 @@ class QuestionPage extends StatelessWidget {
Assets.thumbUp, Assets.thumbUp,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( const SizedBox(
width: 10, width: 10,
), ),
BodyMedium( const BodyMedium(
text: 'Helpful', text: 'Helpful',
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
@ -110,16 +115,21 @@ class QuestionPage extends StatelessWidget {
)), )),
), ),
), ),
SizedBox( const SizedBox(
height: 15, height: 15,
), ),
Center( Center(
child: SizedBox( child: SizedBox(
width: 180, width: 180,
child: DefaultButton( child: DefaultButton(
backgroundColor: ColorsManager.grayButtonColors, backgroundColor: sensor.isHelpful == false
? ColorsManager.grayColor
: ColorsManager.grayButtonColors,
borderRadius: 50, borderRadius: 50,
onPressed: () {}, onPressed: () {
sensor.add(
ToggleHelpfulEvent(isHelpful: false));
},
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -128,10 +138,10 @@ class QuestionPage extends StatelessWidget {
Assets.thumbDown, Assets.thumbDown,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( const SizedBox(
width: 10, width: 10,
), ),
BodyMedium( const BodyMedium(
text: 'Not Helpful', text: 'Not Helpful',
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,

View File

@ -26,6 +26,8 @@ class SixSceneUpdatePage extends StatelessWidget {
SixSceneBloc(sixSceneId: '')..add(const SixSceneInitial()), SixSceneBloc(sixSceneId: '')..add(const SixSceneInitial()),
child: BlocBuilder<SixSceneBloc, SixSceneState>( child: BlocBuilder<SixSceneBloc, SixSceneState>(
builder: (context, state) { builder: (context, state) {
final _bloc = BlocProvider.of<SixSceneBloc>(context);
return state is SixSceneLoadingState return state is SixSceneLoadingState
? const Center( ? const Center(
child: DefaultContainer( child: DefaultContainer(
@ -87,15 +89,20 @@ class SixSceneUpdatePage extends StatelessWidget {
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.end, MainAxisAlignment.end,
children: [ children: [
const BodyMedium( BodyMedium(
text: 'Off', text: _bloc.enableUpdate
? 'true'
: 'Off',
fontColor: ColorsManager.textGray, fontColor: ColorsManager.textGray,
), ),
Transform.scale( Transform.scale(
scale: .8, scale: .8,
child: CupertinoSwitch( child: CupertinoSwitch(
value: true, value: _bloc.enableUpdate,
onChanged: (value) {}, onChanged: (value) {
_bloc.add(ToggleUpdateEvent(
isUpdateEnabled: value));
},
applyTheme: true, applyTheme: true,
), ),
), ),

View File

@ -89,6 +89,9 @@ class FaqFourScenePage extends StatelessWidget {
fontSize: 12, fontSize: 12,
fontColor: ColorsManager.grayColor, fontColor: ColorsManager.grayColor,
), ),
const SizedBox(
height: 8,
),
displayedQuestions.isEmpty displayedQuestions.isEmpty
? const SizedBox() ? const SizedBox()
: DefaultContainer( : DefaultContainer(
@ -133,9 +136,12 @@ class FaqFourScenePage extends StatelessWidget {
], ],
), ),
), ),
const Divider( if (index !=
color: ColorsManager.dividerColor, displayedQuestions.length -
), 1) // Exclude divider for the last item
const Divider(
color: ColorsManager.dividerColor,
),
], ],
), ),
), ),

View File

@ -26,6 +26,8 @@ class FourSceneUpdatePage extends StatelessWidget {
FourSceneBloc(fourSceneId: '')..add(const FourSceneInitial()), FourSceneBloc(fourSceneId: '')..add(const FourSceneInitial()),
child: BlocBuilder<FourSceneBloc, FourSceneState>( child: BlocBuilder<FourSceneBloc, FourSceneState>(
builder: (context, state) { builder: (context, state) {
final _bloc = BlocProvider.of<FourSceneBloc>(context);
return state is FourSceneLoadingState return state is FourSceneLoadingState
? const Center( ? const Center(
child: DefaultContainer( child: DefaultContainer(
@ -87,15 +89,20 @@ class FourSceneUpdatePage extends StatelessWidget {
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.end, MainAxisAlignment.end,
children: [ children: [
const BodyMedium( BodyMedium(
text: 'Off', text: _bloc.enableUpdate
? 'true'
: 'Off',
fontColor: ColorsManager.textGray, fontColor: ColorsManager.textGray,
), ),
Transform.scale( Transform.scale(
scale: .8, scale: .8,
child: CupertinoSwitch( child: CupertinoSwitch(
value: true, value: _bloc.enableUpdate,
onChanged: (value) {}, onChanged: (value) {
_bloc.add(ToggleUpdateEvent(
isUpdateEnabled: value));
},
applyTheme: true, applyTheme: true,
), ),
), ),

View File

@ -84,9 +84,14 @@ class QuestionPageFourScene extends StatelessWidget {
child: SizedBox( child: SizedBox(
width: 180, width: 180,
child: DefaultButton( child: DefaultButton(
backgroundColor: ColorsManager.grayButtonColors, backgroundColor: sensor.isHelpful == true
? ColorsManager.grayColor
: ColorsManager.grayButtonColors,
borderRadius: 50, borderRadius: 50,
onPressed: () {}, onPressed: () {
sensor
.add(ToggleHelpfulEvent(isHelpful: true));
},
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -95,10 +100,10 @@ class QuestionPageFourScene extends StatelessWidget {
Assets.thumbUp, Assets.thumbUp,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( const SizedBox(
width: 10, width: 10,
), ),
BodyMedium( const BodyMedium(
text: 'Helpful', text: 'Helpful',
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
@ -108,16 +113,21 @@ class QuestionPageFourScene extends StatelessWidget {
)), )),
), ),
), ),
SizedBox( const SizedBox(
height: 15, height: 15,
), ),
Center( Center(
child: SizedBox( child: SizedBox(
width: 180, width: 180,
child: DefaultButton( child: DefaultButton(
backgroundColor: ColorsManager.grayButtonColors, backgroundColor: sensor.isHelpful == false
? ColorsManager.grayColor
: ColorsManager.grayButtonColors,
borderRadius: 50, borderRadius: 50,
onPressed: () {}, onPressed: () {
sensor.add(
ToggleHelpfulEvent(isHelpful: false));
},
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -126,10 +136,10 @@ class QuestionPageFourScene extends StatelessWidget {
Assets.thumbDown, Assets.thumbDown,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( const SizedBox(
width: 10, width: 10,
), ),
BodyMedium( const BodyMedium(
text: 'Not Helpful', text: 'Not Helpful',
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,

View File

@ -89,57 +89,70 @@ class FaqSosPage extends StatelessWidget {
fontSize: 12, fontSize: 12,
fontColor: ColorsManager.grayColor, fontColor: ColorsManager.grayColor,
), ),
Expanded( const SizedBox(
child: DefaultContainer( height: 8,
child: ListView.builder( ),
shrinkWrap: true, displayedQuestions.isEmpty
itemCount: displayedQuestions.length, ? const SizedBox()
itemBuilder: (context, index) { : DefaultContainer(
final faq = displayedQuestions[index]; child: ListView.builder(
return InkWell( shrinkWrap: true,
onTap: () { itemCount: displayedQuestions.length,
Navigator.of(context).push( itemBuilder: (context, index) {
MaterialPageRoute( final faq = displayedQuestions[index];
builder: (context) => QuestionPage( return InkWell(
questionModel: faq, onTap: () {
)), Navigator.of(context).push(
); MaterialPageRoute(
}, builder: (context) =>
child: SizedBox( QuestionPage(
child: Column( questionModel: faq,
mainAxisSize: MainAxisSize.min, )),
mainAxisAlignment: MainAxisAlignment.start, );
crossAxisAlignment: },
CrossAxisAlignment.start, child: SizedBox(
children: [ child: Column(
Padding( mainAxisSize: MainAxisSize.min,
padding: const EdgeInsets.all(8.0), mainAxisAlignment:
child: Row( MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [ children: [
Expanded( Padding(
child: BodyMedium( padding:
fontSize: 14, const EdgeInsets.all(8.0),
fontWeight: FontWeight.w400, child: Row(
text: faq.question, children: [
Expanded(
child: BodyMedium(
fontSize: 14,
fontWeight:
FontWeight.w400,
text: faq.question,
),
),
const Icon(
Icons.keyboard_arrow_right,
color:
ColorsManager.textGray,
),
],
), ),
), ),
const Icon( if (index !=
Icons.keyboard_arrow_right, displayedQuestions.length -
color: ColorsManager.textGray, 1) // Exclude divider for the last item
), const Divider(
color:
ColorsManager.dividerColor,
),
], ],
), ),
), ),
const Divider( );
color: ColorsManager.dividerColor, },
),
],
),
), ),
); )
},
)),
),
], ],
), ),
); );

View File

@ -78,9 +78,14 @@ class QuestionPage extends StatelessWidget {
child: SizedBox( child: SizedBox(
width: 180, width: 180,
child: DefaultButton( child: DefaultButton(
backgroundColor: ColorsManager.grayButtonColors, backgroundColor: sensor.isHelpful == true
? ColorsManager.grayColor
: ColorsManager.grayButtonColors,
borderRadius: 50, borderRadius: 50,
onPressed: () {}, onPressed: () {
sensor
.add(ToggleHelpfulEvent(isHelpful: true));
},
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -89,10 +94,10 @@ class QuestionPage extends StatelessWidget {
Assets.thumbUp, Assets.thumbUp,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( const SizedBox(
width: 10, width: 10,
), ),
BodyMedium( const BodyMedium(
text: 'Helpful', text: 'Helpful',
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
@ -102,16 +107,21 @@ class QuestionPage extends StatelessWidget {
)), )),
), ),
), ),
SizedBox( const SizedBox(
height: 15, height: 15,
), ),
Center( Center(
child: SizedBox( child: SizedBox(
width: 180, width: 180,
child: DefaultButton( child: DefaultButton(
backgroundColor: ColorsManager.grayButtonColors, backgroundColor: sensor.isHelpful == false
? ColorsManager.grayColor
: ColorsManager.grayButtonColors,
borderRadius: 50, borderRadius: 50,
onPressed: () {}, onPressed: () {
sensor.add(
ToggleHelpfulEvent(isHelpful: false));
},
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -120,10 +130,10 @@ class QuestionPage extends StatelessWidget {
Assets.thumbDown, Assets.thumbDown,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( const SizedBox(
width: 10, width: 10,
), ),
BodyMedium( const BodyMedium(
text: 'Not Helpful', text: 'Not Helpful',
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,

View File

@ -25,6 +25,8 @@ class SosUpdatePage extends StatelessWidget {
create: (context) => SosBloc(sosId: '')..add(const SosInitial()), create: (context) => SosBloc(sosId: '')..add(const SosInitial()),
child: BlocBuilder<SosBloc, SosState>( child: BlocBuilder<SosBloc, SosState>(
builder: (context, state) { builder: (context, state) {
final _bloc = BlocProvider.of<SosBloc>(context);
return state is SosLoadingState return state is SosLoadingState
? const Center( ? const Center(
child: DefaultContainer( child: DefaultContainer(
@ -72,6 +74,7 @@ class SosUpdatePage extends StatelessWidget {
InkWell( InkWell(
onTap: () {}, onTap: () {},
child: const BodyMedium( child: const BodyMedium(
text: 'Automatic Update', text: 'Automatic Update',
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
), ),
@ -85,21 +88,27 @@ class SosUpdatePage extends StatelessWidget {
mainAxisAlignment: mainAxisAlignment:
MainAxisAlignment.end, MainAxisAlignment.end,
children: [ children: [
const BodyMedium( BodyMedium(
text: 'Off', text: _bloc.enableUpdate
? 'true'
: 'Off',
fontColor: ColorsManager.textGray, fontColor: ColorsManager.textGray,
), ),
Transform.scale( Transform.scale(
scale: .8, scale: .8,
child: CupertinoSwitch( child: CupertinoSwitch(
value: true, value: _bloc.enableUpdate,
onChanged: (value) {}, onChanged: (value) {
_bloc.add(ToggleUpdateEvent(
isUpdateEnabled: value));
},
applyTheme: true, applyTheme: true,
), ),
), ),
], ],
), ),
)), )
),
), ),
], ],
), ),
@ -107,7 +116,7 @@ class SosUpdatePage extends StatelessWidget {
const SizedBox( const SizedBox(
height: 10, height: 10,
), ),
UpdateSosContainerWithProgressBar( const UpdateSosContainerWithProgressBar(
sosDescription: sosDescription:
'Connectivity Issue Resolved Fixed a bug that caused the SOS button to disconnect from the app intermittently.', 'Connectivity Issue Resolved Fixed a bug that caused the SOS button to disconnect from the app intermittently.',
sosVersion: 'SOS v2.0.5', sosVersion: 'SOS v2.0.5',

View File

@ -39,7 +39,6 @@ class SosSettings extends StatelessWidget {
child: BlocBuilder<SosBloc, SosState>( child: BlocBuilder<SosBloc, SosState>(
builder: (context, state) { builder: (context, state) {
final _bloc = BlocProvider.of<SosBloc>(context); final _bloc = BlocProvider.of<SosBloc>(context);
SosModel model = SosModel model =
SosModel(batteryPercentage: 0, sosContactState: 'normal'); SosModel(batteryPercentage: 0, sosContactState: 'normal');
if (state is LoadingNewSate) { if (state is LoadingNewSate) {
@ -177,15 +176,7 @@ class SosSettings extends StatelessWidget {
context context
.read<SosBloc>() .read<SosBloc>()
.add(ToggleEnableAlarmEvent(p0)); .add(ToggleEnableAlarmEvent(p0));
// Transform.scale(
// scale: .8,
// child: CupertinoSwitch(
// value: _bloc.enableAlarm,
// onChanged: (value) {
// },
// applyTheme: true,
// )),
}, },
isNotification: true, isNotification: true,
onTap: () {}, onTap: () {},