Move apps to mobile directory structure

Relocated all app directories (client, design_system_viewer, staff) and their contents under the new 'apps/mobile' path. This change improves project organization and prepares for future platform-specific structuring.
This commit is contained in:
Achintha Isuru
2026-01-22 10:17:19 -05:00
parent 2f992ae5fa
commit cf59935ec8
982 changed files with 3 additions and 2532 deletions

View File

@@ -0,0 +1,35 @@
import 'package:equatable/equatable.dart';
/// The type of preference a business has for a staff member.
enum PreferenceType {
/// Business wants to prioritize this staff member.
favorite,
/// Business does not want to work with this staff member.
blocked,
}
/// Represents a business's specific preference for a staff member.
class BusinessStaffPreference extends Equatable {
/// Unique identifier.
final String id;
/// The [Business] holding the preference.
final String businessId;
/// The [Staff] member.
final String staffId;
/// Whether they are a favorite or blocked.
final PreferenceType type;
const BusinessStaffPreference({
required this.id,
required this.businessId,
required this.staffId,
required this.type,
});
@override
List<Object?> get props => [id, businessId, staffId, type];
}

View File

@@ -0,0 +1,36 @@
import 'package:equatable/equatable.dart';
/// Represents a penalty issued to a staff member.
///
/// Penalties are issued for no-shows, cancellations, or poor conduct.
class PenaltyLog extends Equatable {
/// Unique identifier.
final String id;
/// The [Staff] member penalized.
final String staffId;
/// The [Assignment] context (if applicable).
final String assignmentId;
/// Reason for the penalty.
final String reason;
/// Score points deducted from staff profile.
final int points;
/// When the penalty was issued.
final DateTime issuedAt;
const PenaltyLog({
required this.id,
required this.staffId,
required this.assignmentId,
required this.reason,
required this.points,
required this.issuedAt,
});
@override
List<Object?> get props => [id, staffId, assignmentId, reason, points, issuedAt];
}

View File

@@ -0,0 +1,34 @@
import 'package:equatable/equatable.dart';
/// Represents a rating given to a staff member by a client.
class StaffRating extends Equatable {
/// Unique identifier.
final String id;
/// The [Staff] being rated.
final String staffId;
/// The [Event] context.
final String eventId;
/// The [Business] leaving the rating.
final String businessId;
/// Star rating (1-5).
final int rating;
/// Optional feedback text.
final String? comment;
const StaffRating({
required this.id,
required this.staffId,
required this.eventId,
required this.businessId,
required this.rating,
this.comment,
});
@override
List<Object?> get props => [id, staffId, eventId, businessId, rating, comment];
}