From 1fbf5d2a6522662db5b61b5ec4db9a180eac30ae Mon Sep 17 00:00:00 2001 From: Bernt Christian Egeland Date: Thu, 14 Mar 2024 07:59:20 +0100 Subject: [PATCH 01/15] admin option --- .../adminPage/organization/organizationInviteModal.tsx | 3 ++- src/components/organization/orgUserRole.tsx | 1 + src/server/api/routers/organizationRouter.ts | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/adminPage/organization/organizationInviteModal.tsx b/src/components/adminPage/organization/organizationInviteModal.tsx index 2b6b6f8d..2bba3b19 100644 --- a/src/components/adminPage/organization/organizationInviteModal.tsx +++ b/src/components/adminPage/organization/organizationInviteModal.tsx @@ -74,8 +74,9 @@ const OrganizationInviteModal = ({ organizationId }: Iprops) => { onChange={(e) => dropDownHandler(e)} className="select select-sm select-bordered select-ghost max-w-xs" > - + + diff --git a/src/components/organization/orgUserRole.tsx b/src/components/organization/orgUserRole.tsx index 3113dbdc..aaa9d28c 100644 --- a/src/components/organization/orgUserRole.tsx +++ b/src/components/organization/orgUserRole.tsx @@ -63,6 +63,7 @@ const OrgUserRole = ({ user, organizationId }: Iuser) => { onChange={(e) => dropDownHandler(e, user?.id)} className="select select-sm select-bordered select-ghost max-w-xs" > + diff --git a/src/server/api/routers/organizationRouter.ts b/src/server/api/routers/organizationRouter.ts index 74564ff9..6757735f 100644 --- a/src/server/api/routers/organizationRouter.ts +++ b/src/server/api/routers/organizationRouter.ts @@ -676,7 +676,7 @@ export const organizationRouter = createTRPCRouter({ // make sure the user is not the owner of the organization if (org?.ownerId === input.userId) { - throw new Error("You cannot leave an organization you own."); + throw new Error("You cannot kick the organization owner."); } // Find the email of the user From 1b1fba1345989c07a27d9751f5363c2803bd3b18 Mon Sep 17 00:00:00 2001 From: Bernt Christian Egeland Date: Thu, 14 Mar 2024 08:34:06 +0100 Subject: [PATCH 02/15] headerbar --- src/components/organization/orgNavBar.tsx | 151 ++++++++++++++++++++++ src/pages/organization/[orgid].tsx | 13 +- 2 files changed, 158 insertions(+), 6 deletions(-) create mode 100644 src/components/organization/orgNavBar.tsx diff --git a/src/components/organization/orgNavBar.tsx b/src/components/organization/orgNavBar.tsx new file mode 100644 index 00000000..0665e80d --- /dev/null +++ b/src/components/organization/orgNavBar.tsx @@ -0,0 +1,151 @@ +import { useTranslations } from "next-intl"; +import { useAsideChatStore, useModalStore, useSocketStore } from "~/utils/store"; +import OrganizationWebhook from "./webhookModal"; + +export const OrgNavBar = ({ title, orgData }) => { + const { callModal } = useModalStore((state) => state); + const { toggleChat } = useAsideChatStore(); + const { hasNewMessages } = useSocketStore(); + const t = useTranslations(); + + return ( +
+
+
+
+ + + +
+ +
+ {title} +
+
+
    +
  • + INVITE USER +
  • + {/*
  • +
    + Parent + +
    +
  • */} +
  • { + callModal({ + rootStyle: "h-4/6", + title: ( +

    + + {t.rich( + "admin.organization.listOrganization.webhookModal.createWebhookTitle", + { + span: (children) => ( + {children} + ), + organization: orgData.orgName, + }, + )} + +

    + ), + content: , + }); + }} + > +

    WEBHOOKS

    +
  • +
  • + META +
  • +
+
+
+ {/* */} + +
+
+ ); +}; diff --git a/src/pages/organization/[orgid].tsx b/src/pages/organization/[orgid].tsx index adf02994..05e1fcf5 100644 --- a/src/pages/organization/[orgid].tsx +++ b/src/pages/organization/[orgid].tsx @@ -15,6 +15,7 @@ import useOrganizationWebsocket from "~/hooks/useOrganizationWebsocket"; import MetaTags from "~/components/shared/metaTags"; import NetworkLoadingSkeleton from "~/components/shared/networkLoadingSkeleton"; import { globalSiteTitle } from "~/utils/global"; +import { OrgNavBar } from "~/components/organization/orgNavBar"; const title = `${globalSiteTitle} - Organization`; @@ -117,16 +118,16 @@ const OrganizationById = ({ user, orgIds }) => { ); } return ( -
+
-
-
-
-

{orgData?.orgName}

+
+ {/*
+

{orgData?.description}

{t("organizationDashboard.header")}

-
+
*/} +
{/* Organization Users */} From 6700c4586ee5bb09c599976306901101c42c6400 Mon Sep 17 00:00:00 2001 From: Bernt Christian Egeland Date: Thu, 14 Mar 2024 12:46:52 +0100 Subject: [PATCH 03/15] headerbar --- src/components/layouts/chatAside.tsx | 11 +- src/components/organization/editOrgModal.tsx | 24 +++- src/components/organization/orgNavBar.tsx | 112 ++++++++++++------- src/pages/organization/[orgid].tsx | 9 +- src/server/api/routers/organizationRouter.ts | 4 +- 5 files changed, 111 insertions(+), 49 deletions(-) diff --git a/src/components/layouts/chatAside.tsx b/src/components/layouts/chatAside.tsx index 4285f80f..02a26361 100644 --- a/src/components/layouts/chatAside.tsx +++ b/src/components/layouts/chatAside.tsx @@ -59,7 +59,7 @@ const ChatAside = () => { const { openChats, toggleChat } = useAsideChatStore(); const [messages, setMessages] = useState([]); - const { messages: newMessages, hasNewMessages } = useSocketStore(); + const { messages: newMessages } = useSocketStore(); const [inputMsg, setInputMsg] = useState({ chatMessage: "" }); const query = useRouter().query; @@ -155,8 +155,7 @@ const ChatAside = () => { aria-label="Toggle chat" onClick={() => toggleChat(orgId)} > -
- {/* Replace with an actual chat icon */} + {/*
{openChats.includes(orgId) ? ( { /> )} -
+
{t("chatSidebar.toggleChatLabel")} {hasNewMessages[orgId] ? ( ) : null} -
-
+
+
*/} {/* Chat Aside Panel */}