+ {links.map((link: SidebarLink, index: number) => {
+ const active: boolean = index === 0;
+ return (
+
+
+ {link.icon}
+ {link.name}
+
+
+ );
+ })}
+
+ );
+};
+export default Links;
diff --git a/src/components/dashboard/sidebar/organization-selector.tsx b/src/components/dashboard/sidebar/organization-selector.tsx
new file mode 100644
index 0000000..adf7fc9
--- /dev/null
+++ b/src/components/dashboard/sidebar/organization-selector.tsx
@@ -0,0 +1,133 @@
+"use client";
+
+import * as React from "react";
+import { ReactElement, useEffect, useState } from "react";
+import { ChevronsUpDownIcon } from "lucide-react";
+import { Button } from "@/components/ui/button";
+import InitialsAvatar from "react-initials-avatar";
+import {
+ Command,
+ CommandEmpty,
+ CommandGroup,
+ CommandInput,
+ CommandItem,
+ CommandList,
+} from "@/components/ui/command";
+import {
+ Popover,
+ PopoverContent,
+ PopoverTrigger,
+} from "@/components/ui/popover";
+import { useOrganizationContext } from "@/app/provider/organization-provider";
+import { OrganizationState } from "@/app/store/organization-store";
+import { Organization } from "@/app/types/org/organization";
+import { CheckIcon } from "@heroicons/react/24/outline";
+import Image from "next/image";
+
+/**
+ * The organization selector.
+ *
+ * @return the selector jsx
+ */
+const OrganizationSelector = (): ReactElement => {
+ const selectedOrganization: string | undefined = useOrganizationContext(
+ (state: OrganizationState) => state.selected
+ );
+ const setSelectedOrganization = useOrganizationContext(
+ (state) => state.setSelected
+ );
+ const organizations: Organization[] = useOrganizationContext(
+ (state: OrganizationState) => state.organizations
+ );
+ const [open, setOpen] = useState