"use client" import * as React from "react" import { ChevronsUpDown, Check, CirclePlus } from 'lucide-react'; import { cn, getCookiesDecrypt } from "@/lib/utils" import { Avatar, AvatarFallback, AvatarImage, } from "@/components/ui/avatar" import { Button } from "@/components/ui/button" import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, } from "@/components/ui/command" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" import { useConfig } from "@/hooks/use-config"; import { useMediaQuery } from "@/hooks/use-media-query"; import { motion, AnimatePresence } from "framer-motion"; import { useMenuHoverConfig } from "@/hooks/use-menu-hover"; import { getInfoProfile } from "@/service/auth"; import { getUserRolePlacements, saveUserRolePlacements } from "@/service/management-user/management-user"; // var groups = [ // { // label: "Wilayah Tugas", // teams: [], // }, // ] // type Team = (typeof groups)[number]["teams"][number] type PopoverTriggerProps = React.ComponentPropsWithoutRef interface TeamSwitcherProps extends PopoverTriggerProps { } const scaleVariants = { collapsed: { scale: 0.8 }, expanded: { scale: 1 } }; export default function TeamWorkspaceSwitcher({ className }: TeamSwitcherProps) { const [config] = useConfig(); const [hoverConfig] = useMenuHoverConfig(); const { hovered } = hoverConfig; const [detail, setDetail] = React.useState(); const userId = getCookiesDecrypt("uie"); const [open, setOpen] = React.useState(false); const [showNewTeamDialog, setShowNewTeamDialog] = React.useState(false); const [groups, setGroups] = React.useState() const [selectedTeam, setSelectedTeam] = React.useState({ label: "", value: "" }); const isDesktop = useMediaQuery("(min-width: 1280px)") if (config.showSwitcher === false || config.sidebar === 'compact') return null React.useEffect(() => { async function initState() { const response = await getInfoProfile(); const details = response?.data?.data; setDetail(details); console.log("data", details); } async function getPlacement() { const response = await getUserRolePlacements(Number(userId)); const data = response?.data?.data; var placementArr: any[] = []; data?.forEach((row: any) => { placementArr.push({ label: row.roleName + " | " + row.userLevelName, value: Number(row.id), }); }); const groupsTemp = [ { label: "Wilayah Tugas", teams: placementArr, } ]; setGroups(groupsTemp); } initState(); getPlacement(); }, []); return ( {(config.collapsed && !hovered) ? : } No team found. {groups?.map((group: any) => ( {group.teams.map((team: any) => ( { setSelectedTeam(team) setOpen(false) }} className="text-sm font-normal" > {team.label} ))} ))} {/* */} {/* { setOpen(false) setShowNewTeamDialog(true) }} > Create Team */} Create team Add a new team to manage products and customers.
) }