Add order entities and mocks for client order feature

Introduces new domain entities for order types and one-time orders, along with their positions. Adds a mock OrderRepository to the data_connect package and wires it into the module. Updates localization files for new order flows and refactors Equatable usage for consistency. Also adds a minus icon to the design system.
This commit is contained in:
Achintha Isuru
2026-01-22 16:47:39 -05:00
parent 7090efb583
commit 4b3125de1a
80 changed files with 2472 additions and 531 deletions

View File

@@ -4,17 +4,17 @@ import 'package:equatable/equatable.dart';
///
/// Can apply to Staff (needs) or Events (provision).
class Accessibility extends Equatable {
const Accessibility({
required this.id,
required this.name,
});
/// Unique identifier.
final String id;
/// Description (e.g. "Wheelchair Access").
final String name;
const Accessibility({
required this.id,
required this.name,
});
@override
List<Object?> get props => [id, name];
List<Object?> get props => <Object?>[id, name];
}

View File

@@ -2,6 +2,15 @@ import 'package:equatable/equatable.dart';
/// Represents bank account details for payroll.
class BankAccount extends Equatable {
const BankAccount({
required this.id,
required this.userId,
required this.bankName,
required this.accountNumber,
required this.accountName,
this.sortCode,
});
/// Unique identifier.
final String id;
@@ -20,15 +29,6 @@ class BankAccount extends Equatable {
/// Sort code (if applicable).
final String? sortCode;
const BankAccount({
required this.id,
required this.userId,
required this.bankName,
required this.accountNumber,
required this.accountName,
this.sortCode,
});
@override
List<Object?> get props => [id, userId, bankName, accountNumber, accountName, sortCode];
List<Object?> get props => <Object?>[id, userId, bankName, accountNumber, accountName, sortCode];
}

View File

@@ -4,6 +4,12 @@ import 'package:equatable/equatable.dart';
///
/// Critical for staff safety during shifts.
class EmergencyContact extends Equatable {
const EmergencyContact({
required this.name,
required this.relationship,
required this.phone,
});
/// Full name of the contact.
final String name;
@@ -13,12 +19,6 @@ class EmergencyContact extends Equatable {
/// Phone number.
final String phone;
const EmergencyContact({
required this.name,
required this.relationship,
required this.phone,
});
@override
List<Object?> get props => [name, relationship, phone];
List<Object?> get props => <Object?>[name, relationship, phone];
}

View File

@@ -4,6 +4,14 @@ import 'package:equatable/equatable.dart';
///
/// Defines recurring availability (e.g., "Mondays 9-5").
class Schedule extends Equatable {
const Schedule({
required this.id,
required this.staffId,
required this.dayOfWeek,
required this.startTime,
required this.endTime,
});
/// Unique identifier.
final String id;
@@ -19,14 +27,6 @@ class Schedule extends Equatable {
/// End time of availability.
final DateTime endTime;
const Schedule({
required this.id,
required this.staffId,
required this.dayOfWeek,
required this.startTime,
required this.endTime,
});
@override
List<Object?> get props => [id, staffId, dayOfWeek, startTime, endTime];
List<Object?> get props => <Object?>[id, staffId, dayOfWeek, startTime, endTime];
}