From df8387d5c0866ca126ecbc88cf91300d80e63f99 Mon Sep 17 00:00:00 2001
From: Szymon Szlachtowicz <38212223+Szymx95@users.noreply.github.com>
Date: Tue, 2 Nov 2021 11:45:00 +0100
Subject: [PATCH] Refactor channel menu (#105)
---
.../src/components/Form/ChannelMenu.tsx | 106 +++++++-----------
.../src/components/Icons/CheckIcon.tsx | 23 +++-
.../src/components/Icons/ClearIcon.tsx | 23 +++-
.../src/components/Icons/MembersSmallIcon.tsx | 42 +++++++
.../src/components/Icons/MuteIcon.tsx | 23 +++-
5 files changed, 131 insertions(+), 86 deletions(-)
create mode 100644 packages/react-chat/src/components/Icons/MembersSmallIcon.tsx
diff --git a/packages/react-chat/src/components/Form/ChannelMenu.tsx b/packages/react-chat/src/components/Form/ChannelMenu.tsx
index a4fdf4d1..4a66adff 100644
--- a/packages/react-chat/src/components/Form/ChannelMenu.tsx
+++ b/packages/react-chat/src/components/Form/ChannelMenu.tsx
@@ -5,8 +5,27 @@ import { useMessengerContext } from "../../contexts/messengerProvider";
import { useNarrow } from "../../contexts/narrowProvider";
import { ChannelData } from "../../models/ChannelData";
import { ChatMessage } from "../../models/ChatMessage";
+import { CheckSvg } from "../Icons/CheckIcon";
+import { ClearSvg } from "../Icons/ClearIcon";
+import { MembersSmallSvg } from "../Icons/MembersSmallIcon";
+import { MuteSvg } from "../Icons/MuteIcon";
import { textSmallStyles } from "../Text";
+type MenuItemProps = {
+ Svg: ({ width, height }: { width: number; height: number }) => JSX.Element;
+ text: string;
+ onClick: () => void;
+};
+
+function MenuItem({ Svg, text, onClick }: MenuItemProps) {
+ return (
+ -
+
+ {text}
+
+ );
+}
+
interface ChannelMenuProps {
channel: ChannelData;
@@ -34,74 +53,25 @@ export const ChannelMenu = ({
switchMemberList();
setShowChannelMenu(false);
}}
- >
-
- View members
-
+ Svg={MembersSmallSvg}
+ text="View Members"
+ />
)}
-
-
-
+