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 (
-
-

+
-
{username && username}
-
- {tenantname && tenantname}
+
{username}
+
+ {tenantname}
-
- {menuList.length > 0 && (
- <>
- {menuList.map((item) =>
- !item.children ? (
- - closeSidebar()}>
-
-
-
- {item.title}
-
-
-
- ) : (
-
- {item.children.map((item) => (
- - closeSidebar()} className="pl-6 md:pl-8 hover:bg-[#eef1f5] cursor-pointer">
-
-
-
- {item.title}
-
-
-
- ))}
-
- )
- )}
- >
- )}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
);
};
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 💻 |
 Rishab 💻 |
 Maurizio Pillitu 🐛 |
+  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"
+ ]
}
]
}