TF-801 Add presentation layer for get all vacation
This commit is contained in:
@@ -8,9 +8,7 @@ enum AccountMenuItem {
|
||||
languageAndRegion,
|
||||
emailRules,
|
||||
forward,
|
||||
}
|
||||
|
||||
extension AccountMenuItemExtension on AccountMenuItem {
|
||||
vacation;
|
||||
|
||||
String getIcon(ImagePaths imagePaths) {
|
||||
switch(this) {
|
||||
@@ -22,6 +20,8 @@ extension AccountMenuItemExtension on AccountMenuItem {
|
||||
return imagePaths.icEmailRules;
|
||||
case AccountMenuItem.forward:
|
||||
return imagePaths.icForward;
|
||||
case AccountMenuItem.configuration:
|
||||
return imagePaths.icConfiguration;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ extension AccountMenuItemExtension on AccountMenuItem {
|
||||
return AppLocalizations.of(context).emailRules;
|
||||
case AccountMenuItem.forward:
|
||||
return AppLocalizations.of(context).forwarding;
|
||||
case AccountMenuItem.configuration:
|
||||
return AppLocalizations.of(context).configuration;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum ConfigurationTabType {
|
||||
vacation;
|
||||
|
||||
String getTitle(BuildContext context) {
|
||||
switch(this) {
|
||||
case ConfigurationTabType.vacation:
|
||||
return AppLocalizations.of(context).vacation;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum DateType {
|
||||
start,
|
||||
end;
|
||||
|
||||
String getTitle(BuildContext context) {
|
||||
switch(this) {
|
||||
case DateType.start:
|
||||
return AppLocalizations.of(context).startDate;
|
||||
case DateType.end:
|
||||
return AppLocalizations.of(context).endDate;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/vacation/vacation_responder_status.dart';
|
||||
|
||||
class VacationPresentation {
|
||||
final VacationResponderStatus status;
|
||||
final DateTime? startDate;
|
||||
final TimeOfDay? startTime;
|
||||
final DateTime? endDate;
|
||||
final TimeOfDay? endTime;
|
||||
final String? messageBody;
|
||||
final bool vacationStopEnabled;
|
||||
|
||||
VacationPresentation({
|
||||
this.status = VacationResponderStatus.deactivated,
|
||||
this.startDate,
|
||||
this.startTime,
|
||||
this.endDate,
|
||||
this.endTime,
|
||||
this.messageBody,
|
||||
this.vacationStopEnabled = false,
|
||||
});
|
||||
|
||||
factory VacationPresentation.initialize() {
|
||||
return VacationPresentation();
|
||||
}
|
||||
|
||||
VacationPresentation copyWidth({
|
||||
VacationResponderStatus? status,
|
||||
DateTime? startDate,
|
||||
TimeOfDay? startTime,
|
||||
DateTime? endDate,
|
||||
TimeOfDay? endTime,
|
||||
String? messageBody,
|
||||
bool? vacationStopEnabled,
|
||||
}) {
|
||||
return VacationPresentation(
|
||||
status: status ?? this.status,
|
||||
startDate: startDate ?? this.startDate,
|
||||
startTime: startTime ?? this.startTime,
|
||||
endDate: endDate ?? this.endDate,
|
||||
endTime: endTime ?? this.endTime,
|
||||
messageBody: messageBody ?? this.messageBody,
|
||||
vacationStopEnabled: vacationStopEnabled ?? this.vacationStopEnabled
|
||||
);
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum VacationResponderStatus {
|
||||
activated,
|
||||
deactivated;
|
||||
|
||||
String getTitle(BuildContext context) {
|
||||
switch(this) {
|
||||
case VacationResponderStatus.activated:
|
||||
return AppLocalizations.of(context).activated;
|
||||
case VacationResponderStatus.deactivated:
|
||||
return AppLocalizations.of(context).deactivated;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user