From b53fe27b1e705fa48e111925e4b26712561f6e65 Mon Sep 17 00:00:00 2001 From: IRBorisov <8611739+IRBorisov@users.noreply.github.com> Date: Tue, 5 Sep 2023 00:23:53 +0300 Subject: [PATCH] Refactor navigation --- rsconcept/frontend/src/App.tsx | 26 +++++--- .../frontend/src/components/Help/HelpMain.tsx | 10 ++-- .../src/components/Navigation/Navigation.tsx | 11 ++-- .../components/Navigation/UserDropdown.tsx | 11 ++-- .../src/components/Navigation/UserMenu.tsx | 7 +-- .../src/context/NagivationContext.tsx | 60 +++++++++++++++++++ .../frontend/src/context/ThemeContext.tsx | 11 +++- rsconcept/frontend/src/index.css | 2 +- .../frontend/src/pages/CreateRSFormPage.tsx | 11 ++-- rsconcept/frontend/src/pages/HomePage.tsx | 10 ++-- .../src/pages/LibraryPage/SearchPanel.tsx | 15 ++--- .../src/pages/LibraryPage/ViewLibrary.tsx | 8 +-- .../frontend/src/pages/LibraryPage/index.tsx | 10 +++- rsconcept/frontend/src/pages/LoginPage.tsx | 9 +-- .../frontend/src/pages/ManualsPage/index.tsx | 17 +++--- .../src/pages/RSFormPage/DlgCloneRSForm.tsx | 6 +- .../src/pages/RSFormPage/EditorItems.tsx | 2 +- .../frontend/src/pages/RSFormPage/RSTabs.tsx | 35 +++++------ rsconcept/frontend/src/pages/RegisterPage.tsx | 11 ++-- .../pages/UserProfilePage/EditorPassword.tsx | 6 +- .../UserProfilePage/ViewSubscriptions.tsx | 6 +- rsconcept/frontend/src/utils/constants.ts | 4 ++ 22 files changed, 190 insertions(+), 98 deletions(-) create mode 100644 rsconcept/frontend/src/context/NagivationContext.tsx diff --git a/rsconcept/frontend/src/App.tsx b/rsconcept/frontend/src/App.tsx index 86cd5156..cebdf2d5 100644 --- a/rsconcept/frontend/src/App.tsx +++ b/rsconcept/frontend/src/App.tsx @@ -3,6 +3,7 @@ import { createBrowserRouter, Outlet, RouterProvider } from 'react-router-dom'; import ConceptToaster from './components/ConceptToaster'; import Footer from './components/Footer'; import Navigation from './components/Navigation/Navigation'; +import { NavigationState } from './context/NagivationContext'; import { useConceptTheme } from './context/ThemeContext'; import CreateRSFormPage from './pages/CreateRSFormPage'; import HomePage from './pages/HomePage'; @@ -14,25 +15,36 @@ import RegisterPage from './pages/RegisterPage'; import RestorePasswordPage from './pages/RestorePasswordPage'; import RSFormPage from './pages/RSFormPage'; import UserProfilePage from './pages/UserProfilePage'; +import { globalIDs } from './utils/constants'; function Root() { - const { noNavigation, noFooter, viewportHeight, mainHeight } = useConceptTheme(); + const { noNavigation, noFooter, viewportHeight, mainHeight, showScroll } = useConceptTheme(); return ( +
- + -
-
- -
- {!noNavigation && !noFooter &&
} + + +
+
+ +
+ {!noNavigation && !noFooter &&
}
+ ); } diff --git a/rsconcept/frontend/src/components/Help/HelpMain.tsx b/rsconcept/frontend/src/components/Help/HelpMain.tsx index 44f3e517..536f20ab 100644 --- a/rsconcept/frontend/src/components/Help/HelpMain.tsx +++ b/rsconcept/frontend/src/components/Help/HelpMain.tsx @@ -6,17 +6,17 @@ function HelpMain() { return (

Портал

-

Портал позволяет анализировать предметные области, формально записывать системы определений (концептуальные схемы) и синтезировать их с помощью математического аппарата родов структур.

-

Навигация по порталу осуществляется верхнюю панель или ссылки в "подвале" страницы. Их можно скрыть с помощью кнопки в правом верхнем углу.

-

В меню пользователя (правый верхний угол) доступно редактирование данных пользователя и изменение цветовой темы.

+

Портал позволяет анализировать предметные области, формально записывать системы определений (концептуальные схемы) и синтезировать их с помощью математического аппарата родов структур.

+

Навигация по порталу осуществляется верхнюю панель или ссылки в "подвале" страницы. Их можно скрыть с помощью кнопки в правом верхнем углу.

+

В меню пользователя (правый верхний угол) доступно редактирование данных пользователя и изменение цветовой темы.

Основные разделы

  • - все схемы доступные пользователю
  • - общедоступные схемы и инструменты поиска и навигации по ним
  • - отслеживаемые и редактируемые схемы. Основной рабочий раздел
  • - данные пользователя и смена пароля
  • Поддержка

    -

    Портал разрабатывается и является проектом с открытым исходным кодом, доступным на .

    -

    Ждём Ваши пожелания по доработке, найденные ошибки и иные предложения по адресу

    +

    Портал разрабатывается и является проектом с открытым исходным кодом, доступным на .

    +

    Ждём Ваши пожелания по доработке, найденные ошибки и иные предложения по адресу

    ); diff --git a/rsconcept/frontend/src/components/Navigation/Navigation.tsx b/rsconcept/frontend/src/components/Navigation/Navigation.tsx index b49e0618..7508c4ae 100644 --- a/rsconcept/frontend/src/components/Navigation/Navigation.tsx +++ b/rsconcept/frontend/src/components/Navigation/Navigation.tsx @@ -1,5 +1,4 @@ -import { useNavigate } from 'react-router-dom'; - +import { useConceptNavigation } from '../../context/NagivationContext'; import { useConceptTheme } from '../../context/ThemeContext'; import { EducationIcon, LibraryIcon, PlusIcon } from '../Icons'; import Logo from './Logo' @@ -7,12 +6,12 @@ import NavigationButton from './NavigationButton'; import UserMenu from './UserMenu'; function Navigation () { - const navigate = useNavigate(); + const { navigateTo } = useConceptNavigation(); const { noNavigation, toggleNoNavigation } = useConceptTheme(); - const navigateLibrary = () => navigate('/library'); - const navigateHelp = () => navigate('/manuals'); - const navigateCreateNew = () => navigate('/rsform-create'); + const navigateLibrary = () => navigateTo('/library'); + const navigateHelp = () => navigateTo('/manuals'); + const navigateCreateNew = () => navigateTo('/rsform-create'); return (