This commit is contained in:
Felipe
2024-04-05 11:56:45 -05:00
parent f46450e5db
commit e82c7c3afd
18 changed files with 1297 additions and 546 deletions
+64 -37
View File
@@ -9,11 +9,13 @@ import 'package:prosappco/components/general_drawer_item.dart';
import 'package:prosappco/screens/configuration/configuration_screen.dart';
import 'package:prosappco/screens/configuration/configuration_support_screen.dart';
import 'package:prosappco/screens/lists/professional_list_screen.dart';
import 'package:prosappco/screens/lists/user_service_list_screen.dart';
import 'package:prosappco/screens/professional/professional_calendar_screen.dart';
import 'package:prosappco/screens/professional/professional_denied_screen.dart';
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/profile/profile_screen.dart';
import 'package:prosappco/screens/user/user_history_services_screen.dart';
import 'package:prosappco/screens/web/web_view_screen.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -81,7 +83,7 @@ class GeneralDrawer extends StatelessWidget {
context,
CupertinoPageRoute(
builder: (context) =>
const ProfessionalListScreen(),
const UserServiceListScreen(),
// const UserServicesScreen(),
),
);
@@ -230,54 +232,79 @@ class GeneralDrawer extends StatelessWidget {
if (myUserState.status == MyUserStatus.success) {
final user = myUserState.user!;
switch (user.proState) {
case ProState.active:
Navigator.pop(context);
if (user.name != null &&
user.email != null &&
user.city != null &&
user.phone != null) {
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;
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 {
ScaffoldMessenger.of(context).clearSnackBars();
ScaffoldMessenger.of(context).showSnackBar(const SnackBar(
content: Text('Por favor, completa tu perfil'),
));
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => const ProfileScreen(),
),
);
}
} else {}
},
style: FilledButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.primary,
padding: const EdgeInsets.symmetric(vertical: 15),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
)),
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,
: const Text(
'Modo profesional',
style: TextStyle(color: Colors.white, fontSize: 18),
),
// const CircularProgressIndicator(
// color: Colors.white,
// ),
);
}
+3 -1
View File
@@ -4,12 +4,14 @@ class GeneralPrimaryButton extends StatelessWidget {
final VoidCallback onPressed;
final String label;
final bool isEnabled;
final Color? color;
const GeneralPrimaryButton({
super.key,
required this.onPressed,
required this.label,
this.isEnabled = true,
this.color,
});
@override
@@ -17,7 +19,7 @@ class GeneralPrimaryButton extends StatelessWidget {
return ElevatedButton(
onPressed: isEnabled ? onPressed : null,
style: ElevatedButton.styleFrom(
backgroundColor: Theme.of(context).colorScheme.primary,
backgroundColor: color ?? Theme.of(context).colorScheme.primary,
elevation: 5,
minimumSize: Size(
MediaQuery.of(context).size.width * 0.5,