0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 3.135.249.119


Current Path : /proc/thread-self/root/var/www/college/static/js/
Upload File :
Current File : //proc/thread-self/root/var/www/college/static/js/392.9b19a827.chunk.js.map

{"version":3,"file":"static/js/392.9b19a827.chunk.js","mappings":"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","sources":["Components/Spinner.js","Components/Button.js","Components/navigation/Dropdown.js","Components/navigation/MenuItems.js","Actions/Menus/Menus.js","Components/navigation/Navbar.js","Components/navigation/MobileDropdown.js","Components/navigation/MobileMenuItems.js","Components/navigation/MobileNav.js","Components/navigation/Header.js"],"sourcesContent":["import React from \"react\";\nimport { LoadingOutlined } from \"@ant-design/icons\";\nimport { Spin } from \"antd\";\n\nconst Spinner = () => {\n  return (\n    <Spin\n      indicator={\n        <LoadingOutlined style={{ fontSize: 30, color: \"white\" }} spin />\n      }\n    />\n  );\n};\n\nexport default Spinner;\n","import React from \"react\";\nimport Spinner from \"./Spinner\";\n\nconst Button = ({ text, onClick, isLoading }) => {\n  return (\n    <div>\n      {isLoading ? (\n        <div className=\"button\" style={{ paddingTop: 10 }}>\n          <Spinner />\n        </div>\n      ) : (\n        <div>\n          <input\n            type=\"submit\"\n            className=\"button\"\n            value={text}\n            onClick={onClick}\n          />\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default Button;\n","import MenuItems from \"./MenuItems\";\nconst Dropdown = ({ submenus, dropdown, depthLevel }) => {\n  depthLevel = depthLevel + 1;\n  const dropdownClass = depthLevel > 1 ? \"dropdown-submenu\" : \"\";\n  return (\n    <ul className={`dropdown ${dropdownClass} ${dropdown ? \"show\" : \"\"}`}>\n      {submenus.map((submenu, index) => (\n        <MenuItems items={submenu} key={index} depthLevel={depthLevel} />\n      ))}\n    </ul>\n  );\n};\n\nexport default Dropdown;\n","import { useState, useEffect, useRef } from \"react\";\nimport Dropdown from \"./Dropdown\";\nimport { CaretDownOutlined, CaretRightOutlined } from \"@ant-design/icons\";\nimport { NavLink } from \"react-router-dom\";\n\nconst MenuItems = ({ items, depthLevel }) => {\n  const [dropdown, setDropdown] = useState(false);\n  let ref = useRef();\n  useEffect(() => {\n    const handler = (event) => {\n      if (dropdown && ref.current && !ref.current.contains(event.target)) {\n        setDropdown(false);\n      }\n    };\n    document.addEventListener(\"mousedown\", handler);\n    document.addEventListener(\"touchstart\", handler);\n    return () => {\n      // Cleanup the event listener\n      document.removeEventListener(\"mousedown\", handler);\n      document.removeEventListener(\"touchstart\", handler);\n    };\n  }, [dropdown]);\n\n  const onMouseEnter = () => {\n    setDropdown(true);\n  };\n\n  const onMouseLeave = () => {\n    setDropdown(false);\n  };\n\n  const toggleDropdown = () => {\n    setDropdown((prev) => !prev);\n  };\n\n  const closeDropdown = () => {\n    dropdown && setDropdown(false);\n  };\n\n  return (\n    <li\n      className=\"menu-items\"\n      ref={ref}\n      onMouseEnter={onMouseEnter}\n      onMouseLeave={onMouseLeave}\n      onClick={closeDropdown}\n    >\n      {items.url && items.submenu ? (\n        <>\n          <button\n            type=\"button\"\n            aria-haspopup=\"menu\"\n            aria-expanded={dropdown ? \"true\" : \"false\"}\n            onClick={() => toggleDropdown()}\n          >\n            {/* <NavLink to={items.url}>{items.title}</NavLink> */}\n            <NavLink>{items.title}</NavLink>\n            {depthLevel > 0 ? <CaretRightOutlined /> : <CaretDownOutlined />}\n          </button>\n          <Dropdown\n            depthLevel={depthLevel}\n            submenus={items.submenu}\n            dropdown={dropdown}\n          />\n        </>\n      ) : !items.url && items.submenu ? (\n        <>\n          <button\n            type=\"button\"\n            aria-haspopup=\"menu\"\n            aria-expanded={dropdown ? \"true\" : \"false\"}\n          >\n            {items.title}\n            {depthLevel > 0 ? <CaretRightOutlined /> : <CaretDownOutlined />}\n          </button>\n          <Dropdown\n            depthLevel={depthLevel}\n            submenus={items.submenu}\n            dropdown={dropdown}\n          />\n        </>\n      ) : (\n        <NavLink to={items.url}>{items.title}</NavLink>\n      )}\n    </li>\n  );\n};\n\nexport default MenuItems;\n","import React from \"react\";\nimport axios from \"axios\";\nimport { base_url } from \"../../Components/consts/api\";\nimport { Alert } from \"../../Components/Alert\";\n\nexport const Menus = async (dispatch, userType) => {\n  try {\n    await axios({\n      method: \"GET\",\n      url: base_url + \"getCmenus\" + \"&usertype=\" + userType,\n    }).then((res) => {\n      if (res.data.error_code === 0) {\n        let arr = [];\n        res.data.data.menu.map((el, i) => {\n          let obj = {};\n          obj.title = el.title;\n          obj.url = el.url;\n          if (el.submenu.length > 0) {\n            obj.submenu = el.submenu;\n            el.submenu.map((el, i) => {\n              if (el.submenu.length === 0) {\n                delete el.submenu;\n              }\n            });\n          }\n          arr.push(obj);\n        });\n        dispatch({ type: \"MENUS\", payload: arr });\n      } else {\n        dispatch({ type: \"CLEAR_MENUS\", payload: [] });\n      }\n    });\n  } catch (err) {\n    Alert(err);\n  }\n};\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n// import { menuItemsData } from \"../../menuItemsData\";\nimport MenuItems from \"./MenuItems\";\nimport { Menus } from \"../../Actions/Menus/Menus\";\n\nconst Navbar = () => {\n  const depthLevel = 0;\n  const dispatch = useDispatch();\n  const userData = useSelector((state) => state.AuthReducer);\n  const menudata = useSelector((state) => state.MenuReducer.menus);\n\n  useEffect(() => {\n    getMenus();\n  }, []);\n\n  const getMenus = async () => {\n    await Menus(dispatch, userData.userData.fusertype);\n  };\n\n  return (\n    <nav className=\"desktop-nav\">\n      <ul className=\"menus\">\n        {menudata.map((menu, index) => {\n          return <MenuItems items={menu} key={index} depthLevel={depthLevel} />;\n        })}\n      </ul>\n    </nav>\n  );\n};\n\nexport default Navbar;\n","import MobileMenuItems from \"./MobileMenuItems\";\n\nconst MobileDropdown = ({ submenus, dropdown, depthLevel }) => {\n  depthLevel = depthLevel + 1;\n  const dropdownClass = depthLevel > 1 ? \"dropdown-submenu\" : \"\";\n\n  return (\n    <ul className={`dropdown ${dropdownClass} ${dropdown ? \"show\" : \"\"}`}>\n      {submenus.map((submenu, index) => (\n        <MobileMenuItems items={submenu} key={index} depthLevel={depthLevel} />\n      ))}\n    </ul>\n  );\n};\n\nexport default MobileDropdown;\n","import { useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport MobileDropdown from \"./MobileDropdown\";\n\nconst MobileMenuItems = ({ items, depthLevel, showMenu, setShowMenu }) => {\n  const [dropdown, setDropdown] = useState(false);\n\n  const closeDropdown = () => {\n    dropdown && setDropdown(false);\n    showMenu && setShowMenu(false);\n  };\n\n  const toggleDropdown = (e) => {\n    e.stopPropagation();\n    setDropdown((prev) => !prev);\n  };\n\n  return (\n    <li className=\"menu-items\" onClick={closeDropdown}>\n      {items.url && items.submenu ? (\n        <>\n          <button\n            type=\"button\"\n            aria-haspopup=\"menu\"\n            aria-expanded={dropdown ? \"true\" : \"false\"}\n          >\n            {/* <Link to={items.url} onClick={closeDropdown}>\n              {items.title}\n            </Link> */}\n            <Link onClick={closeDropdown}>{items.title}</Link>\n            <div onClick={(e) => toggleDropdown(e)}>\n              {dropdown ? (\n                <span className=\"arrow-close\" />\n              ) : (\n                <span className=\"arrow\" />\n              )}\n            </div>\n          </button>\n          <MobileDropdown\n            depthLevel={depthLevel}\n            submenus={items.submenu}\n            dropdown={dropdown}\n          />\n        </>\n      ) : !items.url && items.submenu ? (\n        <>\n          <button\n            type=\"button\"\n            aria-haspopup=\"menu\"\n            aria-expanded={dropdown ? \"true\" : \"false\"}\n          >\n            {items.title}{\" \"}\n            <div onClick={(e) => toggleDropdown(e)}>\n              {dropdown ? (\n                <span className=\"arrow-close\" />\n              ) : (\n                <span className=\"arrow\" />\n              )}\n            </div>\n          </button>\n          <MobileDropdown\n            depthLevel={depthLevel}\n            submenus={items.submenu}\n            dropdown={dropdown}\n          />\n        </>\n      ) : (\n        <Link to={items.url}>{items.title}</Link>\n      )}\n    </li>\n  );\n};\n\nexport default MobileMenuItems;\n","import React, { useEffect, useRef, useState } from \"react\";\n// import { menuItemsData } from \"../../menuItemsData\";\nimport MobileMenuItems from \"./MobileMenuItems\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { Menus } from \"../../Actions/Menus/Menus\";\n\nconst MobileNav = () => {\n  const depthLevel = 0;\n  const dispatch = useDispatch();\n\n  const menudata = useSelector((state) => state.MenuReducer.menus);\n  const userData = useSelector((state) => state.AuthReducer);\n\n  const [showMenu, setShowMenu] = useState(false);\n  let ref = useRef();\n\n  useEffect(() => {\n    getMenus();\n    const handler = (event) => {\n      if (showMenu && ref.current && !ref.current.contains(event.target)) {\n        setShowMenu(false);\n      }\n    };\n    document.addEventListener(\"mousedown\", handler);\n    document.addEventListener(\"touchstart\", handler);\n    return () => {\n      // Cleanup the event listener\n      document.removeEventListener(\"mousedown\", handler);\n      document.removeEventListener(\"touchstart\", handler);\n    };\n  }, [showMenu]);\n\n  const getMenus = async () => {\n    await Menus(dispatch, userData.userData.fusertype);\n  };\n\n  return (\n    <nav className=\"mobile-nav\">\n      <button\n        className=\"mobile-nav__menu-button\"\n        type=\"button\"\n        onClick={() => setShowMenu((prev) => !prev)}\n      >\n        Menu\n      </button>\n\n      {showMenu && (\n        <ul className=\"menus\" ref={ref}>\n          {menudata.map((menu, index) => {\n            return (\n              <MobileMenuItems\n                items={menu}\n                key={index}\n                depthLevel={depthLevel}\n                showMenu={showMenu}\n                setShowMenu={setShowMenu}\n              />\n            );\n          })}\n        </ul>\n      )}\n    </nav>\n  );\n};\n\nexport default MobileNav;\n","import { useState } from \"react\";\nimport { UserOutlined } from \"@ant-design/icons\";\nimport Button from \"../Button\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Avatar, Space, Badge, Drawer } from \"antd\";\nimport Navbar from \"./Navbar\";\nimport MobileNav from \"./MobileNav\";\nimport \"./Nav.css\";\nimport { logoutUser } from \"../../Actions/Login/Login\";\nimport { NavLink } from \"react-router-dom\";\n\nconst styles = {\n  display: \"flex\",\n  justifyContent: \"space-between\",\n  alignItems: \"center\",\n};\n\nconst Header = () => {\n  const dispatch = useDispatch();\n  const navigate = useNavigate();\n  const [drawerOpen, setDrawerOpen] = useState(false);\n  const [logo, setLogo] = useState(localStorage.getItem(\"logo\"));\n\n  const univdata = useSelector((state) => state.AuthReducer.userData);\n\n  const handleLogout = () => {\n    dispatch(logoutUser(navigate));\n  };\n\n  return (\n    <header>\n      <div className=\"nav-area\">\n        <div style={styles}>\n          <NavLink to=\"/\" className=\"logo\">\n            <img\n              src={logo}\n              width={50}\n              height={50}\n              style={{ borderRadius: \"8px\" }}\n            />\n          </NavLink>\n          <div>\n            <p style={{ fontSize: \"11px\", lineHeight: \"25px\" }}>\n              {univdata.funivname + \" [\" + univdata.funivcode + \"]\"}\n            </p>\n            <p style={{ fontSize: \"11px\" }}>\n              {univdata.fcollname + \" [\" + univdata.fcollcode + \"]\"}\n            </p>\n          </div>\n        </div>\n\n        <Navbar />\n        <MobileNav />\n        <div style={styles}>\n          <Space wrap size={16}>\n            <Badge>\n              <Avatar\n                size={50}\n                icon={<UserOutlined />}\n                onClick={() => setDrawerOpen(true)}\n              />\n              <p\n                style={{\n                  fontSize: \"10px\",\n                  color: \"#fff\",\n                  textAlign: \"center\",\n                }}\n              >\n                {univdata.fuser}\n              </p>\n            </Badge>\n          </Space>\n        </div>\n        <Drawer\n          title=\"Profile\"\n          open={drawerOpen}\n          onClose={() => setDrawerOpen(false)}\n        >\n          <Button text=\"Logout\" onClick={() => handleLogout()} />\n        </Drawer>\n      </div>\n    </header>\n  );\n};\n\nexport default Header;\n"],"names":["Spinner","_jsx","Spin","indicator","LoadingOutlined","style","fontSize","color","spin","_ref","text","onClick","isLoading","children","className","paddingTop","type","value","submenus","dropdown","depthLevel","dropdownClass","concat","map","submenu","index","MenuItems","items","setDropdown","useState","ref","useRef","useEffect","handler","event","current","contains","target","document","addEventListener","removeEventListener","onMouseEnter","onMouseLeave","closeDropdown","url","_jsxs","_Fragment","prev","NavLink","title","CaretRightOutlined","CaretDownOutlined","Dropdown","to","Menus","async","dispatch","userType","axios","method","base_url","then","res","data","error_code","arr","menu","el","i","obj","length","push","payload","err","Alert","Navbar","useDispatch","userData","useSelector","state","AuthReducer","menudata","MenuReducer","menus","getMenus","fusertype","MobileMenuItems","showMenu","setShowMenu","toggleDropdown","e","stopPropagation","Link","MobileDropdown","MobileNav","styles","display","justifyContent","alignItems","Header","navigate","useNavigate","drawerOpen","setDrawerOpen","logo","setLogo","localStorage","getItem","univdata","src","width","height","borderRadius","lineHeight","funivname","funivcode","fcollname","fcollcode","Space","wrap","size","Badge","Avatar","icon","UserOutlined","textAlign","fuser","Drawer","open","onClose","Button","logoutUser"],"sourceRoot":""}