add start/business unit

This commit is contained in:
Phuoc Nguyen
2025-11-07 13:56:51 +07:00
parent 3803bd26e0
commit ce7396f729
9 changed files with 687 additions and 12 deletions

View File

@@ -14,6 +14,7 @@ import 'package:image_picker/image_picker.dart';
import 'package:worker/core/constants/ui_constants.dart';
import 'package:worker/core/theme/colors.dart';
import 'package:worker/core/utils/validators.dart';
import 'package:worker/features/auth/domain/entities/business_unit.dart';
import 'package:worker/features/auth/presentation/widgets/phone_input_field.dart';
import 'package:worker/features/auth/presentation/widgets/file_upload_card.dart';
import 'package:worker/features/auth/presentation/widgets/role_dropdown.dart';
@@ -29,10 +30,13 @@ import 'package:worker/features/auth/presentation/widgets/role_dropdown.dart';
/// - Terms and conditions checkbox
///
/// Navigation:
/// - From: Login page
/// - From: Business unit selection page
/// - To: OTP verification (broker/other) or pending approval (worker/dealer)
class RegisterPage extends ConsumerStatefulWidget {
const RegisterPage({super.key});
/// Selected business unit from previous screen
final BusinessUnit? selectedBusinessUnit;
const RegisterPage({super.key, this.selectedBusinessUnit});
@override
ConsumerState<RegisterPage> createState() => _RegisterPageState();
@@ -235,6 +239,18 @@ class _RegisterPageState extends ConsumerState<RegisterPage> {
try {
// TODO: Implement actual registration API call
// Include widget.selectedBusinessUnit?.id in the API request
// Example:
// final result = await authRepository.register(
// fullName: _fullNameController.text.trim(),
// phone: _phoneController.text.trim(),
// email: _emailController.text.trim(),
// password: _passwordController.text,
// role: _selectedRole,
// businessUnitId: widget.selectedBusinessUnit?.id,
// ...
// );
// For now, simulate API delay
await Future.delayed(const Duration(seconds: 2));