From ec9923dac8f4da5877c7b9de550fc0079bab25f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Omar=20Luna=20Hern=C3=A1ndez?= <42101656@uaz.edu.mx> Date: Tue, 5 Nov 2024 15:44:27 -0600 Subject: [PATCH 1/3] Reorganizacion de archivos --- web/public/index.html | 5 +- web/public/logotipo.png | Bin 0 -> 12368 bytes web/src/App.tsx | 7 +- .../admin_panel_navbar/admin_navbar.tsx | 173 ------------ .../admin_panel_place_list.tsx | 74 ----- .../admin_panel_poi_list.tsx | 157 ----------- .../admin_panel_poi_register.tsx | 205 -------------- .../admin_panel_poi_screen.tsx | 89 ------ .../admin_panel_poi_viewer.tsx | 176 ------------ .../admin_town_info/admin_town_info.tsx | 119 -------- .../confirmation_dialog.tsx | 40 --- .../image_dropzone/image_dropzone.tsx | 57 ---- .../loading_screen/loading_screen.tsx | 9 - .../multiple_images_dropzone.tsx | 51 ---- .../sa_panel_admin_list.tsx | 149 ---------- .../sa_panel_admin_register.tsx | 158 ----------- .../sa_panel_admin_screen.tsx | 50 ---- .../sa_panel_category_list.tsx | 102 ------- .../sa_panel_category_register.tsx | 60 ---- .../sa_panel_town_register.tsx | 163 ----------- .../sa_panel_town_screen.tsx | 50 ---- .../sidebar_header/sidebar_header.tsx | 18 -- web/src/constants/images_nuber.ts | 1 - web/src/constants/languages.ts | 4 - web/src/constants/roles.ts | 7 - web/src/constants/selected_panel.ts | 11 - web/src/context/auth_context.tsx | 68 ----- web/src/{ => core}/constants/api_routes.ts | 41 ++- web/src/{ => core}/constants/api_url.ts | 3 + web/src/core/constants/images_nuber.ts | 4 + web/src/core/constants/languages.ts | 7 + web/src/core/constants/roles.ts | 17 ++ web/src/core/constants/selected_panel.ts | 17 ++ web/src/core/context/auth_context.tsx | 92 ++++++ .../{ => core}/context/message_context.tsx | 25 +- web/src/core/errors/CustomError.ts | 26 ++ web/src/core/errors/UnautherizedError.ts | 56 ++++ web/src/core/router/login_route.tsx | 15 + web/src/core/router/protected_route.tsx | 26 ++ web/src/core/router/router.tsx | 30 ++ web/src/core/utils/Messages.ts | 36 +++ web/src/data/datasource/admin_datasource.ts | 55 ++++ .../api}/admin_datasource.ts | 49 +++- .../datasource/api/category_datasource.ts | 62 +++++ .../api}/entities/admin_form_values.ts | 13 +- .../data/datasource/api/entities/category.ts | 16 ++ web/src/data/datasource/api/entities/image.ts | 7 + .../api/entities/login_form_values.ts | 7 + .../datasource/api}/entities/place.ts | 27 +- .../datasource/api}/entities/poi.ts | 8 +- .../api}/entities/reset_password_values.ts | 3 + web/src/data/datasource/api/entities/state.ts | 8 + web/src/data/datasource/api/entities/town.ts | 12 + web/src/data/datasource/api/entities/user.ts | 223 +++++++++++++++ .../data/datasource/api/login_datasource.ts | 41 +++ .../data/datasource/api/place_datasource.ts | 128 +++++++++ web/src/data/datasource/api/poi_datasource.ts | 106 +++++++ .../data/datasource/api/town_datasource.ts | 115 ++++++++ .../data/datasource/category_datasource.ts | 26 ++ web/src/data/datasource/login_datasource.ts | 14 + web/src/data/datasource/place_datasource.ts | 34 +++ web/src/data/datasource/poi_datasource.ts | 35 +++ web/src/data/datasource/town_datasource.ts | 41 +++ .../datasources/prod/category_datasource.ts | 45 --- .../data/datasources/prod/login_datasource.ts | 30 -- .../data/datasources/prod/place_datasource.ts | 94 ------- .../data/datasources/prod/poi_datasource.ts | 70 ----- .../data/datasources/prod/town_datasource.ts | 86 ------ web/src/data/models/prod/AdminModel.ts | 8 - web/src/data/models/prod/CategoryModel.ts | 10 - web/src/data/models/prod/LoggedInUserModel.ts | 6 - web/src/data/models/prod/POIModel.ts | 24 -- web/src/data/models/prod/PlaceModel.ts | 55 ---- web/src/data/models/prod/StateModel.ts | 5 - web/src/data/models/prod/TownModel.ts | 16 -- .../repositories/prod/admin_repository.ts | 39 --- .../repositories/prod/category_repository.ts | 21 -- .../repositories/prod/login_repository.ts | 13 - .../repositories/prod/place_repository.ts | 24 -- .../data/repositories/prod/poi_repository.ts | 25 -- .../data/repositories/prod/town_repository.ts | 25 -- web/src/data/repository/admin_repository.ts | 74 +++++ .../data/repository/category_repository.ts | 39 +++ web/src/data/repository/login_repository.ts | 20 ++ web/src/data/repository/place_repository.ts | 46 +++ web/src/data/repository/poi_repository.ts | 47 ++++ web/src/data/repository/town_repository.ts | 56 ++++ web/src/domain/model/AdminModel.ts | 17 ++ web/src/domain/model/CategoryModel.ts | 21 ++ web/src/domain/model/LoggedInUserModel.ts | 24 ++ web/src/domain/model/POIModel.ts | 38 +++ web/src/domain/model/PlaceModel.ts | 77 +++++ web/src/domain/model/StateModel.ts | 11 + web/src/domain/model/TownModel.ts | 33 +++ web/src/domain/repository/admin_repository.ts | 58 ++++ .../domain/repository/category_repository.ts | 29 ++ web/src/domain/repository/login_repository.ts | 14 + web/src/domain/repository/place_repository.ts | 34 +++ web/src/domain/repository/poi_repository.ts | 35 +++ web/src/domain/repository/town_repository.ts | 42 +++ .../useCase/useAdmin.ts} | 27 +- .../domain/useCase/useAdminChangePassword.ts | 106 +++++++ .../useCase/useAdminHomePage.ts} | 49 ++-- .../useCase/useAdminTownInfo.ts} | 5 + web/src/domain/useCase/useCategory.ts | 145 ++++++++++ .../useCase/useDropzoneMultiplesImages.ts | 102 +++++++ web/src/domain/useCase/useGetStatesList.ts | 51 ++++ web/src/domain/useCase/useLogin.ts | 104 +++++++ .../useCase/usePasswordVisibility.ts} | 8 +- .../useCase/usePlace.ts} | 36 ++- .../useCase/usePointOfInterest.ts} | 172 +++++++----- .../useCase}/useResetPassword.ts | 15 +- .../useCase/useSuperadminHomePage.ts} | 46 +-- .../useTown.tsx => domain/useCase/useTown.ts} | 164 ++++++----- web/src/domain/useCase/useUserData.ts | 32 +++ web/src/domain/useCase/useWindowShow.ts | 22 ++ web/src/errors/CustomError.ts | 15 - web/src/errors/UnautherizedError.ts | 31 --- web/src/hooks/useAdminChangePassword.tsx | 88 ------ web/src/hooks/useCategory.tsx | 129 --------- web/src/hooks/useDropzoneMultiplesImages.tsx | 95 ------- web/src/hooks/useGetStatesList.tsx | 44 --- web/src/hooks/useLogin.tsx | 86 ------ web/src/hooks/useUserData.tsx | 21 -- web/src/hooks/useWindowShow.tsx | 12 - .../datasources/admin_datasource.ts | 15 - .../datasources/category_datasource.ts | 7 - .../datasources/login_datasource.ts | 6 - .../datasources/place_datasource.ts | 8 - .../datasources/poi_datasource.ts | 8 - .../datasources/town_datasource.ts | 10 - web/src/infraestructure/entities/category.ts | 10 - web/src/infraestructure/entities/image.ts | 4 - .../entities/login_form_values.ts | 4 - web/src/infraestructure/entities/state.ts | 5 - web/src/infraestructure/entities/town.ts | 9 - web/src/infraestructure/entities/user.ts | 189 ------------- .../repositories/admin_repository.ts | 15 - .../repositories/category_repository.ts | 7 - .../repositories/login_repository.ts | 6 - .../repositories/place_repository.ts | 8 - .../repositories/poi_repository.ts | 8 - .../repositories/town_repository.ts | 10 - .../pages/home/admin_page/admin_home_page.tsx | 97 ------- .../super_admin_home_page.tsx | 107 ------- .../admin/admin_panel_navbar/admin_navbar.tsx | 199 +++++++++++++ .../images/Admin-595b40b65ba036ed117d36fe.png | Bin .../assets/styles/style.css | 65 +++-- .../admin_panel_place_list.tsx | 90 ++++++ .../assets/css/styles.css | 0 .../admin_panel_place_register.tsx | 36 ++- .../assets/css/styles.css | 0 .../admin_panel_place_screen.tsx | 66 +++-- .../assets/css/styles.css | 0 .../admin_panel_poi_list.tsx | 187 +++++++++++++ .../assets/css/styles.css | 0 .../admin_panel_poi_register.tsx | 263 ++++++++++++++++++ .../assets/css/styles.css | 0 .../admin_panel_poi_screen.tsx | 116 ++++++++ .../assets/css/styles.css | 0 .../admin_panel_poi_viewer.tsx | 191 +++++++++++++ .../assets/css/styles.css | 0 .../admin/admin_town_info/admin_town_info.tsx | 147 ++++++++++ .../admin_town_info/assets/css/styles.css | 0 .../admin/panel/admin_home_page.tsx | 147 ++++++++++ .../admin/panel}/assets/styles/style.css | 0 .../assets/css/styles.css | 0 .../confirmation_dialog.tsx | 58 ++++ .../error_window/assets/css/styles.css | 0 .../components/error_window/error_window.tsx | 13 +- .../components/footer/assets/css/styles.css | 0 .../components/footer/footer.tsx | 9 + .../geocoding/assets/css/styles.css | 0 .../components/geocoding/geocoding_google.tsx | 15 +- .../components/geocoding/geocoding_mapbox.tsx | 7 +- .../image_dropzone/assets/css/styles.css | 0 .../image_dropzone/image_dropzone.tsx | 70 +++++ .../loading_screen/assets/css/styles.css | 0 .../loading_screen/loading_screen.tsx | 12 + .../loading_spinner/assets/css/styles.css | 0 .../loading_spinner/loading_spinner.tsx | 2 + .../components/map/map_google.tsx | 10 +- .../components/map/map_mapbox.tsx | 11 +- .../assets/css/styles.css | 0 .../multiple_images_dropzone.tsx | 50 ++++ .../assets/css/styles.css | 0 .../reset_password_window.tsx | 9 +- .../sidebar_header/assets/css/styles.css | 0 .../sidebar_header/sidebar_header.tsx | 23 ++ .../login}/login_page.tsx | 24 +- .../login}/styles/styles.css | 0 .../superadmin/panel}/assets/styles/style.css | 0 .../panel/super_admin_home_page.tsx | 146 ++++++++++ .../sa_panel_admin_list/assets/css/styles.css | 0 .../sa_panel_admin_list.tsx | 170 +++++++++++ .../assets/css/styles.css | 0 .../sa_panel_admin_register.tsx | 170 +++++++++++ .../assets/css/styles.css | 0 .../sa_panel_admin_screen.tsx | 67 +++++ .../assets/css/styles.css | 0 .../sa_panel_category_list.tsx | 119 ++++++++ .../assets/css/styles.css | 0 .../sa_panel_category_register.tsx | 61 ++++ .../assets/css/styles.css | 0 .../sa_panel_category_screen.tsx | 10 +- .../sa_panel_town_list/assets/css/styles.css | 0 .../sa_panel_town_list/sa_panel_town_list.tsx | 40 ++- .../sa_panel_town_register/css/styles.css | 40 +-- .../sa_panel_town_register.tsx | 194 +++++++++++++ .../sa_panel_town_screen/css/styles.css | 0 .../sa_panel_town_screen.tsx | 67 +++++ web/src/router/login_route.tsx | 10 - web/src/router/protected_route.tsx | 27 -- web/src/router/router.tsx | 28 -- web/src/utils/Messages.ts | 27 -- 215 files changed, 5781 insertions(+), 4092 deletions(-) create mode 100644 web/public/logotipo.png delete mode 100644 web/src/components/admin_panel_navbar/admin_navbar.tsx delete mode 100644 web/src/components/admin_panel_places/admin_panel_place_list/admin_panel_place_list.tsx delete mode 100644 web/src/components/admin_panel_poi/admin_panel_poi_list/admin_panel_poi_list.tsx delete mode 100644 web/src/components/admin_panel_poi/admin_panel_poi_register/admin_panel_poi_register.tsx delete mode 100644 web/src/components/admin_panel_poi/admin_panel_poi_screen/admin_panel_poi_screen.tsx delete mode 100644 web/src/components/admin_panel_poi/admin_panel_poi_viewer/admin_panel_poi_viewer.tsx delete mode 100644 web/src/components/admin_town_info/admin_town_info.tsx delete mode 100644 web/src/components/confirmation_dialog_box/confirmation_dialog.tsx delete mode 100644 web/src/components/image_dropzone/image_dropzone.tsx delete mode 100644 web/src/components/loading_screen/loading_screen.tsx delete mode 100644 web/src/components/multiple_images_dropzone/multiple_images_dropzone.tsx delete mode 100644 web/src/components/sa_panel_admin/sa_panel_admin_list/sa_panel_admin_list.tsx delete mode 100644 web/src/components/sa_panel_admin/sa_panel_admin_register/sa_panel_admin_register.tsx delete mode 100644 web/src/components/sa_panel_admin/sa_panel_admin_screen/sa_panel_admin_screen.tsx delete mode 100644 web/src/components/sa_panel_category/sa_panel_category_list/sa_panel_category_list.tsx delete mode 100644 web/src/components/sa_panel_category/sa_panel_category_register/sa_panel_category_register.tsx delete mode 100644 web/src/components/sa_panel_town/sa_panel_town_register/sa_panel_town_register.tsx delete mode 100644 web/src/components/sa_panel_town/sa_panel_town_screen/sa_panel_town_screen.tsx delete mode 100644 web/src/components/sidebar_header/sidebar_header.tsx delete mode 100644 web/src/constants/images_nuber.ts delete mode 100644 web/src/constants/languages.ts delete mode 100644 web/src/constants/roles.ts delete mode 100644 web/src/constants/selected_panel.ts delete mode 100644 web/src/context/auth_context.tsx rename web/src/{ => core}/constants/api_routes.ts (53%) rename web/src/{ => core}/constants/api_url.ts (62%) create mode 100644 web/src/core/constants/images_nuber.ts create mode 100644 web/src/core/constants/languages.ts create mode 100644 web/src/core/constants/roles.ts create mode 100644 web/src/core/constants/selected_panel.ts create mode 100644 web/src/core/context/auth_context.tsx rename web/src/{ => core}/context/message_context.tsx (50%) create mode 100644 web/src/core/errors/CustomError.ts create mode 100644 web/src/core/errors/UnautherizedError.ts create mode 100644 web/src/core/router/login_route.tsx create mode 100644 web/src/core/router/protected_route.tsx create mode 100644 web/src/core/router/router.tsx create mode 100644 web/src/core/utils/Messages.ts create mode 100644 web/src/data/datasource/admin_datasource.ts rename web/src/data/{datasources/prod => datasource/api}/admin_datasource.ts (58%) create mode 100644 web/src/data/datasource/api/category_datasource.ts rename web/src/{infraestructure => data/datasource/api}/entities/admin_form_values.ts (61%) create mode 100644 web/src/data/datasource/api/entities/category.ts create mode 100644 web/src/data/datasource/api/entities/image.ts create mode 100644 web/src/data/datasource/api/entities/login_form_values.ts rename web/src/{infraestructure => data/datasource/api}/entities/place.ts (69%) rename web/src/{infraestructure => data/datasource/api}/entities/poi.ts (76%) rename web/src/{infraestructure => data/datasource/api}/entities/reset_password_values.ts (62%) create mode 100644 web/src/data/datasource/api/entities/state.ts create mode 100644 web/src/data/datasource/api/entities/town.ts create mode 100644 web/src/data/datasource/api/entities/user.ts create mode 100644 web/src/data/datasource/api/login_datasource.ts create mode 100644 web/src/data/datasource/api/place_datasource.ts create mode 100644 web/src/data/datasource/api/poi_datasource.ts create mode 100644 web/src/data/datasource/api/town_datasource.ts create mode 100644 web/src/data/datasource/category_datasource.ts create mode 100644 web/src/data/datasource/login_datasource.ts create mode 100644 web/src/data/datasource/place_datasource.ts create mode 100644 web/src/data/datasource/poi_datasource.ts create mode 100644 web/src/data/datasource/town_datasource.ts delete mode 100644 web/src/data/datasources/prod/category_datasource.ts delete mode 100644 web/src/data/datasources/prod/login_datasource.ts delete mode 100644 web/src/data/datasources/prod/place_datasource.ts delete mode 100644 web/src/data/datasources/prod/poi_datasource.ts delete mode 100644 web/src/data/datasources/prod/town_datasource.ts delete mode 100644 web/src/data/models/prod/AdminModel.ts delete mode 100644 web/src/data/models/prod/CategoryModel.ts delete mode 100644 web/src/data/models/prod/LoggedInUserModel.ts delete mode 100644 web/src/data/models/prod/POIModel.ts delete mode 100644 web/src/data/models/prod/PlaceModel.ts delete mode 100644 web/src/data/models/prod/StateModel.ts delete mode 100644 web/src/data/models/prod/TownModel.ts delete mode 100644 web/src/data/repositories/prod/admin_repository.ts delete mode 100644 web/src/data/repositories/prod/category_repository.ts delete mode 100644 web/src/data/repositories/prod/login_repository.ts delete mode 100644 web/src/data/repositories/prod/place_repository.ts delete mode 100644 web/src/data/repositories/prod/poi_repository.ts delete mode 100644 web/src/data/repositories/prod/town_repository.ts create mode 100644 web/src/data/repository/admin_repository.ts create mode 100644 web/src/data/repository/category_repository.ts create mode 100644 web/src/data/repository/login_repository.ts create mode 100644 web/src/data/repository/place_repository.ts create mode 100644 web/src/data/repository/poi_repository.ts create mode 100644 web/src/data/repository/town_repository.ts create mode 100644 web/src/domain/model/AdminModel.ts create mode 100644 web/src/domain/model/CategoryModel.ts create mode 100644 web/src/domain/model/LoggedInUserModel.ts create mode 100644 web/src/domain/model/POIModel.ts create mode 100644 web/src/domain/model/PlaceModel.ts create mode 100644 web/src/domain/model/StateModel.ts create mode 100644 web/src/domain/model/TownModel.ts create mode 100644 web/src/domain/repository/admin_repository.ts create mode 100644 web/src/domain/repository/category_repository.ts create mode 100644 web/src/domain/repository/login_repository.ts create mode 100644 web/src/domain/repository/place_repository.ts create mode 100644 web/src/domain/repository/poi_repository.ts create mode 100644 web/src/domain/repository/town_repository.ts rename web/src/{hooks/useAdmin.tsx => domain/useCase/useAdmin.ts} (81%) create mode 100644 web/src/domain/useCase/useAdminChangePassword.ts rename web/src/{hooks/useAdminHomePage.tsx => domain/useCase/useAdminHomePage.ts} (57%) rename web/src/{hooks/useAdminTownInfo.tsx => domain/useCase/useAdminTownInfo.ts} (73%) create mode 100644 web/src/domain/useCase/useCategory.ts create mode 100644 web/src/domain/useCase/useDropzoneMultiplesImages.ts create mode 100644 web/src/domain/useCase/useGetStatesList.ts create mode 100644 web/src/domain/useCase/useLogin.ts rename web/src/{hooks/usePasswordVisibility.tsx => domain/useCase/usePasswordVisibility.ts} (61%) rename web/src/{hooks/usePlace.tsx => domain/useCase/usePlace.ts} (86%) rename web/src/{hooks/usePointOfInterest.tsx => domain/useCase/usePointOfInterest.ts} (50%) rename web/src/{hooks => domain/useCase}/useResetPassword.ts (90%) rename web/src/{hooks/useSuperadminHomePage.tsx => domain/useCase/useSuperadminHomePage.ts} (57%) rename web/src/{hooks/useTown.tsx => domain/useCase/useTown.ts} (51%) create mode 100644 web/src/domain/useCase/useUserData.ts create mode 100644 web/src/domain/useCase/useWindowShow.ts delete mode 100644 web/src/errors/CustomError.ts delete mode 100644 web/src/errors/UnautherizedError.ts delete mode 100644 web/src/hooks/useAdminChangePassword.tsx delete mode 100644 web/src/hooks/useCategory.tsx delete mode 100644 web/src/hooks/useDropzoneMultiplesImages.tsx delete mode 100644 web/src/hooks/useGetStatesList.tsx delete mode 100644 web/src/hooks/useLogin.tsx delete mode 100644 web/src/hooks/useUserData.tsx delete mode 100644 web/src/hooks/useWindowShow.tsx delete mode 100644 web/src/infraestructure/datasources/admin_datasource.ts delete mode 100644 web/src/infraestructure/datasources/category_datasource.ts delete mode 100644 web/src/infraestructure/datasources/login_datasource.ts delete mode 100644 web/src/infraestructure/datasources/place_datasource.ts delete mode 100644 web/src/infraestructure/datasources/poi_datasource.ts delete mode 100644 web/src/infraestructure/datasources/town_datasource.ts delete mode 100644 web/src/infraestructure/entities/category.ts delete mode 100644 web/src/infraestructure/entities/image.ts delete mode 100644 web/src/infraestructure/entities/login_form_values.ts delete mode 100644 web/src/infraestructure/entities/state.ts delete mode 100644 web/src/infraestructure/entities/town.ts delete mode 100644 web/src/infraestructure/entities/user.ts delete mode 100644 web/src/infraestructure/repositories/admin_repository.ts delete mode 100644 web/src/infraestructure/repositories/category_repository.ts delete mode 100644 web/src/infraestructure/repositories/login_repository.ts delete mode 100644 web/src/infraestructure/repositories/place_repository.ts delete mode 100644 web/src/infraestructure/repositories/poi_repository.ts delete mode 100644 web/src/infraestructure/repositories/town_repository.ts delete mode 100644 web/src/pages/home/admin_page/admin_home_page.tsx delete mode 100644 web/src/pages/home/super_admin_page/super_admin_home_page.tsx create mode 100644 web/src/presentation/admin/admin_panel_navbar/admin_navbar.tsx rename web/src/{components => presentation/admin}/admin_panel_navbar/assets/images/Admin-595b40b65ba036ed117d36fe.png (100%) rename web/src/{components => presentation/admin}/admin_panel_navbar/assets/styles/style.css (70%) create mode 100644 web/src/presentation/admin/admin_panel_places/admin_panel_place_list/admin_panel_place_list.tsx rename web/src/{components => presentation/admin}/admin_panel_places/admin_panel_place_list/assets/css/styles.css (100%) rename web/src/{components => presentation/admin}/admin_panel_places/admin_panel_place_register/admin_panel_place_register.tsx (91%) rename web/src/{components => presentation/admin}/admin_panel_places/admin_panel_place_register/assets/css/styles.css (100%) rename web/src/{components => presentation/admin}/admin_panel_places/admin_panel_place_screen/admin_panel_place_screen.tsx (53%) rename web/src/{components => presentation/admin}/admin_panel_places/admin_panel_place_screen/assets/css/styles.css (100%) create mode 100644 web/src/presentation/admin/admin_panel_poi/admin_panel_poi_list/admin_panel_poi_list.tsx rename web/src/{components => presentation/admin}/admin_panel_poi/admin_panel_poi_list/assets/css/styles.css (100%) create mode 100644 web/src/presentation/admin/admin_panel_poi/admin_panel_poi_register/admin_panel_poi_register.tsx rename web/src/{components => presentation/admin}/admin_panel_poi/admin_panel_poi_register/assets/css/styles.css (100%) create mode 100644 web/src/presentation/admin/admin_panel_poi/admin_panel_poi_screen/admin_panel_poi_screen.tsx rename web/src/{components => presentation/admin}/admin_panel_poi/admin_panel_poi_screen/assets/css/styles.css (100%) create mode 100644 web/src/presentation/admin/admin_panel_poi/admin_panel_poi_viewer/admin_panel_poi_viewer.tsx rename web/src/{components => presentation/admin}/admin_panel_poi/admin_panel_poi_viewer/assets/css/styles.css (100%) create mode 100644 web/src/presentation/admin/admin_town_info/admin_town_info.tsx rename web/src/{components => presentation/admin}/admin_town_info/assets/css/styles.css (100%) create mode 100644 web/src/presentation/admin/panel/admin_home_page.tsx rename web/src/{pages/home/admin_page => presentation/admin/panel}/assets/styles/style.css (100%) rename web/src/{ => presentation}/components/confirmation_dialog_box/assets/css/styles.css (100%) create mode 100644 web/src/presentation/components/confirmation_dialog_box/confirmation_dialog.tsx rename web/src/{ => presentation}/components/error_window/assets/css/styles.css (100%) rename web/src/{ => presentation}/components/error_window/error_window.tsx (59%) rename web/src/{ => presentation}/components/footer/assets/css/styles.css (100%) rename web/src/{ => presentation}/components/footer/footer.tsx (89%) rename web/src/{ => presentation}/components/geocoding/assets/css/styles.css (100%) rename web/src/{ => presentation}/components/geocoding/geocoding_google.tsx (75%) rename web/src/{ => presentation}/components/geocoding/geocoding_mapbox.tsx (84%) rename web/src/{ => presentation}/components/image_dropzone/assets/css/styles.css (100%) create mode 100644 web/src/presentation/components/image_dropzone/image_dropzone.tsx rename web/src/{ => presentation}/components/loading_screen/assets/css/styles.css (100%) create mode 100644 web/src/presentation/components/loading_screen/loading_screen.tsx rename web/src/{ => presentation}/components/loading_spinner/assets/css/styles.css (100%) rename web/src/{ => presentation}/components/loading_spinner/loading_spinner.tsx (57%) rename web/src/{ => presentation}/components/map/map_google.tsx (79%) rename web/src/{ => presentation}/components/map/map_mapbox.tsx (81%) rename web/src/{ => presentation}/components/multiple_images_dropzone/assets/css/styles.css (100%) create mode 100644 web/src/presentation/components/multiple_images_dropzone/multiple_images_dropzone.tsx rename web/src/{ => presentation}/components/reset_password_window/assets/css/styles.css (100%) rename web/src/{ => presentation}/components/reset_password_window/reset_password_window.tsx (91%) rename web/src/{ => presentation}/components/sidebar_header/assets/css/styles.css (100%) create mode 100644 web/src/presentation/components/sidebar_header/sidebar_header.tsx rename web/src/{pages/login_page => presentation/login}/login_page.tsx (80%) rename web/src/{pages/login_page => presentation/login}/styles/styles.css (100%) rename web/src/{pages/home/super_admin_page => presentation/superadmin/panel}/assets/styles/style.css (100%) create mode 100644 web/src/presentation/superadmin/panel/super_admin_home_page.tsx rename web/src/{components => presentation/superadmin}/sa_panel_admin/sa_panel_admin_list/assets/css/styles.css (100%) create mode 100644 web/src/presentation/superadmin/sa_panel_admin/sa_panel_admin_list/sa_panel_admin_list.tsx rename web/src/{components => presentation/superadmin}/sa_panel_admin/sa_panel_admin_register/assets/css/styles.css (100%) create mode 100644 web/src/presentation/superadmin/sa_panel_admin/sa_panel_admin_register/sa_panel_admin_register.tsx rename web/src/{components => presentation/superadmin}/sa_panel_admin/sa_panel_admin_screen/assets/css/styles.css (100%) create mode 100644 web/src/presentation/superadmin/sa_panel_admin/sa_panel_admin_screen/sa_panel_admin_screen.tsx rename web/src/{components => presentation/superadmin}/sa_panel_category/sa_panel_category_list/assets/css/styles.css (100%) create mode 100644 web/src/presentation/superadmin/sa_panel_category/sa_panel_category_list/sa_panel_category_list.tsx rename web/src/{components => presentation/superadmin}/sa_panel_category/sa_panel_category_register/assets/css/styles.css (100%) create mode 100644 web/src/presentation/superadmin/sa_panel_category/sa_panel_category_register/sa_panel_category_register.tsx rename web/src/{components => presentation/superadmin}/sa_panel_category/sa_panel_category_screen/assets/css/styles.css (100%) rename web/src/{components => presentation/superadmin}/sa_panel_category/sa_panel_category_screen/sa_panel_category_screen.tsx (76%) rename web/src/{components => presentation/superadmin}/sa_panel_town/sa_panel_town_list/assets/css/styles.css (100%) rename web/src/{components => presentation/superadmin}/sa_panel_town/sa_panel_town_list/sa_panel_town_list.tsx (77%) rename web/src/{components => presentation/superadmin}/sa_panel_town/sa_panel_town_register/css/styles.css (83%) create mode 100644 web/src/presentation/superadmin/sa_panel_town/sa_panel_town_register/sa_panel_town_register.tsx rename web/src/{components => presentation/superadmin}/sa_panel_town/sa_panel_town_screen/css/styles.css (100%) create mode 100644 web/src/presentation/superadmin/sa_panel_town/sa_panel_town_screen/sa_panel_town_screen.tsx delete mode 100644 web/src/router/login_route.tsx delete mode 100644 web/src/router/protected_route.tsx delete mode 100644 web/src/router/router.tsx delete mode 100644 web/src/utils/Messages.ts diff --git a/web/public/index.html b/web/public/index.html index aa069f27..babfdb0e 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -2,14 +2,13 @@ - + - - React App + Pueblos Magicos diff --git a/web/public/logotipo.png b/web/public/logotipo.png new file mode 100644 index 0000000000000000000000000000000000000000..35c0c715e3a96bc6456dc14ad0357c57e2ae7849 GIT binary patch literal 12368 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 R85kHCJYD@<);T3K0RZxem7@Rv literal 0 HcmV?d00001 diff --git a/web/src/App.tsx b/web/src/App.tsx index 0c54f7ff..769ac63a 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -1,11 +1,10 @@ import { RouterProvider } from "react-router-dom"; import "./App.css"; -import { AuthContextProvider } from "./context/auth_context"; -import { MessageContextProvider } from "./context/message_context"; -import { router } from "./router/router"; +import { AuthContextProvider } from "./core/context/auth_context"; +import { MessageContextProvider } from "./core/context/message_context"; +import { router } from "./core/router/router"; import { ToastContainer } from "react-toastify"; - function App() { return (
diff --git a/web/src/components/admin_panel_navbar/admin_navbar.tsx b/web/src/components/admin_panel_navbar/admin_navbar.tsx deleted file mode 100644 index 81e61e3d..00000000 --- a/web/src/components/admin_panel_navbar/admin_navbar.tsx +++ /dev/null @@ -1,173 +0,0 @@ -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { faEye, faEyeSlash, faSignOut, faUser, faWindowClose } from "@fortawesome/free-solid-svg-icons"; -import { Link } from "react-router-dom"; -import './assets/styles/style.css'; -import { UserRole } from "../../constants/roles"; -import { useUserData } from "../../hooks/useUserData"; -import { Dispatch, SetStateAction, useState } from "react"; -import { useAdminChangePassword } from "../../hooks/useAdminChangePassword"; -import { usePasswoordVisibility } from "../../hooks/usePasswordVisibility"; - -interface props{ - isWindowActive: boolean; - setIsWindowActive: Dispatch>; -} - -export const AdminPanelNavBar = ({isWindowActive, setIsWindowActive}:props) => { - const {user, handleLogout, setToggle, toggle, userData} = useUserData(); - const [changePasswordWindowActive, setChangePasswordWindowActive] = useState(false); - const setChangePasswordWindowVisibility = (visibility: boolean) => { - setIsWindowActive(visibility); - setChangePasswordWindowActive(visibility); - } - const {register, handleSubmit, errors, onSubmit} = useAdminChangePassword(setChangePasswordWindowVisibility); - const { - values: valuesPrevPassword, - handleClickShowPassword: handleClickShowPrevPassword, - handleMouseDownPassword: handleMouseDownPrevPassword - } = usePasswoordVisibility(); - const { - values: valuesNewPassword, - handleClickShowPassword: handleClickShowNewPassword, - handleMouseDownPassword: handleMouseDownNewPassword - } = usePasswoordVisibility(); - const { - values: valuesNewPasswordConfirm, - handleClickShowPassword: handleClickShowNewPasswordConfirm, - handleMouseDownPassword: handleMouseDownNewPasswordConfirm - } = usePasswoordVisibility(); - - - if(!user ){ - return null; - }else{ - if(user.role !== UserRole.ADMIN && user.role !== UserRole.SUPERADMIN){ - return null; - } - } - - return ( -
-
- { - isWindowActive - ? - setToggle(false) - : - setToggle(!toggle) - }} - style={ - isWindowActive - ? - {cursor: "auto"} - : - {cursor: "pointer"} - } - /> - {toggle && -
-
-
- -

{userData?.name}

-
-
- - {setChangePasswordWindowVisibility(true); setToggle(false);}} className="sub-menu-link"> - -

Cambiar contraseña

- - - - -

Cerrar sesión

- -
-
- } -
- { - changePasswordWindowActive && -
-
- Cambio de contraseña - setChangePasswordWindowVisibility(false)}/> -
- -
-
-
- -
- - -
-

{errors.prevPassword?.message}

-
- -
- -
- - -
-

{errors.newPassword?.message}

-
- -
- -
- - -
-

{errors.newPasswordConfirm?.message}

-
- -
- -
-
-
-
- } -
- ); -} \ No newline at end of file diff --git a/web/src/components/admin_panel_places/admin_panel_place_list/admin_panel_place_list.tsx b/web/src/components/admin_panel_places/admin_panel_place_list/admin_panel_place_list.tsx deleted file mode 100644 index 94aa6d31..00000000 --- a/web/src/components/admin_panel_places/admin_panel_place_list/admin_panel_place_list.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import DataTable, { TableColumn } from 'react-data-table-component'; -import { usePlace } from '../../../hooks/usePlace'; -import './assets/css/styles.css'; -import { Place } from '../../../infraestructure/entities/place'; -import { LoadingSpinner } from '../../loading_spinner/loading_spinner'; -import { faEdit } from '@fortawesome/free-solid-svg-icons'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { Dispatch, SetStateAction, useEffect } from 'react'; - -interface props{ - idTown: number; - isWindowActive: boolean; - setWindowVisibility: (visibility: boolean) => void; - setActualPlace: Dispatch>; - setIsRegisterPane: Dispatch>; -} - -export const AdminPanelPlaceList = ({idTown, isWindowActive, setWindowVisibility, setActualPlace, setIsRegisterPane}: props) => { - const { - placeList, - pending, - updatePlacesByTown - } = usePlace(); - - const handleEditSelectedCategory = (place: Place) => { - setIsRegisterPane(false); - setActualPlace(place); - setWindowVisibility(true); - } - - useEffect(() => { - updatePlacesByTown(idTown); - },[]); - - const columns : TableColumn[] = [ - { - name: "Identificador", - selector: row => row.idPlace || 0 - }, - { - name: "Nombre", - selector: row => row.name, - sortable: true - }, - { - name: "Estado", - selector: row => row.available - }, - { - name: "Acciones", - cell: (row) => { - return ( - { - if(!isWindowActive){ - handleEditSelectedCategory(row); - } - }} - /> - ); - } - } - ]; - - return ( -
- - } - columns={columns} data={placeList} className="data_table"/> -
- ); -} \ No newline at end of file diff --git a/web/src/components/admin_panel_poi/admin_panel_poi_list/admin_panel_poi_list.tsx b/web/src/components/admin_panel_poi/admin_panel_poi_list/admin_panel_poi_list.tsx deleted file mode 100644 index 8250307c..00000000 --- a/web/src/components/admin_panel_poi/admin_panel_poi_list/admin_panel_poi_list.tsx +++ /dev/null @@ -1,157 +0,0 @@ -import DataTable, { TableColumn } from 'react-data-table-component'; -import { usePlace } from '../../../hooks/usePlace'; -import './assets/css/styles.css'; -import { LoadingSpinner } from '../../loading_spinner/loading_spinner'; -import { faEye } from '@fortawesome/free-solid-svg-icons'; -import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { Dispatch, SetStateAction, useEffect, useState } from 'react'; -import { usePointOfInterest } from '../../../hooks/usePointOfInterest'; -import { PointOfInterest } from '../../../infraestructure/entities/poi'; -import { LoadingScreen } from '../../loading_screen/loading_screen'; - -interface props{ - idTown: number; - isWindowActive: boolean; - setActualPoint: Dispatch>; - setWindowVisibilityViewer: (visibility: boolean) => void; - setBinaryData: Dispatch>; - setIsPDFViewerActive: Dispatch>; -} - -export const AdminPanelPoiList = ({idTown, isWindowActive, setActualPoint, setWindowVisibilityViewer, setBinaryData, - setIsPDFViewerActive -}: props) => { - const [isLoading, setIsLoading] = useState(false); - const [isPDFLoading, setIsPDFLoading] = useState(false); - const [printButtonActive, setPrintButtonActive] = useState(false); - const [selectedRows, setSelectedRows] = useState([]); - const [actualPlaceId, setActualPlaceId] = useState(0); - const {getPdfById} = usePointOfInterest(); - - const handleRowSelected = (selected: { allSelected: boolean; selectedCount: number; selectedRows: PointOfInterest[];}) => { - setSelectedRows(selected.selectedRows.map((element)=>{return element.idPoint || -1})); - } - - useEffect(()=>{ - if(selectedRows.length>0){ - setPrintButtonActive(true); - }else{ - setPrintButtonActive(false); - } - },[selectedRows]); - - const handleClickPrintButton = () => { - const fetchPdf = async () => { - setIsPDFLoading(true); - const res = await getPdfById(actualPlaceId, selectedRows); - if(res!==null){ - setIsPDFViewerActive(true); - setBinaryData(res); - } - setIsPDFLoading(false); - } - fetchPdf(); - } - - const { - placeList, - updatePlacesByTown - } = usePlace(); - - const { - pending, - updatePOIByPlace, - poiList - } = usePointOfInterest(); - - const handleViewSelectedPoint = (point: PointOfInterest) => { - setActualPoint(point); - setWindowVisibilityViewer(true); - } - - const columns : TableColumn[] = [ - { - name: "Identificador", - selector: row => row.idPoint || -1, - sortable: true - }, - { - name: "Nombre", - selector: row => row.name.substring(0,40), - sortable: true - }, - { - name: "Acciones", - cell: (row) => { - return ( - { - if(!isWindowActive){ - handleViewSelectedPoint(row); - } - }} - /> - ); - } - } - ]; - - useEffect(() => { - setIsLoading(true); - updatePlacesByTown(idTown); - setIsLoading(false); - },[]); - - const refreshList = (idPlace: number) => { - updatePOIByPlace(idPlace) - }; - - - if(isLoading) return - - return ( -
-
- Lugar - - -
-
- - } - onSelectedRowsChange={handleRowSelected} - columns={columns} data={poiList} selectableRows className="data_table" - /> -
- { - isPDFLoading && - } -
- ); -} \ No newline at end of file diff --git a/web/src/components/admin_panel_poi/admin_panel_poi_register/admin_panel_poi_register.tsx b/web/src/components/admin_panel_poi/admin_panel_poi_register/admin_panel_poi_register.tsx deleted file mode 100644 index 25b25c85..00000000 --- a/web/src/components/admin_panel_poi/admin_panel_poi_register/admin_panel_poi_register.tsx +++ /dev/null @@ -1,205 +0,0 @@ -import { faWindowClose } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { useEffect, useState} from "react"; -import "./assets/css/styles.css"; -import { languaguesList } from "../../../constants/languages"; -import { LoadingScreen } from "../../loading_screen/loading_screen"; -import { usePointOfInterest } from "../../../hooks/usePointOfInterest"; -import { EmptyPointOfInterest, PointOfInterest } from "../../../infraestructure/entities/poi"; -import { ImageDropzone } from "../../image_dropzone/image_dropzone"; -import { usePlace } from "../../../hooks/usePlace"; - -interface props { - setWindowVisibility: (visibility: boolean) => void; - idTown: number; - forceRenderList: () => void; - isRegister: boolean; - form?: PointOfInterest; -} - -export const AdminPanelPoiRegister = ({setWindowVisibility, idTown,forceRenderList, isRegister, form}: props) => { - const { - register, - errors, - setDescriptions, - setDirections, - descriptions, - directions, - setLanguageDescriptionIndexSelected, - handleSubmit, - onSubmitRegister, - getPointById, - setValue, - languageDescriptionIndexSelected, - languageDirectionsIndexSelected, - setLanguageDirectionsIndexSelected, - } = usePointOfInterest(forceRenderList, setWindowVisibility); - const [isLoading, setIsLoading] = useState(false); - const [preview, setPreview] = useState(null); - const [image, setImage] = useState(null); - const { - placeList, - updatePlacesByTown - } = usePlace(); - - useEffect(() => { - if(image){ - setValue('image', image, {shouldValidate: true}); - } - },[image]); - - useEffect(() => { - setIsLoading(true); - const fetchData = async () => { - await updatePlacesByTown(idTown); - if (!isRegister && form) { - const pointGetted = await getPointById(form.idPoint || 0); - if(pointGetted){ - setValue('idPoint', pointGetted.idPlace); - setValue('name', pointGetted.name); - setValue('contentEN', pointGetted.contentEN); - setValue('contentES', pointGetted.contentES); - setValue('directionsEN', pointGetted.directionsEN); - setValue('directionsES', pointGetted.directionsES); - } - } - }; - fetchData(); - setIsLoading(false); - },[]); - - return ( -
-
- Registra el punto de interés - setWindowVisibility(false)}/> -
-
- {isLoading - ? - - : -
-
-
-
- Nombre del punto de interés -
- -

{errors.name?.message}

-
- -
-
- Descripción del punto de interés - -
- { - languaguesList.map((language, index) => { - if(index===languageDescriptionIndexSelected){ - return ( -