diff --git a/apps/web/constants/page.js b/apps/web/constants/page.js new file mode 100644 index 0000000..622a4a7 --- /dev/null +++ b/apps/web/constants/page.js @@ -0,0 +1,3 @@ +export const PAGE_TITLE = 'Лизинговый калькулятор - Эволюция'; +export const PAGE_DESCRIPTION = + 'Лизинговый калькулятор - Эволюция - Расчет лизинговых платежей - Создание КП'; diff --git a/apps/web/next.config.js b/apps/web/next.config.js index aa95251..ca3cbdc 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -36,6 +36,17 @@ module.exports = withSentryConfig( output: 'standalone', publicRuntimeConfig: publicRuntimeConfigSchema.parse(env), reactStrictMode: true, + + async redirects() { + return [ + { + source: '/admin', + destination: '/admin/cache', + permanent: true, + }, + ]; + }, + async rewrites() { return [ { diff --git a/apps/web/pages/_document.jsx b/apps/web/pages/_document.jsx index b7bf6d4..4a1c9fa 100644 --- a/apps/web/pages/_document.jsx +++ b/apps/web/pages/_document.jsx @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/explicit-member-accessibility */ import { metaFavicon } from '@/config/meta'; import { withBasePath } from '@/config/urls'; +import { PAGE_DESCRIPTION } from '@/constants/page'; import Document, { Head, Html, Main, NextScript } from 'next/document'; import { ServerStyleSheet } from 'styled-components'; import { createCache, doExtraStyle, StyleProvider } from 'ui/tools'; @@ -43,7 +44,7 @@ export default class MyDocument extends Document { - + {metaFavicon} diff --git a/apps/web/pages/admin.jsx b/apps/web/pages/admin/cache.jsx similarity index 94% rename from apps/web/pages/admin.jsx rename to apps/web/pages/admin/cache.jsx index 964b162..56f8820 100644 --- a/apps/web/pages/admin.jsx +++ b/apps/web/pages/admin/cache.jsx @@ -6,6 +6,7 @@ import { Error } from '@/Components/Common/Error'; import { AdminGrid } from '@/Components/Layout/Page'; import { unlimitedRoles } from '@/config/users'; import * as CRMTypes from '@/graphql/crm.types'; +import { getPageTitle } from '@/utils/page'; import { dehydrate, QueryClient } from '@tanstack/react-query'; import Head from 'next/head'; @@ -13,7 +14,7 @@ function Content() { return ( - Панель управления + {getPageTitle('Управление кэшем')} diff --git a/apps/web/pages/index.jsx b/apps/web/pages/index.jsx index 6fdefbf..4290c42 100644 --- a/apps/web/pages/index.jsx +++ b/apps/web/pages/index.jsx @@ -7,6 +7,7 @@ import Output from '@/Components/Output'; import { defaultRoles } from '@/config/users'; import * as CRMTypes from '@/graphql/crm.types'; import * as hooks from '@/process/hooks'; +import { getPageTitle } from '@/utils/page'; import { dehydrate, QueryClient } from '@tanstack/react-query'; import Head from 'next/head'; @@ -19,7 +20,7 @@ function Content() { return ( - Лизинговый калькулятор - Эволюция + {getPageTitle()} diff --git a/apps/web/pages/unlimited.jsx b/apps/web/pages/unlimited.jsx index e6bc64d..98630f8 100644 --- a/apps/web/pages/unlimited.jsx +++ b/apps/web/pages/unlimited.jsx @@ -6,6 +6,7 @@ import Output from '@/Components/Output'; import { unlimitedRoles } from '@/config/users'; import * as hooks from '@/process/hooks'; import { useStore } from '@/stores/hooks'; +import { getPageTitle } from '@/utils/page'; import Head from 'next/head'; function Content() { @@ -21,8 +22,7 @@ function Content() { return ( - Лизинговый калькулятор без ограничений - Эволюция - + {getPageTitle('Без ограничений')} diff --git a/apps/web/public/site.webmanifest b/apps/web/public/site.webmanifest index a08938e..4b5886a 100644 --- a/apps/web/public/site.webmanifest +++ b/apps/web/public/site.webmanifest @@ -1,6 +1,6 @@ { - "name": "Лизинговый калькулятор | Эволюция", - "short_name": "Лизинговый калькулятор | Эволюция", + "name": "Лизинговый калькулятор - Эволюция", + "short_name": "Калькулятор", "start_url": "/", "icons": [ { diff --git a/apps/web/utils/page.tsx b/apps/web/utils/page.tsx new file mode 100644 index 0000000..a6ce041 --- /dev/null +++ b/apps/web/utils/page.tsx @@ -0,0 +1,7 @@ +import { PAGE_TITLE } from '@/constants/page'; + +export function getPageTitle(title?: string) { + if (!title) return PAGE_TITLE; + + return `${title} - ${PAGE_TITLE}`; +}