From 2acf85185292012c21009dc104b13720b7932244 Mon Sep 17 00:00:00 2001 From: lsprr <16653744+lsprr@users.noreply.github.com> Date: Sun, 5 Nov 2023 15:55:38 -0500 Subject: [PATCH 1/3] Refactor: Split Sidebar into Menu and SocialMedia components for modularity - Created separate Menu and SocialMedia components from the Sidebar. - Enhanced accessibility features in Menu.js, Sidebar.js, SubMenu.js, and SocialMedia.js. - Adjusted NavLink components to improve keyboard navigation accessibility. - Cleaned up and isolated component responsibilities for clarity and maintenance. --- apps/OpenSign/src/components/sidebar/Menu.js | 21 ++++ .../src/components/sidebar/Sidebar.js | 106 ++++++------------ .../src/components/sidebar/SocialMedia.js | 27 +++++ .../src/components/sidebar/SubMenu.js | 44 ++++++-- 4 files changed, 115 insertions(+), 83 deletions(-) create mode 100644 apps/OpenSign/src/components/sidebar/Menu.js create mode 100644 apps/OpenSign/src/components/sidebar/SocialMedia.js diff --git a/apps/OpenSign/src/components/sidebar/Menu.js b/apps/OpenSign/src/components/sidebar/Menu.js new file mode 100644 index 000000000..459451b23 --- /dev/null +++ b/apps/OpenSign/src/components/sidebar/Menu.js @@ -0,0 +1,21 @@ +import React from "react"; +import { NavLink } from "react-router-dom"; + +const Menu = ({ item, isOpen, closeSidebar }) => { + return ( +
  • + + + {item.title} + +
  • + ) +} + +export default Menu; \ No newline at end of file diff --git a/apps/OpenSign/src/components/sidebar/Sidebar.js b/apps/OpenSign/src/components/sidebar/Sidebar.js index 1d0ff7ed8..85ac268ec 100644 --- a/apps/OpenSign/src/components/sidebar/Sidebar.js +++ b/apps/OpenSign/src/components/sidebar/Sidebar.js @@ -1,115 +1,77 @@ import React, { useState, useEffect } from "react"; -import { Link, NavLink } from "react-router-dom"; + +import Menu from './Menu'; import Submenu from "./SubMenu"; -import dp from "../../assets/images/dp.png"; +import SocialMedia from './SocialMedia'; + import Parse from "parse"; +import dp from "../../assets/images/dp.png"; + const Sidebar = ({ isOpen, closeSidebar }) => { + const [menuList, setmenuList] = useState([]); let username = localStorage.getItem("username"); const image = localStorage.getItem("profileImg") || dp; const tenantname = localStorage.getItem("TenantName"); - const [menuList, setmenuList] = useState([]); useEffect(() => { if (localStorage.getItem("accesstoken")) { menuItem(); } }, []); + const menuItem = async () => { const parseBaseUrl = localStorage.getItem("baseUrl"); const parseAppId = localStorage.getItem("parseAppId"); + try { Parse.serverURL = parseBaseUrl; Parse.initialize(parseAppId); var sideMenu = Parse.Object.extend("w_menu"); var query = new Parse.Query(sideMenu); query.equalTo("objectId", localStorage.getItem("defaultmenuid")); - + const results = await query.first(); const resultjson = results.toJSON(); - // console.log("resultjson ", resultjson); let result = resultjson; setmenuList(result.menuItems); } catch (e) { console.error("Problem", e); } + }; return ( -
    - img + Profile
    -

    {username && username}

    -

    - {tenantname && tenantname} +

    {username}

    +

    + {tenantname}

    - -
    - - - - - - - - - - - - -
    -
    + + + ); }; diff --git a/apps/OpenSign/src/components/sidebar/SocialMedia.js b/apps/OpenSign/src/components/sidebar/SocialMedia.js new file mode 100644 index 000000000..813c47e15 --- /dev/null +++ b/apps/OpenSign/src/components/sidebar/SocialMedia.js @@ -0,0 +1,27 @@ +import React from "react"; +import { NavLink } from "react-router-dom"; + +const SocialMedia = () => { + return ( + + + + OpenSign's Github + + + + OpenSign's LinkedIn + + + + OpenSign's Twitter + + + + OpenSign's Discord + + + ) +} + +export default SocialMedia; \ No newline at end of file diff --git a/apps/OpenSign/src/components/sidebar/SubMenu.js b/apps/OpenSign/src/components/sidebar/SubMenu.js index 6b3d59582..3b3adac42 100644 --- a/apps/OpenSign/src/components/sidebar/SubMenu.js +++ b/apps/OpenSign/src/components/sidebar/SubMenu.js @@ -1,30 +1,52 @@ import React, { useState } from "react"; +import { NavLink } from "react-router-dom"; -const Submenu = ({ icon, title, children }) => { - const [isOpen, setIsOpen] = useState(false); +const Submenu = ({ item, closeSidebar }) => { + const [submenuOpen, setSubmenuOpen] = useState(false); + const { title, icon, children } = item; const toggleSubmenu = () => { - setIsOpen(!isOpen); + setSubmenuOpen(!submenuOpen); }; return ( -
    +
  • - {isOpen && } -
  • + {submenuOpen && ( + + )} + ); }; From 015b752f5ba75a8d91cac18ce8bfded7b67eebb1 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 08:26:12 +0000 Subject: [PATCH 2/3] docs: update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6e5a235b..200487ed5 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ We would like to thank all our contributors and users for their support and feed Andrew
    Andrew

    💻 Rishab
    Rishab

    💻 Maurizio Pillitu
    Maurizio Pillitu

    🐛 + Luis Parra
    Luis Parra

    ️️️️♿️ From 6a98adebd23f82f438faae01615d890bd1bbc8e5 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 08:26:13 +0000 Subject: [PATCH 3/3] docs: update .all-contributorsrc --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index f1976eec6..202612d32 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -169,6 +169,15 @@ "contributions": [ "bug" ] + }, + { + "login": "lsprr", + "name": "Luis Parra", + "avatar_url": "https://avatars.githubusercontent.com/u/16653744?v=4", + "profile": "https://luisparra.dev", + "contributions": [ + "a11y" + ] } ] }