Merge pull request 'changed messages to toast' (#105) from toast_messages into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/105
This commit is contained in:
@@ -6,7 +6,7 @@ class AppToast {
|
||||
toastification.show(
|
||||
context: context,
|
||||
type: ToastificationType.success,
|
||||
style: ToastificationStyle.fillColored,
|
||||
style: ToastificationStyle.flatColored,
|
||||
title: Text(message),
|
||||
autoCloseDuration: const Duration(seconds: 3),
|
||||
);
|
||||
@@ -16,7 +16,7 @@ class AppToast {
|
||||
toastification.show(
|
||||
context: context,
|
||||
type: ToastificationType.error,
|
||||
style: ToastificationStyle.fillColored,
|
||||
style: ToastificationStyle.flatColored,
|
||||
title: Text(message),
|
||||
autoCloseDuration: const Duration(seconds: 3),
|
||||
);
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:tm_app/views/detail/widgets/tender_detail_action.dart';
|
||||
import 'package:tm_app/views/detail/widgets/tender_detail_card.dart';
|
||||
import 'package:tm_app/views/detail/widgets/tender_detail_header.dart';
|
||||
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../shared/desktop_navigation_widget.dart';
|
||||
import '../strings/tender_details_strings.dart';
|
||||
|
||||
@@ -32,46 +33,37 @@ class _TenderDetailDesktopPageState extends State<TenderDetailDesktopPage> {
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'submitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderSubmittedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderSubmittedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unsubmitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnsubmittedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderUnsubmittedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'rejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderRejectedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderRejectedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unrejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnrejectedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderUnrejectedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.approvalStatus != false && viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: AppColors.errorColor,
|
||||
content: Text(viewModel.errorMessage!),
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ import 'package:tm_app/views/detail/widgets/tender_detail_card.dart';
|
||||
import 'package:tm_app/views/detail/widgets/tender_detail_header.dart';
|
||||
import 'package:tm_app/views/shared/tender_app_bar.dart';
|
||||
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
|
||||
class TenderDetailMobilePage extends StatefulWidget {
|
||||
final String tenderId;
|
||||
const TenderDetailMobilePage({required this.tenderId, super.key});
|
||||
@@ -31,46 +33,37 @@ class _TenderDetailMobilePageState extends State<TenderDetailMobilePage> {
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'submitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderSubmittedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderSubmittedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unsubmitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnsubmittedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderUnsubmittedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'rejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderRejectedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderRejectedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unrejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnrejectedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderUnrejectedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.approvalStatus != false && viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: AppColors.errorColor,
|
||||
content: Text(viewModel.errorMessage!),
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import 'package:tm_app/views/detail/widgets/tender_detail_card.dart';
|
||||
import 'package:tm_app/views/detail/widgets/tender_detail_header.dart';
|
||||
import 'package:tm_app/views/shared/tablet_navigation_widget.dart';
|
||||
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../shared/tender_app_bar.dart';
|
||||
import '../strings/tender_details_strings.dart';
|
||||
|
||||
@@ -33,46 +34,37 @@ class _TenderDetailTabletPageState extends State<TenderDetailTabletPage> {
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'submitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderSubmittedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderSubmittedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unsubmitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnsubmittedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderUnsubmittedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'rejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderRejectedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderRejectedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unrejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnrejectedSuccessfully),
|
||||
),
|
||||
AppToast.success(
|
||||
context,
|
||||
TenderDetailsStrings.tenderUnrejectedSuccessfully,
|
||||
);
|
||||
}
|
||||
if (viewModel.approvalStatus != false && viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: AppColors.errorColor,
|
||||
content: Text(viewModel.errorMessage!),
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:tm_app/data/services/model/tender_approvals_data/tender_approval
|
||||
import 'package:tm_app/view_models/liked_tenders_view_model.dart';
|
||||
import 'package:tm_app/views/liked_tenders/widgets/liked_tenders_list_item.dart';
|
||||
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../shared/desktop_navigation_widget.dart';
|
||||
import '../strings/liked_tenders_strings.dart';
|
||||
|
||||
@@ -31,9 +32,7 @@ class _LikedTendersDesktopPageState extends State<LikedTendersDesktopPage> {
|
||||
void _viewModelListener() {
|
||||
if (viewModel.approvalErrorMessage?.isNotEmpty == true &&
|
||||
viewModel.approvalStatus == false) {
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(viewModel.approvalErrorMessage!)));
|
||||
AppToast.error(context, viewModel.approvalErrorMessage!);
|
||||
viewModel.clearApprovalErrorMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:flutter_svg/svg.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/constants/assets.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/app_toast.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/data/services/model/tender_approvals_data/tender_approvals_data.dart';
|
||||
import 'package:tm_app/view_models/liked_tenders_view_model.dart';
|
||||
@@ -34,9 +35,7 @@ class _LikedTendersMobilePageState extends State<LikedTendersMobilePage> {
|
||||
if (mounted &&
|
||||
viewModel.approvalErrorMessage?.isNotEmpty == true &&
|
||||
viewModel.approvalStatus == false) {
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(viewModel.approvalErrorMessage!)));
|
||||
AppToast.error(context, viewModel.approvalErrorMessage!);
|
||||
viewModel.clearApprovalErrorMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import 'package:tm_app/view_models/liked_tenders_view_model.dart';
|
||||
import 'package:tm_app/views/liked_tenders/strings/liked_tenders_strings.dart';
|
||||
import 'package:tm_app/views/liked_tenders/widgets/liked_tenders_list_item.dart';
|
||||
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../../data/services/model/tender_approvals_data/tender_approvals_data.dart';
|
||||
import '../../shared/tablet_navigation_widget.dart';
|
||||
import '../../shared/tender_app_bar.dart';
|
||||
@@ -32,9 +33,7 @@ class _LikedTendersTabletPageState extends State<LikedTendersTabletPage> {
|
||||
void _viewModelListener() {
|
||||
if (viewModel.approvalErrorMessage?.isNotEmpty == true &&
|
||||
viewModel.approvalStatus == false) {
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(viewModel.approvalErrorMessage!)));
|
||||
AppToast.error(context, viewModel.approvalErrorMessage!);
|
||||
viewModel.clearApprovalErrorMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:tm_app/core/theme/colors.dart';
|
||||
|
||||
import '../../../core/constants/assets.dart';
|
||||
import '../../../core/routes/app_routes.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../../core/utils/size_config.dart';
|
||||
import '../../../view_models/auth_view_model.dart';
|
||||
import '../strings/login_strings.dart';
|
||||
@@ -33,9 +34,7 @@ class _LoginDesktopPageState extends State<LoginDesktopPage> {
|
||||
if (viewModel.loggedInUser != null) {
|
||||
Router.neglect(context, () => context.go('/home'));
|
||||
} else if (viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(viewModel.errorMessage!)));
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:tm_app/core/routes/app_routes.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
|
||||
import '../../../core/constants/assets.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../../core/utils/size_config.dart';
|
||||
import '../../../view_models/auth_view_model.dart';
|
||||
import '../strings/login_strings.dart';
|
||||
@@ -32,9 +33,7 @@ class _LoginMobilePageState extends State<LoginMobilePage> {
|
||||
Router.neglect(context, () => context.go('/home'));
|
||||
}
|
||||
if (viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(viewModel.errorMessage!)));
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:tm_app/core/theme/colors.dart';
|
||||
|
||||
import '../../../core/constants/assets.dart';
|
||||
import '../../../core/routes/app_routes.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../../core/utils/size_config.dart';
|
||||
import '../../../view_models/auth_view_model.dart';
|
||||
import '../strings/login_strings.dart';
|
||||
@@ -32,9 +33,7 @@ class _LoginTabletPageState extends State<LoginTabletPage> {
|
||||
Router.neglect(context, () => context.go('/home'));
|
||||
}
|
||||
if (viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(viewModel.errorMessage!)));
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:tm_app/view_models/profile_view_model.dart';
|
||||
import '../../../core/constants/assets.dart';
|
||||
import '../../../core/constants/common_strings.dart';
|
||||
import '../../../core/theme/colors.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../../core/utils/size_config.dart';
|
||||
import '../../shared/desktop_navigation_widget.dart';
|
||||
import '../strings/profile_strings.dart';
|
||||
@@ -31,12 +32,7 @@ class _DesktopProfilePageState extends State<DesktopProfilePage> {
|
||||
|
||||
void _profileListener() {
|
||||
if (viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(viewModel.errorMessage!),
|
||||
backgroundColor: AppColors.red,
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
if (viewModel.loggedOut) {
|
||||
Router.neglect(context, () => LoginScreenRoute().go(context));
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:tm_app/views/profile/widgets/theme_toggle.dart';
|
||||
import '../../../core/constants/assets.dart';
|
||||
import '../../../core/constants/common_strings.dart';
|
||||
import '../../../core/theme/colors.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../../core/utils/size_config.dart';
|
||||
import '../../shared/tender_app_bar.dart';
|
||||
import '../strings/profile_strings.dart';
|
||||
@@ -31,12 +32,7 @@ class _MobileProfilePageState extends State<MobileProfilePage> {
|
||||
|
||||
void _profileListener() {
|
||||
if (viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(viewModel.errorMessage!),
|
||||
backgroundColor: AppColors.red,
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
if (viewModel.loggedOut) {
|
||||
Router.neglect(context, () => LoginScreenRoute().go(context));
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:tm_app/core/routes/app_routes.dart';
|
||||
import 'package:tm_app/view_models/profile_view_model.dart';
|
||||
|
||||
import '../../../core/theme/colors.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../../core/utils/size_config.dart';
|
||||
import '../../shared/tablet_navigation_widget.dart';
|
||||
import '../../shared/tender_app_bar.dart';
|
||||
@@ -32,12 +33,7 @@ class _TabletProfilePageState extends State<TabletProfilePage> {
|
||||
|
||||
void _profileListener() {
|
||||
if (viewModel.errorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(viewModel.errorMessage!),
|
||||
backgroundColor: AppColors.red,
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.errorMessage!);
|
||||
}
|
||||
if (viewModel.loggedOut) {
|
||||
Router.neglect(context, () => LoginScreenRoute().go(context));
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:tm_app/views/shared/desktop_navigation_widget.dart';
|
||||
import 'package:tm_app/views/tenders/widgets/main_tenders_slider.dart';
|
||||
|
||||
import '../../../core/constants/common_strings.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
|
||||
class DesktopTendersPage extends StatefulWidget {
|
||||
const DesktopTendersPage({super.key});
|
||||
@@ -26,20 +27,10 @@ class _DesktopTendersPageState extends State<DesktopTendersPage> {
|
||||
|
||||
void _viewModelListener() {
|
||||
if (viewModel.feedbackErrorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: AppColors.error,
|
||||
content: Text(viewModel.feedbackErrorMessage!),
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.feedbackErrorMessage!);
|
||||
}
|
||||
if (viewModel.tenderApprovalErrorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: AppColors.error,
|
||||
content: Text(viewModel.tenderApprovalErrorMessage!),
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.tenderApprovalErrorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:tm_app/view_models/tenders_view_model.dart';
|
||||
|
||||
import '../../../core/constants/common_strings.dart';
|
||||
import '../../../core/theme/colors.dart';
|
||||
import '../../../core/utils/app_toast.dart';
|
||||
import '../../shared/tender_app_bar.dart';
|
||||
import '../strings/tenders_strings.dart';
|
||||
import '../widgets/main_tenders_slider.dart';
|
||||
@@ -27,20 +28,10 @@ class _MobileTendersPageState extends State<MobileTendersPage> {
|
||||
|
||||
void _viewModelListener() {
|
||||
if (viewModel.feedbackErrorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: AppColors.error,
|
||||
content: Text(viewModel.feedbackErrorMessage!),
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.feedbackErrorMessage!);
|
||||
}
|
||||
if (viewModel.tenderApprovalErrorMessage != null) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
backgroundColor: AppColors.error,
|
||||
content: Text(viewModel.tenderApprovalErrorMessage!),
|
||||
),
|
||||
);
|
||||
AppToast.error(context, viewModel.tenderApprovalErrorMessage!);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-2
@@ -1,5 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<!--
|
||||
If you are serving your web app in a path other than the root, change the
|
||||
@@ -27,12 +28,14 @@
|
||||
<link rel="apple-touch-icon" href="icons/Icon-192.svg">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/png" href="favicon.png"/>
|
||||
<link rel="icon" type="image/png" href="favicon.png" />
|
||||
|
||||
<title>tm_app</title>
|
||||
<title>OppLens</title>
|
||||
<link rel="manifest" href="manifest.json">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="flutter_bootstrap.js" async></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user