diff --git a/.idea/workspace.xml b/.idea/workspace.xml index abe74a2..13b0887 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,19 +5,12 @@ - - - - - - + + + + - - - - - - @@ -33,8 +26,8 @@ @@ -76,10 +69,10 @@ "node.js.selected.package.tslint": "(autodetect)", "nodejs_package_manager_path": "npm", "npm.Next.js: server-side.executor": "Run", - "prettierjs.PrettierConfiguration.Package": "C:\\dev-projects\\ocenka-web\\node_modules\\prettier", + "prettierjs.PrettierConfiguration.Package": "C:\\dev-personal\\ocenka-web\\node_modules\\prettier", "settings.editor.selected.configurable": "terminal", "to.speed.mode.migration.done": "true", - "ts.external.directory.path": "C:\\dev-projects\\ocenka-web\\node_modules\\typescript\\lib", + "ts.external.directory.path": "C:\\dev-personal\\ocenka-web\\node_modules\\typescript\\lib", "vue.rearranger.settings.migration": "true" } }]]> @@ -142,6 +135,7 @@ + diff --git a/public/images/404.png b/public/images/404.png new file mode 100644 index 0000000..3c8b111 Binary files /dev/null and b/public/images/404.png differ diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 0000000..6849a2d --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,11 @@ +import { NotFound } from '@/views'; +import { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Ошибка 404 - страница не найдена', + description: 'Вы попали на несуществующую страницу', +}; + +export default function Page() { + return ; +} diff --git a/src/views/index.ts b/src/views/index.ts index ed4a19a..1880c85 100644 --- a/src/views/index.ts +++ b/src/views/index.ts @@ -5,6 +5,7 @@ export * from './privacy-policy'; export * from './cookie'; export * from './user-agreement'; export * from './sitemap'; +export * from './not-found'; //Expertise export * from './expertise/category'; diff --git a/src/views/not-found/index.ts b/src/views/not-found/index.ts new file mode 100644 index 0000000..5ecdd1f --- /dev/null +++ b/src/views/not-found/index.ts @@ -0,0 +1 @@ +export * from './ui'; diff --git a/src/views/not-found/styles.module.scss b/src/views/not-found/styles.module.scss new file mode 100644 index 0000000..f2ff17d --- /dev/null +++ b/src/views/not-found/styles.module.scss @@ -0,0 +1,66 @@ +.Container { + margin: 0 auto; + max-width: rem(1540px); + display: flex; + flex-direction: column; + align-items: center; + gap: rem(40px); + padding: rem(10px); + + @include iftablet { + flex-direction: row; + align-items: center; + padding: rem(20px); + } + + @include iflaptop { + padding: rem(28px); + } + + @include ifdesktop { + padding: rem(40px); + } +} + + +.Image { + flex: 1; + .Img { + width: 100%; + height: auto; + } +} + + +.Info { + flex: 1; + + .Header { + font-family: $font-roboto; + font-weight: 500; + font-size: rem(32px); + line-height: 130%; + color: $color-green; + margin-bottom: rem(40px); + } + + .Text { + font-family: $font-roboto; + font-weight: 300; + font-size: rem(16px); + line-height: 130%; + color: $color-text; + margin-bottom: rem(20px); + + a { + color: $color-green; + } + + a:hover { + color: $color-green-hover; + text-decoration: underline; + } + } +} + + diff --git a/src/views/not-found/ui.tsx b/src/views/not-found/ui.tsx new file mode 100644 index 0000000..19ed27e --- /dev/null +++ b/src/views/not-found/ui.tsx @@ -0,0 +1,34 @@ +import s from './styles.module.scss'; +import Link from 'next/link'; +import { ROUTES } from '@shared/const/route'; +import notFoundImg from '@public/images/404.png'; +import Image from 'next/image'; + +function NotFound() { + return ( + <> +
+
+ {'Страница +
+
+

Вы попали на несуществующую страницу!

+

+ Вы можете вернутся к предыдущему шагу или перейти на главную +

+

+ + Перейти на главную + +

+
+
+ + ); +} + +export { NotFound };