From c4f60ca3d2a876200e83ba9c3424f94e2a064863 Mon Sep 17 00:00:00 2001 From: MaryWylde Date: Mon, 22 Dec 2025 16:19:12 +0400 Subject: [PATCH 1/2] chore: remove tags from uxcat pages and improved logic of active pathname --- src/components/ToolHeader/ToolHeader.tsx | 12 +++++++++--- src/pages/uxcat/ongoing.tsx | 7 +------ src/pages/uxcat/start-test.tsx | 6 +----- src/pages/uxcat/test-result.tsx | 3 --- 4 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/components/ToolHeader/ToolHeader.tsx b/src/components/ToolHeader/ToolHeader.tsx index ef976cd..4fa10a7 100644 --- a/src/components/ToolHeader/ToolHeader.tsx +++ b/src/components/ToolHeader/ToolHeader.tsx @@ -80,14 +80,14 @@ const ToolHeader: FC = ({ const router = useRouter(); const { locale, asPath } = router as TRouter; - const pathname = usePathname(); + const pathname = usePathname() ?? ''; const { isMobile } = useMobile()[1]; const [, { isCoreView }] = useUXCoreGlobals(); const { accountData, setAccountData, ourProjectsModalData } = useContext(GlobalContext); const isActive = (pathname: string, href: string) => - pathname === href || (href !== '/' && pathname.startsWith(href + '/')); + pathname === href || (href !== '/' && pathname?.startsWith(href + '/')); const imageSrc = useMemo(() => accountData?.picture, [accountData]); const [showDropdown, setShowDropdown] = useState(false); @@ -143,10 +143,16 @@ const ToolHeader: FC = ({ const title = changedTitle ? userInfo?.title : userInfo?.user?.title; + const normalizedPath = pathname.replace(/\/+$/, ''); + const pathnameWithBypass = /^\/uxcp$/i.test(normalizedPath) + ? '/uxcp/' + : normalizedPath; + const path = pathnameWithBypass.replace(/\/+$/, ''); + const getActiveFromPath = (pathname: string) => { if (pathname.includes('/uxcore')) return 'uxcore'; if (pathname.includes('/uxcg')) return 'uxcg'; - if (pathname.includes('/uxcp')) return 'uxcp'; + if (path.includes('/uxcp')) return 'uxcp'; if (pathname.includes('/uxcat') || pathname.includes('/user')) return 'uxcat'; return null; diff --git a/src/pages/uxcat/ongoing.tsx b/src/pages/uxcat/ongoing.tsx index 34b521a..e88015f 100644 --- a/src/pages/uxcat/ongoing.tsx +++ b/src/pages/uxcat/ongoing.tsx @@ -7,12 +7,10 @@ import SeoGenerator from '@components/SeoGenerator'; import OngoingLayout from 'src/layouts/OngoingLayout'; import { TRouter } from '@local-types/global'; -import { TagType } from '@local-types/data'; import { UXCatDataTypes } from '@local-types/uxcat-types/types'; import { getUXCatStartTest } from '@api/uxcat/start-test'; import { getUserInfo } from '@api/uxcat/users-me'; -import { getTags } from '@api/tags'; import { UXCatConfigs } from '@api/uxcat/configs'; import { getFinalTest } from '@api/uxcat/final-test'; import { getUXCatData } from '@api/uxcat/uxcat'; @@ -22,14 +20,13 @@ import { achievementSlugs } from '@data/uxcat/ongoingTest/realTimeAchievements'; import styles from '@layouts/OngoingLayout/OngoingLayout.module.scss'; type OngoingProps = { - tags: TagType[]; configs: { testExpirationTime: number; }; uxcatData: UXCatDataTypes; }; -const Ongoing: FC = ({ tags, configs, uxcatData }) => { +const Ongoing: FC = ({ configs, uxcatData }) => { const router = useRouter(); const { locale } = router as TRouter; const currentLocale = locale === 'ru' ? 'ru' : 'en'; @@ -192,10 +189,8 @@ export async function getServerSideProps() { }; } - const tags = getTags(); return { props: { - tags, configs, uxcatData, }, diff --git a/src/pages/uxcat/start-test.tsx b/src/pages/uxcat/start-test.tsx index a69e977..8780b34 100644 --- a/src/pages/uxcat/start-test.tsx +++ b/src/pages/uxcat/start-test.tsx @@ -15,18 +15,16 @@ import GenderModal from '@components/GenderModal'; import startTestData from '@data/startTest'; -import { getTags } from '@api/tags'; import { getUXCatData } from '@api/uxcat/uxcat'; import { getUXCatStatistics } from '@api/uxcat/statistics'; import { UXCatConfigs } from '@api/uxcat/configs'; type StartTestProps = { - tags?: TagType[]; uxcatData: UXCatDataTypes; uxcatConfigs: any; }; -const StartTest: FC = ({ tags, uxcatData, uxcatConfigs }) => { +const StartTest: FC = ({ uxcatData, uxcatConfigs }) => { const router = useRouter(); const { locale } = router as TRouter; const currentLocale = locale === 'ru' ? 'ru' : 'en'; @@ -122,13 +120,11 @@ const StartTest: FC = ({ tags, uxcatData, uxcatConfigs }) => { export default StartTest; export const getServerSideProps: GetServerSideProps = async context => { - const tags = getTags(); const uxcatData = await getUXCatData(); const uxcatConfigs = await UXCatConfigs(); return { props: { - tags, uxcatData, uxcatConfigs, }, diff --git a/src/pages/uxcat/test-result.tsx b/src/pages/uxcat/test-result.tsx index a7a00a7..8d62458 100644 --- a/src/pages/uxcat/test-result.tsx +++ b/src/pages/uxcat/test-result.tsx @@ -12,7 +12,6 @@ import { GlobalContext } from '@components/Context/GlobalContext'; import uxcatData from '@data/uxcat'; -import { getTags } from '@api/tags'; import { getUXCatLastTest } from '@api/uxcat/last-test'; import { UXCatConfigs } from '@api/uxcat/configs'; import { getNotifications } from '@api/uxcat/get-notifications'; @@ -442,7 +441,6 @@ const TestResult: FC = ({ export default TestResult; export const getServerSideProps: GetServerSideProps = async context => { - const tags = getTags(); const uxcatStrapiData = await getUXCatData(); const configs = await UXCatConfigs(); @@ -455,7 +453,6 @@ export const getServerSideProps: GetServerSideProps = async context => { return { props: { - tags, uxCatLevels, achievements, uxcatStrapiData, From d107e68b00cec701d03bcd122872667076edf57c Mon Sep 17 00:00:00 2001 From: MaryWylde Date: Mon, 22 Dec 2025 16:24:35 +0400 Subject: [PATCH 2/2] chore: remove unused import --- src/pages/uxcat/start-test.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/uxcat/start-test.tsx b/src/pages/uxcat/start-test.tsx index 8780b34..59c24cf 100644 --- a/src/pages/uxcat/start-test.tsx +++ b/src/pages/uxcat/start-test.tsx @@ -3,7 +3,6 @@ import { useRouter } from 'next/router'; import { GetServerSideProps } from 'next'; import { TRouter } from '@local-types/global'; -import { TagType } from '@local-types/data'; import { UXCatDataTypes } from '@local-types/uxcat-types/types'; import StartTestLayout from '@layouts/StartTestLayout';