# sova-adminpanel: React admin React + Vite admin panel для CRUD контента и специалистов. **Файлов:** 129 ## `sova-adminpanel/` | Файл | Назначение | |------|------------| | `sova-adminpanel/.gitignore` | Git ignore rules | | `sova-adminpanel/Dockerfile` | Docker multistage build | | `sova-adminpanel/README.md` | Главный README k3s-test | | `sova-adminpanel/babel.config.js` | JavaScript | | `sova-adminpanel/eslint.config.js` | JavaScript | | `sova-adminpanel/index.html` | HTML entry (Vite/React) | | `sova-adminpanel/jest.config.js` | JavaScript | | `sova-adminpanel/jest.setup.js` | JavaScript | | `sova-adminpanel/package.json` | NPM/Yarn зависимости и scripts | | `sova-adminpanel/vite.config.js` | Vite bundler конфиг | ## `sova-adminpanel/.gitea/workflows/` | Файл | Назначение | |------|------------| | `sova-adminpanel/.gitea/workflows/build.yml` | Gitea Actions CI pipeline | ## `sova-adminpanel/docker/` | Файл | Назначение | |------|------------| | `sova-adminpanel/docker/entrypoint.sh` | Container entrypoint (env injection) | | `sova-adminpanel/docker/nginx.conf` | nginx конфиг контейнера | ## `sova-adminpanel/public/` | Файл | Назначение | |------|------------| | `sova-adminpanel/public/env.js` | Runtime API URL (adminpanel) | | `sova-adminpanel/public/robots.txt` | Файл проекта | ## `sova-adminpanel/src/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/App.jsx` | React-компонент | | `sova-adminpanel/src/main.jsx` | React-компонент | ## `sova-adminpanel/src/api/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/api/apiArticle.js` | RTK Query API slice: apiArticle | | `sova-adminpanel/src/api/apiCertificate.js` | RTK Query API slice: apiCertificate | | `sova-adminpanel/src/api/apiContent.js` | RTK Query API slice: apiContent | | `sova-adminpanel/src/api/apiDepartment.js` | RTK Query API slice: apiDepartment | | `sova-adminpanel/src/api/apiDisease.js` | RTK Query API slice: apiDisease | | `sova-adminpanel/src/api/apiFilial.js` | RTK Query API slice: apiFilial | | `sova-adminpanel/src/api/apiIDoctor.js` | RTK Query API slice: apiIDoctor | | `sova-adminpanel/src/api/apiKodoper.js` | RTK Query API slice: apiKodoper | | `sova-adminpanel/src/api/apiLocation.js` | RTK Query API slice: apiLocation | | `sova-adminpanel/src/api/apiMedicalCenter.js` | RTK Query API slice: apiMedicalCenter | | `sova-adminpanel/src/api/apiNews.js` | RTK Query API slice: apiNews | | `sova-adminpanel/src/api/apiSitePromo.js` | RTK Query API slice: apiSitePromo | | `sova-adminpanel/src/api/apiSiteServices.js` | RTK Query API slice: apiSiteServices | | `sova-adminpanel/src/api/apiSlice.js` | RTK Query API slice: apiSlice | | `sova-adminpanel/src/api/apiSpecialist.js` | RTK Query API slice: apiSpecialist | | `sova-adminpanel/src/api/apiStock.js` | RTK Query API slice: apiStock | ## `sova-adminpanel/src/assets/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/assets/icon.png` | PNG-изображение | | `sova-adminpanel/src/assets/image-placeholder.png` | PNG-изображение | | `sova-adminpanel/src/assets/logo.png` | PNG-изображение | | `sova-adminpanel/src/assets/photo-placeholder.png` | PNG-изображение | | `sova-adminpanel/src/assets/video-placeholder.png` | PNG-изображение | ## `sova-adminpanel/src/components/Button/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Button/Button.jsx` | React component: Button | | `sova-adminpanel/src/components/Button/Button.module.scss` | SCSS-стили | ## `sova-adminpanel/src/components/Docs/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Docs/Certificates.jsx` | React component: Certificates | | `sova-adminpanel/src/components/Docs/Portfolio.jsx` | React component: Portfolio | | `sova-adminpanel/src/components/Docs/Stocks.jsx` | React component: Stocks | ## `sova-adminpanel/src/components/Editors/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Editors/CertEditor.jsx` | React component: CertEditor | | `sova-adminpanel/src/components/Editors/TextEditor.jsx` | React component: TextEditor | ## `sova-adminpanel/src/components/Forms/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Forms/EditElementForm.jsx` | React component: EditElementForm | ## `sova-adminpanel/src/components/Input/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Input/Input.jsx` | React component: Input | | `sova-adminpanel/src/components/Input/PhoneInput.jsx` | React component: PhoneInput | | `sova-adminpanel/src/components/Input/TagKodoperStatic.jsx` | React component: TagKodoperStatic | | `sova-adminpanel/src/components/Input/TagStaticInput.jsx` | React component: TagStaticInput | | `sova-adminpanel/src/components/Input/Taginput.jsx` | React component: Taginput | ## `sova-adminpanel/src/components/Modals/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Modals/DcodeModal.jsx` | React component: DcodeModal | | `sova-adminpanel/src/components/Modals/KodoperModal.jsx` | React component: KodoperModal | | `sova-adminpanel/src/components/Modals/Modal.jsx` | React component: Modal | | `sova-adminpanel/src/components/Modals/ResponseModals.jsx` | React component: ResponseModals | | `sova-adminpanel/src/components/Modals/StockModal.jsx` | React component: StockModal | ## `sova-adminpanel/src/components/Navbar/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Navbar/Navbar.jsx` | React component: Navbar | | `sova-adminpanel/src/components/Navbar/Navbar.module.scss` | SCSS-стили | ## `sova-adminpanel/src/components/Paginations/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Paginations/PageNav.jsx` | React component: PageNav | ## `sova-adminpanel/src/components/Placeholders/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Placeholders/ErrorComponent.jsx` | React component: ErrorComponent | | `sova-adminpanel/src/components/Placeholders/LoadingComponent.jsx` | React component: LoadingComponent | | `sova-adminpanel/src/components/Placeholders/NotFindElement.jsx` | React component: NotFindElement | ## `sova-adminpanel/src/components/Sidebar/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Sidebar/Sidebar.jsx` | React component: Sidebar | ## `sova-adminpanel/src/components/SidebarNavItem/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/SidebarNavItem/SidebarNavItem.jsx` | React component: SidebarNavItem | | `sova-adminpanel/src/components/SidebarNavItem/SidebarNavItem.module.scss` | SCSS-стили | ## `sova-adminpanel/src/components/Table/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/Table/FilterBar.jsx` | React component: FilterBar | | `sova-adminpanel/src/components/Table/TBody.jsx` | React component: TBody | | `sova-adminpanel/src/components/Table/THead.jsx` | React component: THead | ## `sova-adminpanel/src/components/UserBurger/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/components/UserBurger/UserBurger.jsx` | React component: UserBurger | ## `sova-adminpanel/src/config/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/config/api.js` | JavaScript | | `sova-adminpanel/src/config/contentResources.js` | JavaScript | ## `sova-adminpanel/src/hooks/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/hooks/useLostLocations.jsx` | React hook: useLostLocations | | `sova-adminpanel/src/hooks/useNewSpecialistId.jsx` | React hook: useNewSpecialistId | | `sova-adminpanel/src/hooks/useOutsideClick.jsx` | React hook: useOutsideClick | | `sova-adminpanel/src/hooks/useSortedPaginated.jsx` | React hook: useSortedPaginated | | `sova-adminpanel/src/hooks/useSorting.jsx` | React hook: useSorting | | `sova-adminpanel/src/hooks/useSpecialist.jsx` | React hook: useSpecialist | | `sova-adminpanel/src/hooks/useSpecialistFilter.jsx` | React hook: useSpecialistFilter | ## `sova-adminpanel/src/pages/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/pages/AddArticlePage.jsx` | React page: AddArticlePage | | `sova-adminpanel/src/pages/AddDiseasePage.jsx` | React page: AddDiseasePage | | `sova-adminpanel/src/pages/AddMedicalCenterPage.jsx` | React page: AddMedicalCenterPage | | `sova-adminpanel/src/pages/AddNewsPage.jsx` | React page: AddNewsPage | | `sova-adminpanel/src/pages/AddSitePromoPage.jsx` | React page: AddSitePromoPage | | `sova-adminpanel/src/pages/AddSiteServicesPage.jsx` | React page: AddSiteServicesPage | | `sova-adminpanel/src/pages/AddSpecialistPage.jsx` | React page: AddSpecialistPage | | `sova-adminpanel/src/pages/AddStockPage.jsx` | React page: AddStockPage | | `sova-adminpanel/src/pages/ArticleListPage.jsx` | React page: ArticleListPage | | `sova-adminpanel/src/pages/DepartmentsListPage.jsx` | React page: DepartmentsListPage | | `sova-adminpanel/src/pages/DiseaseListPage.jsx` | React page: DiseaseListPage | | `sova-adminpanel/src/pages/EditArticlePage.jsx` | React page: EditArticlePage | | `sova-adminpanel/src/pages/EditDepartmentPage.jsx` | React page: EditDepartmentPage | | `sova-adminpanel/src/pages/EditDiseasePage.jsx` | React page: EditDiseasePage | | `sova-adminpanel/src/pages/EditFilialPage.jsx` | React page: EditFilialPage | | `sova-adminpanel/src/pages/EditMedicalCenterPage.jsx` | React page: EditMedicalCenterPage | | `sova-adminpanel/src/pages/EditNewsPage.jsx` | React page: EditNewsPage | | `sova-adminpanel/src/pages/EditSitePromoPage.jsx` | React page: EditSitePromoPage | | `sova-adminpanel/src/pages/EditSiteServicesPage.jsx` | React page: EditSiteServicesPage | | `sova-adminpanel/src/pages/EditSpecialistPage.jsx` | React page: EditSpecialistPage | | `sova-adminpanel/src/pages/EditStockPage.jsx` | React page: EditStockPage | | `sova-adminpanel/src/pages/FilialsListPage.jsx` | React page: FilialsListPage | | `sova-adminpanel/src/pages/HomePage.jsx` | React page: HomePage | | `sova-adminpanel/src/pages/InfoclinicListPage.jsx` | React page: InfoclinicListPage | | `sova-adminpanel/src/pages/LoginPage.jsx` | React page: LoginPage | | `sova-adminpanel/src/pages/LostDoctorsPage.jsx` | React page: LostDoctorsPage | | `sova-adminpanel/src/pages/MainPage.jsx` | React page: MainPage | | `sova-adminpanel/src/pages/MedicalCenterListPage.jsx` | React page: MedicalCenterListPage | | `sova-adminpanel/src/pages/NewsListPage.jsx` | React page: NewsListPage | | `sova-adminpanel/src/pages/NotFoundPage.jsx` | React page: NotFoundPage | | `sova-adminpanel/src/pages/PricesListPage.jsx` | React page: PricesListPage | | `sova-adminpanel/src/pages/SitePromoListPage.jsx` | React page: SitePromoListPage | | `sova-adminpanel/src/pages/SiteServicesListPage.jsx` | React page: SiteServicesListPage | | `sova-adminpanel/src/pages/SpecialistListPage.jsx` | React page: SpecialistListPage | | `sova-adminpanel/src/pages/SpecialistTable.jsx` | React page: SpecialistTable | | `sova-adminpanel/src/pages/StoksListPage.jsx` | React page: StoksListPage | | `sova-adminpanel/src/pages/UserPage.jsx` | React page: UserPage | ## `sova-adminpanel/src/pages/__test__/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/pages/__test__/LoginPage.test.jsx` | React page: LoginPage.test | ## `sova-adminpanel/src/pages/content/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/pages/content/ContentEditPage.jsx` | React page: ContentEditPage | | `sova-adminpanel/src/pages/content/ContentListPage.jsx` | React page: ContentListPage | | `sova-adminpanel/src/pages/content/index.jsx` | React page: index | ## `sova-adminpanel/src/routes/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/routes/ProtectedRoute.jsx` | React-компонент | ## `sova-adminpanel/src/routes/__test__/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/routes/__test__/ProtectedRoute.test.js` | JavaScript | ## `sova-adminpanel/src/store/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/store/store.js` | JavaScript | ## `sova-adminpanel/src/store/slice/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/store/slice/authSlice.js` | JavaScript | | `sova-adminpanel/src/store/slice/regionSlice.js` | JavaScript | | `sova-adminpanel/src/store/slice/utilsSlice.js` | JavaScript | ## `sova-adminpanel/src/store/slice/__test__/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/store/slice/__test__/authSlice.test.js` | JavaScript | ## `sova-adminpanel/src/styles/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/styles/_colors.scss` | SCSS-стили | | `sova-adminpanel/src/styles/theme-override.scss` | SCSS-стили | ## `sova-adminpanel/src/utils/` | Файл | Назначение | |------|------------| | `sova-adminpanel/src/utils/parseSaveError.js` | JavaScript |