This commit is contained in:
Felipe
2024-03-27 09:54:27 -05:00
parent fca6d41ad8
commit ac16be0406
6 changed files with 460 additions and 63 deletions
+51 -53
View File
@@ -15,7 +15,6 @@ import 'package:prosappco/screens/professional/professional_form_screen.dart';
import 'package:prosappco/screens/professional/professional_pending_screen.dart';
import 'package:prosappco/screens/professional/professional_profile_screen.dart';
import 'package:prosappco/screens/user/user_history_services_screen.dart';
import 'package:prosappco/screens/user/user_services_screen.dart';
import 'package:prosappco/screens/web/web_view_screen.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:user_repository/user_repository.dart';
@@ -226,61 +225,60 @@ class GeneralDrawer extends StatelessWidget {
buttonOfState(BuildContext context, ProfessionalState state) {
return ElevatedButton(
onPressed: () {
final myUserState = context.read<MyUserBloc>().state;
if (myUserState.status == MyUserStatus.success) {
final user = myUserState.user!;
onPressed: () {
final myUserState = context.read<MyUserBloc>().state;
if (myUserState.status == MyUserStatus.success) {
final user = myUserState.user!;
switch (user.proState) {
case ProState.active:
Navigator.pop(context);
switch (user.proState) {
case ProState.active:
Navigator.pop(context);
context
.read<ProfessionalBloc>()
.add(const SwitchProModeEvent());
context.read<ProfessionalBloc>().add(const SwitchProModeEvent());
break;
case ProState.inactive:
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => const ProfessionalFormScreen(),
),
);
break;
case ProState.pending:
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => const ProfessionalPendingScreen(),
),
);
break;
case ProState.denied:
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => const ProfessionalDeniedScreen(),
),
);
break;
}
} else {}
},
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.primary,
padding: const EdgeInsets.symmetric(vertical: 15),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
)),
child: (state is LoadedModeProState)
? Text(
state.isProModeActive ? 'Modo cliente' : 'Modo profesional',
style: const TextStyle(color: Colors.white, fontSize: 18),
)
: const CircularProgressIndicator(
color: Colors.white,
));
break;
case ProState.inactive:
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => const ProfessionalFormScreen(),
),
);
break;
case ProState.pending:
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => const ProfessionalPendingScreen(),
),
);
break;
case ProState.denied:
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => const ProfessionalDeniedScreen(),
),
);
break;
}
} else {}
},
style: FilledButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.primary,
padding: const EdgeInsets.symmetric(vertical: 15),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
)),
child: (state is LoadedModeProState)
? Text(
state.isProModeActive ? 'Modo cliente' : 'Modo profesional',
style: const TextStyle(color: Colors.white, fontSize: 18),
)
: const CircularProgressIndicator(
color: Colors.white,
),
);
}
shouldProModeActive(BuildContext context, ProfessionalState state) {