mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
5a32d10f96
* chore: replaced marimekko graph with a bar graph * chore: add bar onClick handler * chore: custom date filter for widgets * style: priority graph * chore: workspace profile activity pagination * chore: profile activity pagination * chore: user profile activity pagination * chore: workspace user activity csv download * chore: download activity button added * chore: workspace user pagination * chore: collabrator pagination * chore: field change * chore: recent collaborators pagination * chore: changed the collabrators * chore: collabrators list changed * fix: distinct users * chore: search filter in collaborators * fix: import error * chore: update priority graph x-axis values * chore: admin and member request validation * chore: update csv download request method * chore: search implementation for the collaborators widget * refactor: priority distribution card * chore: add enum for duration filters * chore: update inbox types * chore: add todos for refactoring --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
49 lines
1.8 KiB
TypeScript
49 lines
1.8 KiB
TypeScript
import { useState } from "react";
|
|
import { Search } from "lucide-react";
|
|
// components
|
|
import { DefaultCollaboratorsList } from "./default-list";
|
|
import { SearchedCollaboratorsList } from "./search-list";
|
|
8;
|
|
// types
|
|
import { WidgetProps } from "components/dashboard/widgets";
|
|
|
|
const PER_PAGE = 8;
|
|
|
|
export const RecentCollaboratorsWidget: React.FC<WidgetProps> = (props) => {
|
|
const { dashboardId, workspaceSlug } = props;
|
|
// states
|
|
const [searchQuery, setSearchQuery] = useState("");
|
|
|
|
return (
|
|
<div className="bg-custom-background-100 rounded-xl border-[0.5px] border-custom-border-200 w-full hover:shadow-custom-shadow-4xl duration-300">
|
|
<div className="px-7 pt-6 flex items-start justify-between">
|
|
<div>
|
|
<h4 className="text-lg font-semibold text-custom-text-300">Most active members</h4>
|
|
<p className="mt-2 text-xs font-medium text-custom-text-300">
|
|
Top eight active members in your project by last activity
|
|
</p>
|
|
</div>
|
|
<div className="flex items-center justify-start gap-2 rounded-md border border-custom-border-200 px-2.5 py-1.5 placeholder:text-custom-text-400 min-w-72">
|
|
<Search className="h-3.5 w-3.5 text-custom-text-400" />
|
|
<input
|
|
className="w-full border-none bg-transparent text-sm focus:outline-none"
|
|
placeholder="Search for collaborators"
|
|
value={searchQuery}
|
|
onChange={(e) => setSearchQuery(e.target.value)}
|
|
/>
|
|
</div>
|
|
</div>
|
|
{searchQuery.trim() !== "" ? (
|
|
<SearchedCollaboratorsList
|
|
dashboardId={dashboardId}
|
|
perPage={PER_PAGE}
|
|
searchQuery={searchQuery}
|
|
workspaceSlug={workspaceSlug}
|
|
/>
|
|
) : (
|
|
<DefaultCollaboratorsList dashboardId={dashboardId} perPage={PER_PAGE} workspaceSlug={workspaceSlug} />
|
|
)}
|
|
</div>
|
|
);
|
|
};
|