prova per inviti
Some checks failed
Build and Release FLUX (Multi-Platform) / build-android (push) Successful in 2m28s
Build and Release FLUX (Multi-Platform) / build-web (push) Successful in 1m31s
Build and Release FLUX (Multi-Platform) / build-windows (push) Has been cancelled

This commit is contained in:
2026-06-02 09:32:30 +02:00
parent 67a56f2954
commit 618cbc0396
9 changed files with 236 additions and 146 deletions

View File

@@ -117,9 +117,9 @@ class StaffCubit extends Cubit<StaffState> {
}
}
Future<void> resetPasswordOrResendInviteLink(String email) async {
Future<void> resetPassword(String email) async {
try {
await _repository.resetPasswordOrResendInviteLink(email);
await _repository.resetPassword(email);
emit(state.copyWith(status: StaffStatus.emailSent, error: null));
} catch (e) {
emit(state.copyWith(status: StaffStatus.error, error: e.toString()));

View File

@@ -104,7 +104,8 @@ class StaffRepository {
}
}
Future<void> resetPasswordOrResendInviteLink(String email) async {
Future<void> resetPassword(String email) async {
//TODO modificare per fare il reset della password tramite edge function, così da poter personalizzare l'email e il link di reset
try {
await _supabase.auth.resetPasswordForEmail(
email,

View File

@@ -190,16 +190,30 @@ class _StaffScreenState extends State<StaffScreen> {
icon: const Icon(Icons.more_vert),
onSelected: (value) {
if (value == 'invite_reset') {
context.read<StaffCubit>().resetPasswordOrResendInviteLink(
member.email!,
);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text(
'Operazione richiesta, controlla l\'email!',
if (!member.hasJoined) {
context.read<StaffCubit>().inviteStaffMember(
member: member,
selectedStoreIds:
member.assignedStores?.map((s) => s.id!).toList() ??
[],
);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text(
'Invito reinviato, controlla l\'email!',
),
),
),
);
);
} else {
context.read<StaffCubit>().resetPassword(member.email!);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text(
'Operazione richiesta, controlla l\'email!',
),
),
);
}
}
},
itemBuilder: (context) => [