58 Widget
build(BuildContext context) {
59 return BlocListener<AuthenticationBloc, AuthenticationState>(
60 listener: (context, state) {
61 if (state is FastSignInLoaded) {
62 Navigator.of(context).pop(
true);
70 bottom: MediaQuery.of(context).viewInsets.bottom,
76 mainAxisSize: MainAxisSize.min,
77 crossAxisAlignment: CrossAxisAlignment.start,
80 mainAxisAlignment: MainAxisAlignment.spaceBetween,
84 style: Theme.of(context).textTheme.titleLarge,
87 icon:
const Icon(Icons.close),
89 Navigator.of(context).pop(false);
97 'Your session has expired. Please enter your password to continue.',
98 style: Theme.of(context).textTheme.bodyMedium,
103 style: Theme.of(context).textTheme.bodyMedium?.copyWith(
104 fontWeight: FontWeight.bold,
109 padding:
const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
110 decoration: BoxDecoration(
111 color: Colors.grey[200],
112 borderRadius: BorderRadius.circular(8),
115 widget.email ??
'Unknown email',
116 style: Theme.of(context).textTheme.bodyMedium,
122 style: Theme.of(context).textTheme.bodyMedium?.copyWith(
123 fontWeight: FontWeight.bold,
130 decoration: InputDecoration(
132 fillColor: Colors.grey[200],
133 border: OutlineInputBorder(
134 borderRadius: BorderRadius.circular(8),
135 borderSide: BorderSide.none,
137 suffixIcon: IconButton(
140 ? Icons.visibility_off
145 _isPasswordVisible = !_isPasswordVisible;
152 BlocBuilder<AuthenticationBloc, AuthenticationState>(
153 builder: (context, state) {
154 final isLoading = state is FastSignInLoading;
156 width:
double.infinity,
157 child: ElevatedButton(
160 context.read<AuthenticationBloc>().add(
163 email: widget.email ??
'',
170 style: ElevatedButton.styleFrom(
171 padding:
const EdgeInsets.symmetric(vertical: 16),
172 shape: RoundedRectangleBorder(
173 borderRadius: BorderRadius.circular(8),
179 child: CircularProgressIndicator(
182 ) :
const Text(
'Sign In'),
style Column(crossAxisAlignment:CrossAxisAlignment.end, children:[Container(padding:EdgeInsets.symmetric(horizontal:8.w, vertical:4.h), decoration:BoxDecoration(color:ColorPalette.tiffanyBlue.withValues(alpha:0.1), borderRadius:BorderRadius.circular(12),), child:Text(collection.type ?? '', style:Theme.of(context).textTheme.bodySmall?.copyWith(color:ColorPalette.tiffanyBlue, fontWeight:FontWeight.bold,),),),],)