"use client";
import { CornerDownLeft, MoreHorizontalIcon, Search } from "lucide-react";
import { useMemo, useState } from "react";
import { Button } from "@/components/ui/button";
import {
Dialog,
DialogContent,
DialogFooter,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { cn } from "@/lib/utils";
interface User {
name: string;
email: string;
accessLevel: string;
status?: string;
image?: string;
}
interface Cta {
title: string;
ctaText: string;
ctaLink: string;
}
interface SettingsMembers2Props {
heading?: string;
subHeading?: Cta;
users?: User[];
className?: string;
}
const SettingsMembers2 = ({
heading = "اعضای فضای کاری",
subHeading = {
title:
"همکاران فروش و پشتیبانی را دعوت کنید و سطح دسترسی هر عضو به سامانه مدیریت ارتباط با مشتری را تعیین کنید.",
ctaText: "راهنمای نقشها و دسترسیها",
ctaLink: "#",
},
users = [
{
name: "سارا مرتضوی",
email: "sofia.m@example.com",
accessLevel: "مالک فضای کاری",
image:
"/block-media/shadcnblocks/block/avatar/avatar2.jpg",
},
{
name: "امیر چناری",
email: "alex.c@example.com",
accessLevel: "فروشنده",
status: "دعوت در انتظار",
},
{
name: "ژوبین بلاکی",
email: "jordan.b@example.com",
accessLevel: "فقط مشاهده",
image:
"/block-media/shadcnblocks/block/avatar/avatar3.jpg",
},
{
name: "مریم رئیسی",
email: "morgan.r@example.com",
accessLevel: "فروشنده",
status: "دعوت در انتظار",
},
],
className,
}: SettingsMembers2Props) => {
const [searchValue, setSearchValue] = useState("");
const filteredUsers = useMemo(() => {
return users.filter((user) => {
return (
user.name.toLowerCase().includes(searchValue.toLowerCase()) ||
user.email.toLowerCase().includes(searchValue.toLowerCase())
);
});
}, [users, searchValue]);
return (
{filteredUsers.length.toLocaleString("fa-IR")} عضو فعال
{heading}
{cta.title}{" "} {cta.ctaText}
); }; interface UserCardProps { user: User; } const UserCard = ({ user }: UserCardProps) => { return ({user.name}
{user.email}