diff --git a/js/components/error_not_found_page.js b/js/components/error_not_found_page.js new file mode 100644 index 00000000..61f83196 --- /dev/null +++ b/js/components/error_not_found_page.js @@ -0,0 +1,25 @@ +'use strict'; + +import React from 'react'; + +import { getLangText } from '../utils/lang_utils'; + + +let ErrorNotFoundPage = React.createClass({ + render() { + return ( +
+
+
+

404

+

+ {getLangText('Ups, the page you are looking for does not exist.')} +

+
+
+
+ ); + } +}); + +export default ErrorNotFoundPage; \ No newline at end of file diff --git a/js/components/whitelabel/prize/prize_routes.js b/js/components/whitelabel/prize/prize_routes.js index d3031774..7ca132e2 100644 --- a/js/components/whitelabel/prize/prize_routes.js +++ b/js/components/whitelabel/prize/prize_routes.js @@ -14,11 +14,13 @@ import PrizePieceContainer from './components/ascribe_detail/prize_piece_contain import EditionContainer from '../../ascribe_detail/edition_container'; import SettingsContainer from './components/prize_settings_container'; import CoaVerifyContainer from '../../../components/coa_verify_container'; +import ErrorNotFoundPage from '../../../components/error_not_found_page'; import App from './prize_app'; import AppConstants from '../../../constants/application_constants'; let Route = Router.Route; +let NotFoundRoute = Router.NotFoundRoute; let baseUrl = AppConstants.baseUrl; @@ -36,6 +38,7 @@ function getRoutes() { + ); } diff --git a/js/components/whitelabel/wallet/wallet_routes.js b/js/components/whitelabel/wallet/wallet_routes.js index 4aad0ae0..7097a88b 100644 --- a/js/components/whitelabel/wallet/wallet_routes.js +++ b/js/components/whitelabel/wallet/wallet_routes.js @@ -14,6 +14,7 @@ import PieceContainer from '../../../components/ascribe_detail/piece_container'; import EditionContainer from '../../../components/ascribe_detail/edition_container'; import SettingsContainer from '../../../components/ascribe_settings/settings_container'; import ContractSettings from '../../../components/ascribe_settings/contract_settings'; +import ErrorNotFoundPage from '../../../components/error_not_found_page'; import CylandLanding from './components/cyland/cyland_landing'; import CylandPieceContainer from './components/cyland/ascribe_detail/cyland_piece_container'; @@ -33,6 +34,7 @@ import WalletApp from './wallet_app'; import AppConstants from '../../../constants/application_constants'; let Route = Router.Route; +let NotFoundRoute = Router.NotFoundRoute; let Redirect = Router.Redirect; let baseUrl = AppConstants.baseUrl; @@ -52,6 +54,7 @@ let ROUTES = { + ), 'cc': ( @@ -68,6 +71,7 @@ let ROUTES = { + ), 'ikonotv': ( @@ -86,6 +90,7 @@ let ROUTES = { + ) }; diff --git a/js/routes.js b/js/routes.js index 1366f205..a8b024d4 100644 --- a/js/routes.js +++ b/js/routes.js @@ -21,11 +21,14 @@ import ContractSettings from './components/ascribe_settings/contract_settings'; import SettingsContainer from './components/ascribe_settings/settings_container'; import CoaVerifyContainer from './components/coa_verify_container'; +import ErrorNotFoundPage from './components/error_not_found_page'; + import RegisterPiece from './components/register_piece'; import AppConstants from './constants/application_constants'; let Route = Router.Route; +let NotFoundRoute = Router.NotFoundRoute; let Redirect = Router.Redirect; let baseUrl = AppConstants.baseUrl; @@ -45,6 +48,7 @@ const COMMON_ROUTES = ( + ); diff --git a/sass/main.scss b/sass/main.scss index 1e56c7ed..d5fef084 100644 --- a/sass/main.scss +++ b/sass/main.scss @@ -480,3 +480,20 @@ hr { border-color: #ccc; } } + +.error-wrapper { + width: 100%; + text-align: center; + + padding: 5% 20% 5% 20%; + + > h1 { + font-size: 10em; + font-weight: 600; + margin-bottom: .25em; + } + + > p { + font-size: 2em; + } +} \ No newline at end of file