Fix remaining stash issues by reverting to origin/dev

This commit is contained in:
2026-02-25 13:46:19 +05:30
parent 4e7838bf93
commit 239fdb99a8
9 changed files with 0 additions and 384 deletions

View File

@@ -26,15 +26,7 @@ class PermanentOrder extends Equatable {
final Map<String, double> roleRates; final Map<String, double> roleRates;
@override @override
<<<<<<< Updated upstream
<<<<<<< Updated upstream
List<Object?> get props => <Object?>[ List<Object?> get props => <Object?>[
=======
List<Object?> get props => [
>>>>>>> Stashed changes
=======
List<Object?> get props => [
>>>>>>> Stashed changes
startDate, startDate,
permanentDays, permanentDays,
positions, positions,

View File

@@ -1,32 +1,13 @@
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
<<<<<<< Updated upstream
<<<<<<< Updated upstream
import 'recurring_order_position.dart'; import 'recurring_order_position.dart';
/// Represents a recurring staffing request spanning a date range. /// Represents a recurring staffing request spanning a date range.
=======
=======
>>>>>>> Stashed changes
import 'one_time_order.dart';
import 'one_time_order_position.dart';
/// Represents a customer's request for recurring staffing.
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
class RecurringOrder extends Equatable { class RecurringOrder extends Equatable {
const RecurringOrder({ const RecurringOrder({
required this.startDate, required this.startDate,
required this.endDate, required this.endDate,
required this.recurringDays, required this.recurringDays,
<<<<<<< Updated upstream
<<<<<<< Updated upstream
required this.location, required this.location,
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
required this.positions, required this.positions,
this.hub, this.hub,
this.eventName, this.eventName,
@@ -34,8 +15,6 @@ class RecurringOrder extends Equatable {
this.roleRates = const <String, double>{}, this.roleRates = const <String, double>{},
}); });
<<<<<<< Updated upstream
<<<<<<< Updated upstream
/// Start date for the recurring schedule. /// Start date for the recurring schedule.
final DateTime startDate; final DateTime startDate;
@@ -69,30 +48,6 @@ class RecurringOrder extends Equatable {
endDate, endDate,
recurringDays, recurringDays,
location, location,
=======
=======
>>>>>>> Stashed changes
final DateTime startDate;
final DateTime endDate;
/// List of days (e.g., ['Monday', 'Wednesday']) or bitmask.
final List<String> recurringDays;
final List<OneTimeOrderPosition> positions;
final OneTimeOrderHubDetails? hub;
final String? eventName;
final String? vendorId;
final Map<String, double> roleRates;
@override
List<Object?> get props => [
startDate,
endDate,
recurringDays,
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
positions, positions,
hub, hub,
eventName, eventName,
@@ -100,8 +55,6 @@ class RecurringOrder extends Equatable {
roleRates, roleRates,
]; ];
} }
<<<<<<< Updated upstream
<<<<<<< Updated upstream
/// Minimal hub details used during recurring order creation. /// Minimal hub details used during recurring order creation.
class RecurringOrderHubDetails extends Equatable { class RecurringOrderHubDetails extends Equatable {
@@ -146,7 +99,3 @@ class RecurringOrderHubDetails extends Equatable {
zipCode, zipCode,
]; ];
} }
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes

View File

@@ -1,5 +1,3 @@
<<<<<<< Updated upstream
<<<<<<< Updated upstream
import 'package:krow_core/core.dart'; import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart'; import 'package:krow_domain/krow_domain.dart';
@@ -7,20 +5,6 @@ import '../repositories/hub_repository_interface.dart';
/// Arguments for the UpdateHubUseCase. /// Arguments for the UpdateHubUseCase.
class UpdateHubArguments extends UseCaseArgument { class UpdateHubArguments extends UseCaseArgument {
=======
=======
>>>>>>> Stashed changes
import 'package:krow_domain/krow_domain.dart';
import '../repositories/hub_repository_interface.dart';
import '../../domain/arguments/create_hub_arguments.dart';
/// Arguments for the UpdateHubUseCase.
class UpdateHubArguments {
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
const UpdateHubArguments({ const UpdateHubArguments({
required this.id, required this.id,
this.name, this.name,
@@ -32,17 +16,7 @@ class UpdateHubArguments {
this.state, this.state,
this.street, this.street,
this.country, this.country,
<<<<<<< Updated upstream
<<<<<<< Updated upstream
this.country,
this.zipCode, this.zipCode,
this.costCenter,
=======
this.zipCode,
>>>>>>> Stashed changes
=======
this.zipCode,
>>>>>>> Stashed changes
}); });
final String id; final String id;
@@ -56,9 +30,6 @@ class UpdateHubArguments {
final String? street; final String? street;
final String? country; final String? country;
final String? zipCode; final String? zipCode;
<<<<<<< Updated upstream
<<<<<<< Updated upstream
final String? costCenter;
@override @override
List<Object?> get props => <Object?>[ List<Object?> get props => <Object?>[
@@ -73,23 +44,11 @@ class UpdateHubArguments {
street, street,
country, country,
zipCode, zipCode,
costCenter,
]; ];
} }
/// Use case for updating an existing hub. /// Use case for updating an existing hub.
class UpdateHubUseCase implements UseCase<UpdateHubArguments, Hub> { class UpdateHubUseCase implements UseCase<UpdateHubArguments, Hub> {
=======
=======
>>>>>>> Stashed changes
}
/// Use case for updating an existing hub.
class UpdateHubUseCase implements UseCase<Future<Hub>, UpdateHubArguments> {
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
UpdateHubUseCase(this.repository); UpdateHubUseCase(this.repository);
final HubRepositoryInterface repository; final HubRepositoryInterface repository;
@@ -108,13 +67,6 @@ class UpdateHubUseCase implements UseCase<Future<Hub>, UpdateHubArguments> {
street: params.street, street: params.street,
country: params.country, country: params.country,
zipCode: params.zipCode, zipCode: params.zipCode,
<<<<<<< Updated upstream
<<<<<<< Updated upstream
costCenter: params.costCenter,
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
); );
} }
} }

View File

@@ -1,16 +1,8 @@
<<<<<<< Updated upstream
<<<<<<< Updated upstream
import 'package:core_localization/core_localization.dart'; import 'package:core_localization/core_localization.dart';
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
import 'package:design_system/design_system.dart'; import 'package:design_system/design_system.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_modular/flutter_modular.dart'; import 'package:flutter_modular/flutter_modular.dart';
<<<<<<< Updated upstream
<<<<<<< Updated upstream
import 'package:krow_core/core.dart'; import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart'; import 'package:krow_domain/krow_domain.dart';
@@ -103,80 +95,11 @@ class HubDetailsPage extends StatelessWidget {
), ),
); );
}, },
=======
=======
>>>>>>> Stashed changes
import 'package:krow_domain/krow_domain.dart';
import '../blocs/client_hubs_bloc.dart';
import '../blocs/client_hubs_event.dart';
import '../widgets/hub_form_dialog.dart';
class HubDetailsPage extends StatelessWidget {
const HubDetailsPage({
required this.hub,
required this.bloc,
super.key,
});
final Hub hub;
final ClientHubsBloc bloc;
@override
Widget build(BuildContext context) {
return BlocProvider<ClientHubsBloc>.value(
value: bloc,
child: Scaffold(
appBar: AppBar(
title: Text(hub.name),
backgroundColor: UiColors.foreground,
leading: IconButton(
icon: const Icon(UiIcons.arrowLeft, color: UiColors.white),
onPressed: () => Modular.to.pop(),
),
actions: [
IconButton(
icon: const Icon(UiIcons.edit, color: UiColors.white),
onPressed: () => _showEditDialog(context),
),
],
),
backgroundColor: UiColors.bgMenu,
body: Padding(
padding: const EdgeInsets.all(UiConstants.space5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_buildDetailItem(
label: 'Name',
value: hub.name,
icon: UiIcons.home,
),
const SizedBox(height: UiConstants.space4),
_buildDetailItem(
label: 'Address',
value: hub.address,
icon: UiIcons.mapPin,
),
const SizedBox(height: UiConstants.space4),
_buildDetailItem(
label: 'NFC Tag',
value: hub.nfcTagId ?? 'Not Assigned',
icon: UiIcons.nfc,
isHighlight: hub.nfcTagId != null,
),
],
),
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
), ),
), ),
); );
} }
<<<<<<< Updated upstream
<<<<<<< Updated upstream
Future<void> _navigateToEditPage(BuildContext context) async { Future<void> _navigateToEditPage(BuildContext context) async {
final bool? saved = await Modular.to.toEditHub(hub: hub); final bool? saved = await Modular.to.toEditHub(hub: hub);
if (saved == true && context.mounted) { if (saved == true && context.mounted) {
@@ -199,108 +122,13 @@ class HubDetailsPage extends StatelessWidget {
onPressed: () => Navigator.of(context).pop(true), onPressed: () => Navigator.of(context).pop(true),
style: TextButton.styleFrom(foregroundColor: UiColors.destructive), style: TextButton.styleFrom(foregroundColor: UiColors.destructive),
child: Text(t.client_hubs.delete_dialog.delete), child: Text(t.client_hubs.delete_dialog.delete),
=======
=======
>>>>>>> Stashed changes
Widget _buildDetailItem({
required String label,
required String value,
required IconData icon,
bool isHighlight = false,
}) {
return Container(
padding: const EdgeInsets.all(UiConstants.space4),
decoration: BoxDecoration(
color: UiColors.white,
borderRadius: BorderRadius.circular(UiConstants.radiusBase),
boxShadow: const [
BoxShadow(
color: UiColors.popupShadow,
blurRadius: 10,
offset: Offset(0, 4),
),
],
),
child: Row(
children: [
Container(
padding: const EdgeInsets.all(UiConstants.space3),
decoration: BoxDecoration(
color: isHighlight ? UiColors.tagInProgress : UiColors.bgInput,
borderRadius: BorderRadius.circular(UiConstants.radiusBase),
),
child: Icon(
icon,
color: isHighlight ? UiColors.iconSuccess : UiColors.iconPrimary,
size: 20,
),
),
const SizedBox(width: UiConstants.space4),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
label,
style: UiTypography.footnote1r.textSecondary,
),
const SizedBox(height: UiConstants.space1),
Text(
value,
style: UiTypography.body1m.textPrimary,
),
],
),
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
), ),
], ],
), ),
); );
<<<<<<< Updated upstream
<<<<<<< Updated upstream
if (confirm == true) { if (confirm == true) {
bloc.add(HubDetailsDeleteRequested(hub.id)); bloc.add(HubDetailsDeleteRequested(hub.id));
} }
=======
=======
>>>>>>> Stashed changes
}
void _showEditDialog(BuildContext context) {
showDialog(
context: context,
barrierDismissible: false,
builder: (_) => HubFormDialog(
hub: hub,
onSave: (name, address, {placeId, latitude, longitude, city, state, street, country, zipCode}) {
bloc.add(
ClientHubsUpdateRequested(
id: hub.id,
name: name,
address: address,
placeId: placeId,
latitude: latitude,
longitude: longitude,
city: city,
state: state,
street: street,
country: country,
zipCode: zipCode,
),
);
Navigator.of(context).pop(); // Close dialog
Navigator.of(context).pop(); // Go back to list to refresh
},
onCancel: () => Navigator.of(context).pop(),
),
);
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
} }
} }

