Commit 94b07b90 authored by Omar Luna Hernández's avatar Omar Luna Hernández
Browse files

Se cambia la lógica a un hook, se agrega una ventana que muestra errores

parent 73d8e176
Loading
Loading
Loading
Loading
+38 −8
Original line number Diff line number Diff line
import { Menu, MenuItem, Sidebar } from "react-pro-sidebar"
import './assets/styles/style.css';
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faLocation, faMonument, faPlaceOfWorship, faUserTie } from "@fortawesome/free-solid-svg-icons";
import { useState } from "react";
import { faLocation, faPlaceOfWorship } from "@fortawesome/free-solid-svg-icons";
import { AdminPanelNavBar } from "../../../components/admin_panel_navbar/admin_navbar";
import { SidebarHeader } from "../../../components/sidebar_header/sidebar_header";
import { AdminPanelPlaceScreen } from "../../../components/admin_panel_places/admin_panel_place_screen/admin_panel_place_screen";
import { AdminSelectedPanel } from "../../../constants/selected_panel";
import { useWindowShow } from "../../../hooks/useWindowShow";
import { useAdminHomePage } from "../../../hooks/useAdminHomePage";
import { LoadingScreen } from "../../../components/loading_screen/loading_screen";
import { ErrorWindow } from "../../../components/error_window/error_window";
import { LoadingSpinner } from "../../../components/loading_spinner/loading_spinner";
import { ToastContainer } from "react-toastify";

export const AdminHomePage = () => {
  const [collapsed, setCollapsed] = useState(true);
  const {setIsWindowActive, isWindowActive} = useWindowShow();
  const [selectedPanel, setSelectedPanel] = useState<AdminSelectedPanel>(AdminSelectedPanel.PLACES);
  const {
    collapsed,
    isWindowActive,
    setCollapsed,
    selectedPanel,
    setSelectedPanel,
    setIsWindowActive,
    isLoading,
    error,
    errorMessage,
    town
  } = useAdminHomePage();

  if(isLoading) return <LoadingScreen/>;

  if(error) return (
    <div style={{display:'flex', flexDirection:'column', alignItems:'center', justifyContent:'center', width: '100vw', height:'100vh'}}>
      <LoadingSpinner/>
      Redirigiendo...
      <ErrorWindow message={errorMessage}/>
    </div>
  );

  return (
    <div className="admin-panel-root">
@@ -48,7 +70,7 @@ export const AdminHomePage = () => {
        {(() => {
          switch (selectedPanel) {
            case AdminSelectedPanel.PLACES:
              return <AdminPanelPlaceScreen setIsWindowActive={setIsWindowActive} isWindowActive={isWindowActive}/>;
              return <AdminPanelPlaceScreen setIsWindowActive={setIsWindowActive} isWindowActive={isWindowActive} town={town}/>;
            case AdminSelectedPanel.ACTIVITIES:
              return <div/>
            default:
@@ -56,6 +78,14 @@ export const AdminHomePage = () => {
          }
        })()}
        </div>
        <ToastContainer
            position='bottom-right'
            autoClose = {1000}
            hideProgressBar = {true}
            closeOnClick
            rtl={false}
            pauseOnFocusLoss
          />
        <div className="footer-cnt">

        </div>