TF-934 Add page not found
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
<svg width="556" height="212" viewBox="0 0 556 212" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M156 62C156 58.134 159.134 55 163 55H387C390.866 55 394 58.134 394 62V197H156V62Z"
|
||||
fill="#DFEEFF" stroke="#AEB7C2" stroke-width="2" />
|
||||
<path
|
||||
d="M116 200C116 198.343 117.343 197 119 197H431C432.657 197 434 198.343 434 200V204C434 207.866 430.866 211 427 211H123C119.134 211 116 207.866 116 204V200Z"
|
||||
fill="#DFEEFF" stroke="#AEB7C2" stroke-width="2" />
|
||||
<rect x="162" y="61" width="226" height="130" rx="5" fill="#F7F8FA" stroke="#AEB7C2"
|
||||
stroke-width="2" />
|
||||
<mask id="mask0_7307_320860" style="mask-type:alpha" x="163" y="62"
|
||||
width="224" height="128">
|
||||
<rect x="164" y="63" width="222" height="126" rx="3" fill="#F2F3F5" stroke="#AEB7C2"
|
||||
stroke-width="2" />
|
||||
</mask>
|
||||
<g mask="url(#mask0_7307_320860)">
|
||||
<rect x="363.851" y="-13" width="22.5692" height="337" transform="rotate(60 363.851 -13)"
|
||||
fill="white" />
|
||||
<rect x="400.851" y="17" width="47.9167" height="337" transform="rotate(60 400.851 17)"
|
||||
fill="white" />
|
||||
<rect x="462.851" y="54" width="30.0807" height="337" transform="rotate(60 462.851 54)"
|
||||
fill="white" />
|
||||
</g>
|
||||
<path
|
||||
d="M331.72 144.651C331.363 145.366 330.493 145.657 329.786 145.285C314.949 137.474 303.579 124.38 297.925 108.594C297.655 107.842 298.066 107.021 298.823 106.768C299.581 106.515 300.399 106.925 300.669 107.677C306.079 122.735 316.928 135.228 331.079 142.696C331.786 143.069 332.077 143.936 331.72 144.651Z"
|
||||
fill="#AEB7C2" />
|
||||
<path
|
||||
d="M246.982 131.532C235.087 128.21 224.341 121.666 215.932 112.621L218.051 110.651C226.097 119.306 236.378 125.567 247.76 128.745L246.982 131.532Z"
|
||||
fill="#AEB7C2" />
|
||||
<path
|
||||
d="M240 197H310V198C310 201.866 306.866 205 303 205H247C243.134 205 240 201.866 240 198V197Z"
|
||||
fill="white" stroke="#AEB7C2" stroke-width="2" />
|
||||
<mask id="path-11-inside-1_7307_320860" fill="white">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M235 102.066V170C235 172.209 236.791 174 239 174H311C313.209 174 315 172.209 315 170V82C315 79.7909 313.209 78 311 78H259.066L235 102.066Z" />
|
||||
</mask>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M235 102.066V170C235 172.209 236.791 174 239 174H311C313.209 174 315 172.209 315 170V82C315 79.7909 313.209 78 311 78H259.066L235 102.066Z"
|
||||
fill="white" />
|
||||
<path
|
||||
d="M235 102.066L233.586 100.652L233 101.238V102.066H235ZM259.066 78V76H258.238L257.652 76.5858L259.066 78ZM237 170V102.066H233V170H237ZM239 172C237.895 172 237 171.105 237 170H233C233 173.314 235.686 176 239 176V172ZM311 172H239V176H311V172ZM313 170C313 171.105 312.105 172 311 172V176C314.314 176 317 173.314 317 170H313ZM313 82V170H317V82H313ZM311 80C312.105 80 313 80.8954 313 82H317C317 78.6863 314.314 76 311 76V80ZM259.066 80H311V76H259.066V80ZM257.652 76.5858L233.586 100.652L236.414 103.48L260.48 79.4142L257.652 76.5858Z"
|
||||
fill="#AEB7C2" mask="url(#path-11-inside-1_7307_320860)" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M259 78L236 101L235 102V103H236.828H257C259.209 103 261 101.209 261 99V78.8284V78H259ZM238.828 101H257C258.105 101 259 100.105 259 99V80.8284L238.828 101Z"
|
||||
fill="#AEB7C2" />
|
||||
<path d="M257 109H261V117H257V109Z" fill="#AEB7C2" />
|
||||
<path d="M290 109H294V117H290V109Z" fill="#AEB7C2" />
|
||||
<path d="M266 124H286V128H266V124Z" fill="#AEB7C2" />
|
||||
<path d="M262 128H266V132H262V128Z" fill="#AEB7C2" />
|
||||
<path d="M286 128H290V132H286V128Z" fill="#AEB7C2" />
|
||||
<path d="M257 146H293V148H257V146Z" fill="#E7E8EC" />
|
||||
<path d="M257 152H293V154H257V152Z" fill="#E7E8EC" />
|
||||
<path d="M257 158H277V160H257V158Z" fill="#E7E8EC" />
|
||||
<rect x="265" y="174" width="4" height="17" fill="#AEB7C2" />
|
||||
<rect x="281" y="174" width="4" height="17" fill="#AEB7C2" />
|
||||
<rect x="197" y="42.7764" width="3" height="88" rx="1.5" transform="rotate(-15 197 42.7764)"
|
||||
fill="#AEB7C2" />
|
||||
<rect x="200" y="42.188" width="80" height="40" rx="4" transform="rotate(-15 200 42.188)"
|
||||
fill="#FF724C" />
|
||||
<rect x="44" y="208" width="484" height="4" rx="2" fill="#AEB7C2" />
|
||||
<rect y="208" width="32" height="4" rx="2" fill="#AEB7C2" />
|
||||
<rect x="540" y="208" width="16" height="4" rx="2" fill="#AEB7C2" />
|
||||
<path
|
||||
d="M217.564 65.4106C216.135 65.7933 214.667 64.9457 214.285 63.5175C214.143 62.9876 214.167 62.427 214.354 61.9113L219.765 46.9993C220.099 46.0782 220.862 45.3784 221.808 45.1248L222.438 44.956C224.039 44.5271 225.684 45.4769 226.113 47.0773L229.113 58.2743L229.947 58.0507C230.989 57.7716 232.059 58.3896 232.338 59.4309C232.617 60.4723 231.999 61.5426 230.958 61.8216L230.123 62.0453L230.72 64.2708C231.04 65.4657 230.331 66.694 229.136 67.0142C227.941 67.3344 226.712 66.6252 226.392 65.4303L225.796 63.2048L217.564 65.4106ZM222.529 49.9009L218.727 61.0571L225.064 59.3593L222.529 49.9009Z"
|
||||
fill="white" />
|
||||
<path
|
||||
d="M233.677 53.4072C232.722 49.8423 232.612 46.8789 233.349 44.5172C234.106 42.1499 235.978 40.5659 238.966 39.7653C241.954 38.9647 244.358 39.403 246.176 41.0801C248.016 42.7516 249.413 45.3699 250.368 48.9348C251.329 52.5203 251.433 55.507 250.682 57.8949C249.951 60.2773 248.091 61.8687 245.104 62.6694C242.116 63.47 239.699 63.0242 237.854 61.332C236.03 59.6343 234.638 56.9927 233.677 53.4072ZM246.103 50.0777C245.694 48.5529 245.249 47.3029 244.767 46.3278C244.299 45.3265 243.679 44.5763 242.905 44.077C242.151 43.5722 241.197 43.4744 240.043 43.7836C238.889 44.0928 238.102 44.6571 237.681 45.4767C237.281 46.2907 237.118 47.2508 237.194 48.3569C237.284 49.4369 237.534 50.7394 237.942 52.2642C238.362 53.8303 238.808 55.1243 239.281 56.1461C239.748 57.1474 240.369 57.8976 241.143 58.3969C241.912 58.8756 242.873 58.9603 244.027 58.6511C245.181 58.3419 245.971 57.7878 246.397 56.9889C246.818 56.1694 246.981 55.2093 246.885 54.1087C246.783 52.9875 246.522 51.6438 246.103 50.0777Z"
|
||||
fill="white" />
|
||||
<path
|
||||
d="M257.646 54.6706C256.218 55.0533 254.75 54.2057 254.367 52.7775C254.225 52.2476 254.249 51.687 254.436 51.1714L259.847 36.2594C260.181 35.3383 260.944 34.6384 261.89 34.3848L262.521 34.216C264.121 33.7871 265.766 34.7369 266.195 36.3373L269.195 47.5343L270.03 47.3107C271.071 47.0317 272.141 47.6496 272.42 48.691C272.699 49.7323 272.081 50.8026 271.04 51.0817L270.205 51.3053L270.802 53.5308C271.122 54.7257 270.413 55.954 269.218 56.2742C268.023 56.5944 266.795 55.8852 266.474 54.6903L265.878 52.4648L257.646 54.6706ZM262.612 39.1609L258.809 50.3171L265.146 48.6193L262.612 39.1609Z"
|
||||
fill="white" />
|
||||
<path
|
||||
d="M59.6348 204.299L52.105 129H104.895L97.3652 204.299C97.2118 205.832 95.9213 207 94.3801 207H62.6199C61.0787 207 59.7882 205.832 59.6348 204.299Z"
|
||||
fill="white" stroke="#AEB7C2" stroke-width="2" />
|
||||
<rect x="54" y="155" width="48" height="2" fill="#AEB7C2" />
|
||||
<rect x="59" y="190" width="39" height="2" fill="#AEB7C2" />
|
||||
<rect x="44" y="120" width="69" height="9" rx="3" fill="white" stroke="#AEB7C2"
|
||||
stroke-width="2" />
|
||||
<path
|
||||
d="M53.9823 112.975C54.4134 111.789 55.5402 111 56.8017 111H100.198C101.46 111 102.587 111.789 103.018 112.975L105.572 120H51.4277L53.9823 112.975Z"
|
||||
fill="white" stroke="#AEB7C2" stroke-width="2" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M109 77.9998L103.001 72L87 87.9998V100L87.0006 110H95.0006V91.9995L109 77.9998ZM95.0006 91.9995V79.9999L87 87.9998V100L95.0006 91.9995Z"
|
||||
fill="#DFEEFF" />
|
||||
<path d="M87 87.9998V100L95.0006 91.9995V79.9999L87 87.9998Z" fill="#DFEEFF" />
|
||||
<path
|
||||
d="M408.025 138.634C407.621 136.765 409.045 135 410.957 135H505.043C506.955 135 508.379 136.765 507.975 138.634L493.705 204.634C493.406 206.015 492.185 207 490.772 207H425.228C423.815 207 422.594 206.015 422.295 204.634L408.025 138.634Z"
|
||||
fill="white" stroke="#AEB7C2" stroke-width="2" />
|
||||
<path
|
||||
d="M469.753 86.7288C473.235 86.7356 477.239 85.8798 480.668 83.2751C484.115 80.6571 486.873 76.3534 487.986 69.6729C488.843 64.5338 490.454 60.6234 492.323 57.9941C494.208 55.3422 496.262 54.1073 497.995 54.0068C499.648 53.911 501.347 54.8347 502.636 57.3137C503.939 59.8175 504.747 63.8084 504.501 69.4651C503.587 90.4884 484.608 104.2 466.612 101.702C465.228 101.51 464.247 100.159 464.428 98.6069C464.809 95.3392 465.064 92.5845 465.23 90.3966C465.382 88.3897 467.476 86.7243 469.753 86.7288Z"
|
||||
fill="#DFEEFF" stroke="#AEB7C2" stroke-width="2" />
|
||||
<path
|
||||
d="M433.165 60.8385C432.041 46.3646 443.483 34 458 34C472.517 34 483.959 46.3647 482.835 60.8385L477.075 135H438.925L433.165 60.8385Z"
|
||||
fill="#DFEEFF" stroke="#AEB7C2" stroke-width="2" />
|
||||
<mask id="mask1_7307_320860" style="mask-type:alpha" x="432" y="33"
|
||||
width="52" height="103">
|
||||
<path
|
||||
d="M433.165 60.8385C432.041 46.3646 443.483 34 458 34C472.517 34 483.959 46.3647 482.835 60.8385L477.075 135H438.925L433.165 60.8385Z"
|
||||
fill="white" stroke="#AEB7C2" stroke-width="2" />
|
||||
</mask>
|
||||
<g mask="url(#mask1_7307_320860)">
|
||||
<path
|
||||
d="M449.165 60.8385C448.041 46.3646 459.483 34 474 34C488.517 34 499.959 46.3647 498.835 60.8385L493.075 135H454.925L449.165 60.8385Z"
|
||||
stroke="#AEB7C2" stroke-width="2" />
|
||||
<path
|
||||
d="M418.165 60.8385C417.041 46.3646 428.483 34 443 34C457.517 34 468.959 46.3647 467.835 60.8385L462.075 135H423.925L418.165 60.8385Z"
|
||||
stroke="#AEB7C2" stroke-width="2" />
|
||||
</g>
|
||||
<path d="M482 52C483.5 52.1667 487 51.6 489 48" stroke="#AEB7C2" stroke-width="2"
|
||||
stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M505 70.1997C506.99 69.5037 511.304 67.7266 512.642 66.1868" stroke="#AEB7C2"
|
||||
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M504 76.5054C505.463 76.2171 509.056 74.8708 511.731 71.7911" stroke="#AEB7C2"
|
||||
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M433.5 69.5C431.5 69 427 67.6 425 66M433 64C430.667 64 425 63 421 59" stroke="#AEB7C2"
|
||||
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path
|
||||
d="M364.12 63.8336L364.12 63.8336L364.129 63.8309C369.484 62.2384 373.414 58.3541 375.953 52.3654C378.517 46.3175 378.603 40.6484 376.087 35.4489C373.672 30.2476 369.249 26.3318 362.949 23.6612C358.648 21.8379 354.5 21.0445 350.517 21.3245L350.517 21.3245L350.51 21.3251C346.59 21.6312 343.138 22.9188 340.184 25.1993C338.905 26.1866 337.759 27.3198 336.746 28.5973C335.422 30.2666 335.265 32.2713 335.909 34.0205C336.545 35.7494 337.958 37.24 339.808 38.0241C341.735 38.8412 343.704 38.6277 345.512 38.0492C347.21 37.5056 348.875 36.6022 350.344 35.8054C350.424 35.762 350.503 35.7189 350.582 35.6762C350.794 35.5612 351.014 35.4576 351.24 35.3655C353.092 34.6614 355.248 34.7683 357.785 35.8437C360.186 36.8616 361.659 38.315 362.365 40.1632L362.369 40.1724L362.372 40.1814C363.136 42.0697 363.071 44.1774 362.054 46.5773C361.341 48.2584 360.444 49.4744 359.393 50.2891C358.351 51.0973 357.106 51.5518 355.619 51.6324C352.496 51.8017 348.425 50.8705 343.358 48.7222C340.661 47.5791 337.553 48.8899 336.49 51.6189L334.298 57.2436C332.894 60.846 334.609 64.9117 338.169 66.4207C341.671 67.9054 345.723 66.3874 347.387 62.9669L347.661 62.404C353.602 64.7601 359.104 65.2735 364.12 63.8336ZM323.865 82.5611L323.873 82.5804L323.881 82.5994C324.896 84.8352 326.668 86.4656 329.108 87.5002C331.497 88.5127 333.849 88.6251 336.107 87.7671L336.117 87.7633L336.127 87.7593C338.395 86.8418 340.03 85.2051 341.005 82.9071C341.977 80.6121 342.008 78.3229 341.059 76.1063C340.134 73.8285 338.431 72.1796 336.034 71.1636C333.582 70.1243 331.159 70.0197 328.821 70.9102C326.563 71.7683 324.935 73.3833 323.961 75.6817C322.987 77.9797 322.947 80.2931 323.865 82.5611Z"
|
||||
fill="#DFEEFF" stroke="#AEB7C2" stroke-width="2" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -176,6 +176,7 @@ class ImagePaths {
|
||||
String get icQuotasWarning => _getImagePath('ic_quotas_warning.svg');
|
||||
String get icQuotasOutOfStorage => _getImagePath('ic_quotas_out_of_storage.svg');
|
||||
String get icQuickCreatingRule => _getImagePath('ic_quick_creating_rule.svg');
|
||||
String get icPageNotFound => _getImagePath('ic_page_not_found.svg');
|
||||
|
||||
String _getImagePath(String imageName) {
|
||||
return AssetsPaths.images + imageName;
|
||||
|
||||
@@ -439,6 +439,7 @@ class MailboxController extends BaseMailboxController {
|
||||
_clearNavigationRouter();
|
||||
} else {
|
||||
_clearNavigationRouter();
|
||||
pushAndPop(AppRoutes.unknownRoutePage);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -160,6 +160,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
} else if (failure is GetEmailByIdFailure) {
|
||||
openingEmail.value = false;
|
||||
_navigationRouter = null;
|
||||
pushAndPop(AppRoutes.unknownRoutePage);
|
||||
}
|
||||
},
|
||||
(success) {
|
||||
|
||||
@@ -11,7 +11,6 @@ import 'package:model/mailbox/select_mode.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/mixin/base_email_item_tile.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:url_launcher/link.dart';
|
||||
|
||||
class EmailTileBuilder with BaseEmailItemTile {
|
||||
|
||||
@@ -82,10 +81,7 @@ class EmailTileBuilder with BaseEmailItemTile {
|
||||
padding: _getPaddingItem(),
|
||||
decoration: _getDecorationItem(),
|
||||
alignment: Alignment.center,
|
||||
child: Link(
|
||||
uri: _presentationEmail.routeWeb,
|
||||
builder: (_, __) => tile
|
||||
)
|
||||
child: tile
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class UnknownRoutePageView extends StatelessWidget {
|
||||
|
||||
static const double maxWidthTextDefault = 440.0;
|
||||
|
||||
final _imagePath = Get.find<ImagePaths>();
|
||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
|
||||
UnknownRoutePageView({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
||||
return Scaffold(
|
||||
backgroundColor: Colors.white,
|
||||
body: Center(
|
||||
child: SingleChildScrollView(
|
||||
child: Column(mainAxisSize: MainAxisSize.min, children: [
|
||||
SvgPicture.asset(_imagePath.icPageNotFound),
|
||||
const SizedBox(height: 48),
|
||||
Container(
|
||||
color: Colors.white,
|
||||
padding: _getPaddingTitle(context),
|
||||
constraints: BoxConstraints(maxWidth: _getMaxWidthTitle(context)),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Text(
|
||||
AppLocalizations.of(context).titlePageNotFound,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w500,
|
||||
color: Colors.black,
|
||||
fontSize: _getFontSizeTitle(context)
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
Text(
|
||||
AppLocalizations.of(context).subTitlePageNotFound,
|
||||
textAlign: TextAlign.center,
|
||||
style: const TextStyle(
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColor.colorSettingExplanation,
|
||||
fontSize: 16
|
||||
),
|
||||
)
|
||||
]
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 48)
|
||||
]),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
double _getMaxWidthTitle(BuildContext context) {
|
||||
final widthScreen = _responsiveUtils.getSizeScreenWidth(context);
|
||||
if (widthScreen > maxWidthTextDefault) {
|
||||
return maxWidthTextDefault;
|
||||
} else {
|
||||
return widthScreen;
|
||||
}
|
||||
}
|
||||
|
||||
EdgeInsets _getPaddingTitle(BuildContext context) {
|
||||
if (_responsiveUtils.isPortraitMobile(context)) {
|
||||
return const EdgeInsets.symmetric(horizontal: 30);
|
||||
} else {
|
||||
return EdgeInsets.zero;
|
||||
}
|
||||
}
|
||||
|
||||
double _getFontSizeTitle(BuildContext context) {
|
||||
if (_responsiveUtils.isPortraitMobile(context)) {
|
||||
return 20.0;
|
||||
} else {
|
||||
return 24.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"@@last_modified": "2022-11-11T04:08:42.994169",
|
||||
"@@last_modified": "2022-11-11T02:15:40.658946",
|
||||
"initializing_data": "Initializing data...",
|
||||
"@initializing_data": {
|
||||
"type": "text",
|
||||
@@ -2503,5 +2503,23 @@
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"titlePageNotFound": "Oops, we can’t find that page",
|
||||
"@titlePageNotFound": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"subTitlePageNotFound": "It is possible that your destination page has disappeared or belongs to another account.",
|
||||
"@subTitlePageNotFound": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"page404": "Page 404",
|
||||
"@page404": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
+8
-1
@@ -57,7 +57,14 @@ class TMailApp extends StatelessWidget {
|
||||
locale: LocalizationService.locale,
|
||||
fallbackLocale: LocalizationService.fallbackLocale,
|
||||
translations: LocalizationService(),
|
||||
onGenerateTitle: (context) => AppLocalizations.of(context).page_name,
|
||||
onGenerateTitle: (context) {
|
||||
if (Get.currentRoute == AppRoutes.unknownRoutePage) {
|
||||
return AppLocalizations.of(context).page404;
|
||||
} else {
|
||||
return AppLocalizations.of(context).page_name;
|
||||
}
|
||||
},
|
||||
unknownRoute: AppPages.unknownRoutePage,
|
||||
defaultTransition: Transition.fade,
|
||||
initialRoute: AppRoutes.home,
|
||||
getPages: AppPages.pages);
|
||||
|
||||
@@ -2569,4 +2569,22 @@ class AppLocalizations {
|
||||
'Create a rule with this email',
|
||||
name: 'quickCreatingRule');
|
||||
}
|
||||
|
||||
String get titlePageNotFound {
|
||||
return Intl.message(
|
||||
'Oops, we can’t find that page',
|
||||
name: 'titlePageNotFound');
|
||||
}
|
||||
|
||||
String get subTitlePageNotFound {
|
||||
return Intl.message(
|
||||
'It is possible that your destination page has disappeared or belongs to another account.',
|
||||
name: 'subTitlePageNotFound');
|
||||
}
|
||||
|
||||
String get page404 {
|
||||
return Intl.message(
|
||||
'Page 404',
|
||||
name: 'page404');
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/manage_accoun
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_view.dart' deferred as manage_account_dashboard;
|
||||
import 'package:tmail_ui_user/features/session/presentation/session_page_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/session/presentation/session_view.dart' deferred as session;
|
||||
import 'package:tmail_ui_user/features/unknown_route_page/unknown_route_page_view.dart';
|
||||
import 'package:tmail_ui_user/main/pages/deferred_widget.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
|
||||
@@ -60,6 +61,7 @@ class AppPages {
|
||||
manage_account_dashboard.loadLibrary,
|
||||
() => manage_account_dashboard.ManageAccountDashBoardView()),
|
||||
binding: ManageAccountDashBoardBindings()),
|
||||
unknownRoutePage,
|
||||
if (!BuildUtils.isWeb)
|
||||
...[
|
||||
GetPage(
|
||||
@@ -106,4 +108,9 @@ class AppPages {
|
||||
binding: RulesFilterCreatorBindings())
|
||||
]
|
||||
];
|
||||
|
||||
static final unknownRoutePage = GetPage(
|
||||
name: AppRoutes.unknownRoutePage,
|
||||
page: () => UnknownRoutePageView(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -12,4 +12,5 @@ abstract class AppRoutes {
|
||||
static const identityCreator = '/identity_creator';
|
||||
static const rulesFilterCreator = '/rules_filter_creator';
|
||||
static const emailsForwardCreator = '/emails_forward_creator';
|
||||
static const unknownRoutePage = '/notfound';
|
||||
}
|
||||
Reference in New Issue
Block a user