View File

@@ -27,13 +27,6 @@ class HubFormDialog extends StatefulWidget {
String? placeId, String? placeId,
double? latitude, double? latitude,
double? longitude, double? longitude,
<<<<<<< Updated upstream
<<<<<<< Updated upstream
String? costCenter,
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
}) onSave; }) onSave;
/// Callback when the dialog is cancelled. /// Callback when the dialog is cancelled.
@@ -45,13 +38,6 @@ class HubFormDialog extends StatefulWidget {
class _HubFormDialogState extends State<HubFormDialog> { class _HubFormDialogState extends State<HubFormDialog> {
late final TextEditingController _nameController; late final TextEditingController _nameController;
<<<<<<< Updated upstream
<<<<<<< Updated upstream
late final TextEditingController _costCenterController;
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
late final TextEditingController _addressController; late final TextEditingController _addressController;
late final FocusNode _addressFocusNode; late final FocusNode _addressFocusNode;
Prediction? _selectedPrediction; Prediction? _selectedPrediction;
@@ -60,13 +46,6 @@ class _HubFormDialogState extends State<HubFormDialog> {
void initState() { void initState() {
super.initState(); super.initState();
_nameController = TextEditingController(text: widget.hub?.name); _nameController = TextEditingController(text: widget.hub?.name);
<<<<<<< Updated upstream
<<<<<<< Updated upstream
_costCenterController = TextEditingController(text: widget.hub?.costCenter);
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
_addressController = TextEditingController(text: widget.hub?.address); _addressController = TextEditingController(text: widget.hub?.address);
_addressFocusNode = FocusNode(); _addressFocusNode = FocusNode();
} }
@@ -74,13 +53,6 @@ class _HubFormDialogState extends State<HubFormDialog> {
@override @override
void dispose() { void dispose() {
_nameController.dispose(); _nameController.dispose();
<<<<<<< Updated upstream
<<<<<<< Updated upstream
_costCenterController.dispose();
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
_addressController.dispose(); _addressController.dispose();
_addressFocusNode.dispose(); _addressFocusNode.dispose();
super.dispose(); super.dispose();
@@ -96,15 +68,7 @@ class _HubFormDialogState extends State<HubFormDialog> {
: t.client_hubs.add_hub_dialog.title; : t.client_hubs.add_hub_dialog.title;
final String buttonText = isEditing final String buttonText = isEditing
<<<<<<< Updated upstream
<<<<<<< Updated upstream
? t.client_hubs.edit_hub.save_button
=======
? 'Save Changes' // TODO: localize ? 'Save Changes' // TODO: localize
>>>>>>> Stashed changes
=======
? 'Save Changes' // TODO: localize
>>>>>>> Stashed changes
: t.client_hubs.add_hub_dialog.create_button; : t.client_hubs.add_hub_dialog.create_button;
return Container( return Container(
@@ -147,22 +111,6 @@ class _HubFormDialogState extends State<HubFormDialog> {
), ),
), ),
const SizedBox(height: UiConstants.space4), const SizedBox(height: UiConstants.space4),
<<<<<<< Updated upstream
<<<<<<< Updated upstream
_buildFieldLabel(t.client_hubs.add_hub_dialog.cost_center_label),
TextFormField(
controller: _costCenterController,
style: UiTypography.body1r.textPrimary,
decoration: _buildInputDecoration(
t.client_hubs.add_hub_dialog.cost_center_hint,
),
textInputAction: TextInputAction.next,
),
const SizedBox(height: UiConstants.space4),
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
_buildFieldLabel(t.client_hubs.add_hub_dialog.address_label), _buildFieldLabel(t.client_hubs.add_hub_dialog.address_label),
HubAddressAutocomplete( HubAddressAutocomplete(
controller: _addressController, controller: _addressController,
@@ -198,24 +146,10 @@ class _HubFormDialogState extends State<HubFormDialog> {
latitude: double.tryParse( latitude: double.tryParse(
_selectedPrediction?.lat ?? '', _selectedPrediction?.lat ?? '',
), ),
<<<<<<< Updated upstream
<<<<<<< Updated upstream
longitude: double.tryParse(
_selectedPrediction?.lng ?? '',
),
costCenter: _costCenterController.text.trim().isEmpty ? null : _costCenterController.text.trim(),
);
=======
=======
>>>>>>> Stashed changes
longitude: double.tryParse( longitude: double.tryParse(
_selectedPrediction?.lng ?? '', _selectedPrediction?.lng ?? '',
), ),
); );
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
} }
}, },
text: buttonText, text: buttonText,

View File

@@ -3,15 +3,7 @@ import 'package:krow_domain/krow_domain.dart';
import '../repositories/client_create_order_repository_interface.dart'; import '../repositories/client_create_order_repository_interface.dart';
/// Use case for creating a permanent staffing order. /// Use case for creating a permanent staffing order.
<<<<<<< Updated upstream:apps/mobile/packages/features/client/orders/create_order/lib/src/domain/usecases/create_permanent_order_usecase.dart
<<<<<<< Updated upstream:apps/mobile/packages/features/client/orders/create_order/lib/src/domain/usecases/create_permanent_order_usecase.dart
class CreatePermanentOrderUseCase implements UseCase<PermanentOrder, void> { class CreatePermanentOrderUseCase implements UseCase<PermanentOrder, void> {
=======
class CreatePermanentOrderUseCase implements UseCase<Future<void>, PermanentOrder> {
>>>>>>> Stashed changes:apps/mobile/packages/features/client/create_order/lib/src/domain/usecases/create_permanent_order_usecase.dart
=======
class CreatePermanentOrderUseCase implements UseCase<Future<void>, PermanentOrder> {
>>>>>>> Stashed changes:apps/mobile/packages/features/client/create_order/lib/src/domain/usecases/create_permanent_order_usecase.dart
const CreatePermanentOrderUseCase(this._repository); const CreatePermanentOrderUseCase(this._repository);
final ClientCreateOrderRepositoryInterface _repository; final ClientCreateOrderRepositoryInterface _repository;

View File

@@ -3,15 +3,7 @@ import 'package:krow_domain/krow_domain.dart';
import '../repositories/client_create_order_repository_interface.dart'; import '../repositories/client_create_order_repository_interface.dart';
/// Use case for creating a recurring staffing order. /// Use case for creating a recurring staffing order.
<<<<<<< Updated upstream:apps/mobile/packages/features/client/orders/create_order/lib/src/domain/usecases/create_recurring_order_usecase.dart
<<<<<<< Updated upstream:apps/mobile/packages/features/client/orders/create_order/lib/src/domain/usecases/create_recurring_order_usecase.dart
class CreateRecurringOrderUseCase implements UseCase<RecurringOrder, void> { class CreateRecurringOrderUseCase implements UseCase<RecurringOrder, void> {
=======
class CreateRecurringOrderUseCase implements UseCase<Future<void>, RecurringOrder> {
>>>>>>> Stashed changes:apps/mobile/packages/features/client/create_order/lib/src/domain/usecases/create_recurring_order_usecase.dart
=======
class CreateRecurringOrderUseCase implements UseCase<Future<void>, RecurringOrder> {
>>>>>>> Stashed changes:apps/mobile/packages/features/client/create_order/lib/src/domain/usecases/create_recurring_order_usecase.dart
const CreateRecurringOrderUseCase(this._repository); const CreateRecurringOrderUseCase(this._repository);
final ClientCreateOrderRepositoryInterface _repository; final ClientCreateOrderRepositoryInterface _repository;

View File

@@ -13,15 +13,7 @@ class ReorderArguments {
} }
/// Use case for reordering an existing staffing order. /// Use case for reordering an existing staffing order.
<<<<<<< Updated upstream:apps/mobile/packages/features/client/orders/create_order/lib/src/domain/usecases/reorder_usecase.dart
<<<<<<< Updated upstream:apps/mobile/packages/features/client/orders/create_order/lib/src/domain/usecases/reorder_usecase.dart
class ReorderUseCase implements UseCase<ReorderArguments, void> { class ReorderUseCase implements UseCase<ReorderArguments, void> {
=======
class ReorderUseCase implements UseCase<Future<void>, ReorderArguments> {
>>>>>>> Stashed changes:apps/mobile/packages/features/client/create_order/lib/src/domain/usecases/reorder_usecase.dart
=======
class ReorderUseCase implements UseCase<Future<void>, ReorderArguments> {
>>>>>>> Stashed changes:apps/mobile/packages/features/client/create_order/lib/src/domain/usecases/reorder_usecase.dart
const ReorderUseCase(this._repository); const ReorderUseCase(this._repository);
final ClientCreateOrderRepositoryInterface _repository; final ClientCreateOrderRepositoryInterface _repository;

View File

@@ -3,14 +3,7 @@ import 'package:design_system/design_system.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_modular/flutter_modular.dart'; import 'package:flutter_modular/flutter_modular.dart';
<<<<<<< Updated upstream
<<<<<<< Updated upstream
=======
import 'package:krow_core/core.dart'; import 'package:krow_core/core.dart';
>>>>>>> Stashed changes
=======
import 'package:krow_core/core.dart';
>>>>>>> Stashed changes
import '../../blocs/client_settings_bloc.dart'; import '../../blocs/client_settings_bloc.dart';
/// A widget that displays the log out button. /// A widget that displays the log out button.
@@ -66,15 +59,7 @@ class SettingsLogout extends StatelessWidget {
style: UiTypography.headline3m.textPrimary, style: UiTypography.headline3m.textPrimary,
), ),
content: Text( content: Text(
<<<<<<< Updated upstream
<<<<<<< Updated upstream
'Are you sure you want to log out?',
=======
t.client_settings.profile.log_out_confirmation, t.client_settings.profile.log_out_confirmation,
>>>>>>> Stashed changes
=======
t.client_settings.profile.log_out_confirmation,
>>>>>>> Stashed changes
style: UiTypography.body2r.textSecondary, style: UiTypography.body2r.textSecondary,
), ),
actions: <Widget>[ actions: <Widget>[