diff --git a/src/widgets/quick-create/ui/QuickCreate.tsx b/src/widgets/quick-create/ui/QuickCreate.tsx
index f1e3a4d..b3925b8 100644
--- a/src/widgets/quick-create/ui/QuickCreate.tsx
+++ b/src/widgets/quick-create/ui/QuickCreate.tsx
@@ -1,28 +1,22 @@
'use client';
-
+import { useState } from 'react';
+import { FolderPlus, Plus, UsersRound, LayoutGrid } from 'lucide-react';
+import { useParams } from 'next/navigation';
import { useTeamStore } from 'entities/team';
import { CreateProjectDialog } from 'features/projects/create';
import { CreateTeamDialog } from 'features/teams/create';
-import { FolderPlus, Plus, UsersRound } from 'lucide-react';
-import { useState } from 'react';
-import {
- Button,
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuTrigger,
- Item,
- ItemContent,
- ItemDescription,
- ItemMedia,
- ItemTitle,
-} from 'shared/ui';
+import { CreateBoardDialog } from 'features/boards/create';
+import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from 'shared/ui';
+import { QuickCreateItem } from './QuickCreateItem'; // ← Новый импорт
export function QuickCreate() {
const teamId = useTeamStore.use.teamId();
const [open, setOpen] = useState(false);
const [createTeamOpen, setCreateTeamOpen] = useState(false);
const [createProjectOpen, setCreateProjectOpen] = useState(false);
+ const [createBoardOpen, setCreateBoardOpen] = useState(false);
+ const params = useParams<{ projectSlug: string }>();
+ const projectSlug = params?.projectSlug;
return (
@@ -41,51 +35,45 @@ export function QuickCreate() {
align="end"
className="w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg"
>
- {
- e.preventDefault();
+ }
+ title="Команда"
+ description="Создать новую команду"
+ onOpenChange={() => {
setOpen(false);
setCreateTeamOpen(true);
}}
- >
- -
-
-
-
-
- Команда
-
- Создать новую команду
-
-
-
-
-
+
+ }
+ title="Проект"
+ description="Создать новый проект"
disabled={!teamId}
- onSelect={(e) => {
- e.preventDefault();
+ onOpenChange={() => {
setOpen(false);
setCreateProjectOpen(true);
}}
- >
- -
-
-
-
-
- Проект
-
- Создать новый проект
-
-
-
-
+ />
+
+ }
+ title="Доска"
+ description="Создать новую доску в проекте"
+ disabled={!projectSlug}
+ onOpenChange={() => {
+ setOpen(false);
+ setCreateBoardOpen(true);
+ }}
+ />
+
+
);
}
diff --git a/src/widgets/quick-create/ui/QuickCreateItem.tsx b/src/widgets/quick-create/ui/QuickCreateItem.tsx
new file mode 100644
index 0000000..d71db4e
--- /dev/null
+++ b/src/widgets/quick-create/ui/QuickCreateItem.tsx
@@ -0,0 +1,43 @@
+import { ReactNode } from 'react';
+import {
+ DropdownMenuItem,
+ Item,
+ ItemContent,
+ ItemDescription,
+ ItemMedia,
+ ItemTitle,
+} from 'shared/ui';
+
+interface QuickCreateItemProps {
+ icon: ReactNode;
+ title: string;
+ description: string;
+ disabled?: boolean;
+ onOpenChange: () => void;
+}
+
+export function QuickCreateItem({
+ icon,
+ title,
+ description,
+ disabled = false,
+ onOpenChange,
+}: QuickCreateItemProps) {
+ return (
+ {
+ e.preventDefault();
+ onOpenChange();
+ }}
+ >
+ -
+ {icon}
+
+ {title}
+ {description}
+
+
+
+ );
+}