import React, { useState, useRef } from 'react'; import * as BoardStateUtils from 'shared/utils/boardState'; import GlobalTopNavbar from 'App/TopNavbar'; import styled from 'styled-components/macro'; import { Bolt, ToggleOn, Tags } from 'shared/icons'; import { usePopup, Popup } from 'shared/components/PopupMenu'; import { useParams, Route, useRouteMatch, useHistory, RouteComponentProps } from 'react-router-dom'; import { useFindProjectQuery, useUpdateTaskNameMutation, useCreateTaskMutation, useDeleteTaskMutation, useUpdateTaskLocationMutation, useUpdateTaskGroupLocationMutation, useCreateTaskGroupMutation, useDeleteTaskGroupMutation, useUpdateTaskDescriptionMutation, useAssignTaskMutation, DeleteTaskDocument, FindProjectDocument, } from 'shared/generated/graphql'; import QuickCardEditor from 'shared/components/QuickCardEditor'; import ListActions from 'shared/components/ListActions'; import MemberManager from 'shared/components/MemberManager'; import { LabelsPopup } from 'shared/components/PopupMenu/PopupMenu.stories'; import KanbanBoard from 'Projects/Project/KanbanBoard'; import { mixin } from 'shared/utils/styles'; import LabelManager from 'shared/components/PopupMenu/LabelManager'; import LabelEditor from 'shared/components/PopupMenu/LabelEditor'; import produce from 'immer'; import Details from './Details'; type TaskRouteProps = { taskID: string; }; interface QuickCardEditorState { isOpen: boolean; left: number; top: number; task?: Task; } const TitleWrapper = styled.div` margin-left: 38px; margin-bottom: 15px; `; const Title = styled.span` text-align: center; font-size: 24px; color: #fff; `; type LabelManagerEditorProps = { labels: Array