added string for every screen and removed from app strings
This commit is contained in:
@@ -7,9 +7,9 @@ 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/constants/strings.dart';
|
||||
import '../../../core/routes/app_routes.dart';
|
||||
import '../../shared/desktop_navigation_widget.dart';
|
||||
import '../strings/tender_details_strings.dart';
|
||||
|
||||
class TenderDetailDesktopPage extends StatefulWidget {
|
||||
final String tenderId;
|
||||
@@ -34,28 +34,36 @@ class _TenderDetailDesktopPageState extends State<TenderDetailDesktopPage> {
|
||||
viewModel.status == 'submitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderSubmittedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderSubmittedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unsubmitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderUnsubmittedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnsubmittedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'rejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderRejectedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderRejectedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unrejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderUnrejectedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnrejectedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.approvalStatus != false && viewModel.errorMessage != null) {
|
||||
@@ -98,7 +106,9 @@ class _TenderDetailDesktopPageState extends State<TenderDetailDesktopPage> {
|
||||
|
||||
final detail = tenderViewModel.tenderDetail;
|
||||
if (detail == null) {
|
||||
return const Center(child: Text(AppStrings.tenderNoData));
|
||||
return const Center(
|
||||
child: Text(TenderDetailsStrings.tenderNoData),
|
||||
);
|
||||
}
|
||||
|
||||
return Column(
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/constants/strings.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/view_models/tender_detail_view_model.dart';
|
||||
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
||||
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';
|
||||
@@ -32,28 +32,36 @@ class _TenderDetailMobilePageState extends State<TenderDetailMobilePage> {
|
||||
viewModel.status == 'submitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderSubmittedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderSubmittedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unsubmitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderUnsubmittedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnsubmittedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'rejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderRejectedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderRejectedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unrejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderUnrejectedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnrejectedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.approvalStatus != false && viewModel.errorMessage != null) {
|
||||
@@ -86,7 +94,10 @@ class _TenderDetailMobilePageState extends State<TenderDetailMobilePage> {
|
||||
},
|
||||
child: Scaffold(
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
appBar: appBar(context: context, title: AppStrings.tenderDetailTitle),
|
||||
appBar: appBar(
|
||||
context: context,
|
||||
title: TenderDetailsStrings.tenderDetailTitle,
|
||||
),
|
||||
body: Consumer<TenderDetailViewModel>(
|
||||
builder: (context, tenderViewModel, child) {
|
||||
if (tenderViewModel.isLoading) {
|
||||
@@ -101,7 +112,9 @@ class _TenderDetailMobilePageState extends State<TenderDetailMobilePage> {
|
||||
|
||||
final detail = tenderViewModel.tenderDetail;
|
||||
if (detail == null) {
|
||||
return const Center(child: Text(AppStrings.tenderNoData));
|
||||
return const Center(
|
||||
child: Text(TenderDetailsStrings.tenderNoData),
|
||||
);
|
||||
}
|
||||
|
||||
return SingleChildScrollView(
|
||||
|
||||
@@ -12,8 +12,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/tablet_navigation_widget.dart';
|
||||
|
||||
import '../../../core/constants/strings.dart';
|
||||
import '../../../core/routes/app_routes.dart';
|
||||
import '../strings/tender_details_strings.dart';
|
||||
|
||||
class TenderDetailTabletPage extends StatefulWidget {
|
||||
final String tenderId;
|
||||
@@ -37,28 +37,36 @@ class _TenderDetailTabletPageState extends State<TenderDetailTabletPage> {
|
||||
viewModel.status == 'submitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderSubmittedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderSubmittedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unsubmitted' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderUnsubmittedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnsubmittedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'rejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderRejectedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderRejectedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.status.isNotEmpty &&
|
||||
viewModel.status == 'unrejected' &&
|
||||
viewModel.approvalStatus == true) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(AppStrings.tenderUnrejectedSuccessfully)),
|
||||
SnackBar(
|
||||
content: Text(TenderDetailsStrings.tenderUnrejectedSuccessfully),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.approvalStatus != false && viewModel.errorMessage != null) {
|
||||
@@ -149,7 +157,9 @@ class _TenderDetailTabletPageState extends State<TenderDetailTabletPage> {
|
||||
|
||||
final detail = tenderViewModel.tenderDetail;
|
||||
if (detail == null) {
|
||||
return const Center(child: Text(AppStrings.tenderNoData));
|
||||
return const Center(
|
||||
child: Text(TenderDetailsStrings.tenderNoData),
|
||||
);
|
||||
}
|
||||
return SingleChildScrollView(
|
||||
child: Center(
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
class TenderDetailsStrings {
|
||||
TenderDetailsStrings._();
|
||||
|
||||
static const String tenderDetailTitle = 'Tender Detail';
|
||||
static const String tenderStatusOpen = 'Open';
|
||||
static const String tenderIdLabel = 'ID';
|
||||
static const String tenderDeadlineLabel = 'Deadline';
|
||||
static const String tenderApprovalText = 'For approval';
|
||||
static const String tenderSubmissionText = 'For submission';
|
||||
static const String tenderClientLabel = 'Client';
|
||||
static const String tenderDeliveryLocationsLabel = 'Delivery Locations';
|
||||
static const String tenderReferenceNumberLabel = 'Reference Number';
|
||||
static const String tenderLocationLabel = 'Locations';
|
||||
static const String tenderPdfDocument = 'PDF , Document';
|
||||
static const String tenderMatchProfile = 'Match with your profile';
|
||||
static const String tenderIncompleteResume = 'Incomplete Resume Information';
|
||||
static const String tenderNoExperience =
|
||||
'No experience in e-platform development';
|
||||
static const String tenderSubmitButton = 'Submit';
|
||||
static const String tenderRejectButton = 'Reject';
|
||||
static const String tenderClientExample =
|
||||
'Procurement Notice Procurement Notice';
|
||||
static const String estimatedValue = 'Estimated Value ';
|
||||
static const String duration = 'Duration';
|
||||
static const String tenderSubmittedSuccessfully =
|
||||
'tender submitted successfully!';
|
||||
static const String tenderRejectedSuccessfully =
|
||||
'tender rejected successfully!';
|
||||
static const String tenderUnrejectedSuccessfully =
|
||||
'tender unrejected successfully!';
|
||||
static const String tenderUnsubmittedSuccessfully =
|
||||
'tender unsubmitted successfully!';
|
||||
static const String tenderNoData = 'No tender details available';
|
||||
}
|
||||
@@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/date_utils.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
||||
|
||||
import '../../../core/constants/strings.dart';
|
||||
import '../../../data/services/model/tender_data/tender_data.dart';
|
||||
|
||||
class DeadlineItem extends StatelessWidget {
|
||||
@@ -44,7 +44,7 @@ class DeadlineItem extends StatelessWidget {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
AppStrings.tenderApprovalText,
|
||||
TenderDetailsStrings.tenderApprovalText,
|
||||
style: TextStyle(
|
||||
color: AppColors.grey70,
|
||||
fontWeight: FontWeight.w400,
|
||||
@@ -73,7 +73,7 @@ class DeadlineItem extends StatelessWidget {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
AppStrings.tenderSubmissionText,
|
||||
TenderDetailsStrings.tenderSubmissionText,
|
||||
style: TextStyle(
|
||||
color: AppColors.grey70,
|
||||
fontWeight: FontWeight.w400,
|
||||
@@ -120,7 +120,7 @@ class DeadlineItem extends StatelessWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
AppStrings.tenderApprovalText,
|
||||
TenderDetailsStrings.tenderApprovalText,
|
||||
style: TextStyle(
|
||||
color: AppColors.grey70,
|
||||
fontWeight: FontWeight.w400,
|
||||
@@ -142,7 +142,7 @@ class DeadlineItem extends StatelessWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
AppStrings.tenderSubmissionText,
|
||||
TenderDetailsStrings.tenderSubmissionText,
|
||||
style: TextStyle(
|
||||
color: AppColors.grey70,
|
||||
fontWeight: FontWeight.w400,
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/constants/strings.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/view_models/tender_detail_view_model.dart';
|
||||
@@ -9,6 +8,7 @@ import 'package:tm_app/views/shared/select_submission_bottom_sheet.dart';
|
||||
|
||||
import '../../../data/services/model/tender_data/tender_data.dart';
|
||||
import '../../shared/select_submission_dialog.dart';
|
||||
import '../strings/tender_details_strings.dart';
|
||||
|
||||
class TenderDetailActions extends StatelessWidget {
|
||||
final bool isScreenBig;
|
||||
@@ -43,7 +43,7 @@ class TenderDetailActions extends StatelessWidget {
|
||||
)
|
||||
: BaseButton(
|
||||
isEnabled: true,
|
||||
text: AppStrings.tenderSubmitButton,
|
||||
text: TenderDetailsStrings.tenderSubmitButton,
|
||||
backgroundColor: AppColors.primary30,
|
||||
textColor: AppColors.mainBlue,
|
||||
onPressed: () {
|
||||
@@ -78,7 +78,7 @@ class TenderDetailActions extends StatelessWidget {
|
||||
return viewModel.isRejectApprovalLoading
|
||||
? BaseButton(
|
||||
isEnabled: true,
|
||||
text: AppStrings.tenderRejectButton,
|
||||
text: TenderDetailsStrings.tenderRejectButton,
|
||||
borderColor: AppColors.error,
|
||||
textColor: AppColors.error,
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
@@ -87,7 +87,7 @@ class TenderDetailActions extends StatelessWidget {
|
||||
)
|
||||
: BaseButton(
|
||||
isEnabled: true,
|
||||
text: AppStrings.tenderRejectButton,
|
||||
text: TenderDetailsStrings.tenderRejectButton,
|
||||
borderColor: AppColors.error,
|
||||
textColor: AppColors.error,
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
@@ -115,7 +115,7 @@ class TenderDetailActions extends StatelessWidget {
|
||||
return viewModel.isRejectApprovalLoading
|
||||
? BaseButton(
|
||||
isEnabled: true,
|
||||
text: AppStrings.tenderRejectButton,
|
||||
text: TenderDetailsStrings.tenderRejectButton,
|
||||
textColor: AppColors.red10,
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
borderWidth: 1,
|
||||
@@ -124,7 +124,7 @@ class TenderDetailActions extends StatelessWidget {
|
||||
)
|
||||
: BaseButton(
|
||||
isEnabled: true,
|
||||
text: AppStrings.tenderRejectButton,
|
||||
text: TenderDetailsStrings.tenderRejectButton,
|
||||
textColor: AppColors.red10,
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
borderWidth: 1,
|
||||
@@ -144,7 +144,7 @@ class TenderDetailActions extends StatelessWidget {
|
||||
return viewModel.isSubmitApprovalLoading
|
||||
? BaseButton(
|
||||
isEnabled: true,
|
||||
text: AppStrings.tenderSubmitButton,
|
||||
text: TenderDetailsStrings.tenderSubmitButton,
|
||||
backgroundColor: AppColors.lightBlue,
|
||||
textColor: AppColors.mainBlue,
|
||||
onPressed: () {},
|
||||
@@ -152,7 +152,7 @@ class TenderDetailActions extends StatelessWidget {
|
||||
)
|
||||
: BaseButton(
|
||||
isEnabled: true,
|
||||
text: AppStrings.tenderSubmitButton,
|
||||
text: TenderDetailsStrings.tenderSubmitButton,
|
||||
backgroundColor: AppColors.lightBlue,
|
||||
textColor: AppColors.mainBlue,
|
||||
onPressed: () {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tm_app/core/constants/strings.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/data/services/model/tender_data/tender_data.dart';
|
||||
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
||||
|
||||
class TenderDetailCard extends StatelessWidget {
|
||||
final TenderData detail;
|
||||
@@ -25,7 +25,7 @@ class TenderDetailCard extends StatelessWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
AppStrings.tenderMatchProfile,
|
||||
TenderDetailsStrings.tenderMatchProfile,
|
||||
style: TextStyle(
|
||||
fontSize: 12.0.sp(),
|
||||
color: AppColors.grey80,
|
||||
@@ -65,7 +65,7 @@ class TenderDetailCard extends StatelessWidget {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
AppStrings.tenderIncompleteResume,
|
||||
TenderDetailsStrings.tenderIncompleteResume,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 16.0.sp(),
|
||||
@@ -74,7 +74,7 @@ class TenderDetailCard extends StatelessWidget {
|
||||
),
|
||||
SizedBox(height: 4.0.h()),
|
||||
Text(
|
||||
AppStrings.tenderNoExperience,
|
||||
TenderDetailsStrings.tenderNoExperience,
|
||||
style: TextStyle(
|
||||
fontSize: 14.0.sp(),
|
||||
color: AppColors.grey70,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tm_app/core/constants/strings.dart';
|
||||
import 'package:tm_app/data/services/model/tender_data/tender_data.dart';
|
||||
import 'package:tm_app/views/detail/strings/tender_details_strings.dart';
|
||||
import 'package:tm_app/views/detail/widgets/deadline_item.dart';
|
||||
import 'package:tm_app/views/detail/widgets/info_item.dart';
|
||||
|
||||
@@ -19,22 +19,25 @@ class TenderDetailInfoSection extends StatelessWidget {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
InfoItem(title: AppStrings.tenderIdLabel, value: detail.tenderId ?? ''),
|
||||
InfoItem(
|
||||
title: TenderDetailsStrings.tenderIdLabel,
|
||||
value: detail.tenderId ?? '',
|
||||
),
|
||||
DeadlineItem(detail: detail, isScreenBig: isScreenBig),
|
||||
InfoItem(
|
||||
title: AppStrings.tenderClientLabel,
|
||||
title: TenderDetailsStrings.tenderClientLabel,
|
||||
value: detail.buyerOrganization!.name ?? '',
|
||||
),
|
||||
InfoItem(
|
||||
title: AppStrings.estimatedValue,
|
||||
title: TenderDetailsStrings.estimatedValue,
|
||||
value: '${detail.estimatedValue} ${detail.currency ?? ''}',
|
||||
),
|
||||
InfoItem(
|
||||
title: AppStrings.duration,
|
||||
title: TenderDetailsStrings.duration,
|
||||
value: '${detail.duration} ${detail.durationUnit ?? ''}',
|
||||
),
|
||||
InfoItem(
|
||||
title: AppStrings.tenderReferenceNumberLabel,
|
||||
title: TenderDetailsStrings.tenderReferenceNumberLabel,
|
||||
value: detail.noticePublicationId ?? '',
|
||||
),
|
||||
],
|
||||
|
||||
@@ -2,11 +2,11 @@ import 'package:country_flags/country_flags.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:tm_app/core/constants/assets.dart';
|
||||
import 'package:tm_app/core/constants/strings.dart';
|
||||
import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
|
||||
import '../../../data/services/model/tender_data/tender_data.dart';
|
||||
import '../strings/tender_details_strings.dart';
|
||||
|
||||
class TenderLocationSection extends StatelessWidget {
|
||||
final TenderData detail;
|
||||
@@ -60,7 +60,7 @@ class TenderLocationSection extends StatelessWidget {
|
||||
),
|
||||
SizedBox(height: 8.0.h()),
|
||||
Text(
|
||||
AppStrings.tenderLocationLabel,
|
||||
TenderDetailsStrings.tenderLocationLabel,
|
||||
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16.0.sp()),
|
||||
),
|
||||
SizedBox(height: 8.0.h()),
|
||||
|
||||
Reference in New Issue
Block a user