fix: casing throughout the platform (#5293)
This commit is contained in:
parent
3a5c77e8a4
commit
8f8a97589d
37 changed files with 50 additions and 146 deletions
|
|
@ -295,7 +295,7 @@ export const CycleIssuesHeader: React.FC = observer(() => {
|
||||||
}}
|
}}
|
||||||
size="sm"
|
size="sm"
|
||||||
>
|
>
|
||||||
Add Issue
|
Add issue
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ export const ProjectInboxHeader: FC = observer(() => {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Button variant="primary" size="sm" onClick={() => setCreateIssueModal(true)}>
|
<Button variant="primary" size="sm" onClick={() => setCreateIssueModal(true)}>
|
||||||
Add Issue
|
Add issue
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -302,7 +302,7 @@ export const ModuleIssuesHeader: React.FC = observer(() => {
|
||||||
}}
|
}}
|
||||||
size="sm"
|
size="sm"
|
||||||
>
|
>
|
||||||
Add Issue
|
Add issue
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ export const PagesListHeader = observer(() => {
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Add Page
|
Add page
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -287,7 +287,7 @@ export const ProjectViewIssuesHeader: React.FC = observer(() => {
|
||||||
}}
|
}}
|
||||||
size="sm"
|
size="sm"
|
||||||
>
|
>
|
||||||
Add Issue
|
Add issue
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ export const ProjectViewsHeader = observer(() => {
|
||||||
{canUserCreateView && (
|
{canUserCreateView && (
|
||||||
<div>
|
<div>
|
||||||
<Button variant="primary" size="sm" onClick={() => toggleCreateViewModal(true)}>
|
<Button variant="primary" size="sm" onClick={() => toggleCreateViewModal(true)}>
|
||||||
Add View
|
Add view
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -144,7 +144,7 @@ export const GlobalIssuesHeader = observer(() => {
|
||||||
)}
|
)}
|
||||||
{isAuthorizedUser && (
|
{isAuthorizedUser && (
|
||||||
<Button variant="primary" size="sm" onClick={() => setCreateViewModal(true)}>
|
<Button variant="primary" size="sm" onClick={() => setCreateViewModal(true)}>
|
||||||
Add View
|
Add view
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -157,11 +157,11 @@ export const LinkModal: FC<Props> = (props) => {
|
||||||
<Button variant="primary" size="sm" type="submit" loading={isSubmitting}>
|
<Button variant="primary" size="sm" type="submit" loading={isSubmitting}>
|
||||||
{status
|
{status
|
||||||
? isSubmitting
|
? isSubmitting
|
||||||
? "Updating Link..."
|
? "Updating link..."
|
||||||
: "Update Link"
|
: "Update link"
|
||||||
: isSubmitting
|
: isSubmitting
|
||||||
? "Adding Link..."
|
? "Adding link..."
|
||||||
: "Add Link"}
|
: "Add link"}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ export const CycleDeleteModal: React.FC<ICycleDelete> = observer((props) => {
|
||||||
handleSubmit={formSubmit}
|
handleSubmit={formSubmit}
|
||||||
isSubmitting={loader}
|
isSubmitting={loader}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Delete Cycle"
|
title="Delete cycle"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
Are you sure you want to delete cycle{' "'}
|
Are you sure you want to delete cycle{' "'}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ export const CycleForm: React.FC<Props> = (props) => {
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<h3 className="text-xl font-medium text-custom-text-200">{status ? "Update" : "Create"} Cycle</h3>
|
<h3 className="text-xl font-medium text-custom-text-200">{status ? "Update" : "Create"} cycle</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<div className="space-y-1">
|
<div className="space-y-1">
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ export const MemberDropdown: React.FC<Props> = observer((props) => {
|
||||||
>
|
>
|
||||||
{!hideIcon && <ButtonAvatars showTooltip={showTooltip} userIds={value} icon={icon} />}
|
{!hideIcon && <ButtonAvatars showTooltip={showTooltip} userIds={value} icon={icon} />}
|
||||||
{BUTTON_VARIANTS_WITH_TEXT.includes(buttonVariant) && (
|
{BUTTON_VARIANTS_WITH_TEXT.includes(buttonVariant) && (
|
||||||
<span className="flex-grow truncate text-xs leading-5">
|
<span className="flex-grow truncate">
|
||||||
{Array.isArray(value) && value.length > 0
|
{Array.isArray(value) && value.length > 0
|
||||||
? value.length === 1
|
? value.length === 1
|
||||||
? getUserDetails(value[0])?.display_name
|
? getUserDetails(value[0])?.display_name
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ export const EstimateEmptyScreen: FC<TEstimateEmptyScreen> = (props) => {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<Button onClick={onButtonClick}>Add Estimate System</Button>
|
<Button onClick={onButtonClick}>Add estimate system</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -1,97 +0,0 @@
|
||||||
"use client";
|
|
||||||
|
|
||||||
import React, { useState } from "react";
|
|
||||||
import { CheckCircle } from "lucide-react";
|
|
||||||
import { Dialog, Transition } from "@headlessui/react";
|
|
||||||
import type { TIssue } from "@plane/types";
|
|
||||||
// icons
|
|
||||||
// ui
|
|
||||||
import { Button } from "@plane/ui";
|
|
||||||
// hooks
|
|
||||||
import { useProject } from "@/hooks/store";
|
|
||||||
|
|
||||||
type Props = {
|
|
||||||
data: Partial<TIssue>;
|
|
||||||
isOpen: boolean;
|
|
||||||
onClose: () => void;
|
|
||||||
onSubmit: () => Promise<void>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const AcceptIssueModal: React.FC<Props> = ({ isOpen, onClose, data, onSubmit }) => {
|
|
||||||
const [isAccepting, setIsAccepting] = useState(false);
|
|
||||||
// hooks
|
|
||||||
const { getProjectById } = useProject();
|
|
||||||
|
|
||||||
const handleClose = () => {
|
|
||||||
setIsAccepting(false);
|
|
||||||
onClose();
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleAccept = () => {
|
|
||||||
setIsAccepting(true);
|
|
||||||
onSubmit().finally(() => setIsAccepting(false));
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Transition.Root show={isOpen} as={React.Fragment}>
|
|
||||||
<Dialog as="div" className="relative z-20" onClose={handleClose}>
|
|
||||||
<Transition.Child
|
|
||||||
as={React.Fragment}
|
|
||||||
enter="ease-out duration-300"
|
|
||||||
enterFrom="opacity-0"
|
|
||||||
enterTo="opacity-100"
|
|
||||||
leave="ease-in duration-200"
|
|
||||||
leaveFrom="opacity-100"
|
|
||||||
leaveTo="opacity-0"
|
|
||||||
>
|
|
||||||
<div className="fixed inset-0 bg-custom-backdrop transition-opacity" />
|
|
||||||
</Transition.Child>
|
|
||||||
|
|
||||||
<div className="fixed inset-0 z-10 overflow-y-auto">
|
|
||||||
<div className="flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0">
|
|
||||||
<Transition.Child
|
|
||||||
as={React.Fragment}
|
|
||||||
enter="ease-out duration-300"
|
|
||||||
enterFrom="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
|
|
||||||
enterTo="opacity-100 translate-y-0 sm:scale-100"
|
|
||||||
leave="ease-in duration-200"
|
|
||||||
leaveFrom="opacity-100 translate-y-0 sm:scale-100"
|
|
||||||
leaveTo="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
|
|
||||||
>
|
|
||||||
<Dialog.Panel className="relative transform overflow-hidden rounded-lg bg-custom-background-100 text-left shadow-custom-shadow-md transition-all sm:my-8 sm:w-full sm:max-w-2xl">
|
|
||||||
<div className="flex flex-col gap-6 p-6">
|
|
||||||
<div className="flex w-full items-center justify-start gap-6">
|
|
||||||
<span className="place-items-center rounded-full bg-green-500/20 p-4">
|
|
||||||
<CheckCircle className="h-6 w-6 text-green-600" aria-hidden="true" />
|
|
||||||
</span>
|
|
||||||
<span className="flex items-center justify-start">
|
|
||||||
<h3 className="text-xl font-medium 2xl:text-2xl">Accept Issue</h3>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<span>
|
|
||||||
<p className="text-sm text-custom-text-200">
|
|
||||||
Are you sure you want to accept issue{" "}
|
|
||||||
<span className="break-all font-medium text-custom-text-100">
|
|
||||||
{(data && data?.project_id && getProjectById(data?.project_id)?.identifier) || ""}-
|
|
||||||
{data?.sequence_id}
|
|
||||||
</span>
|
|
||||||
{""}? Once accepted, this issue will be added to the project issues list.
|
|
||||||
</p>
|
|
||||||
</span>
|
|
||||||
<div className="flex justify-end gap-2">
|
|
||||||
<Button variant="neutral-primary" size="sm" onClick={handleClose}>
|
|
||||||
Cancel
|
|
||||||
</Button>
|
|
||||||
<Button variant="primary" size="sm" tabIndex={1} onClick={handleAccept} loading={isAccepting}>
|
|
||||||
{isAccepting ? "Accepting..." : "Accept Issue"}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Dialog.Panel>
|
|
||||||
</Transition.Child>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Dialog>
|
|
||||||
</Transition.Root>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
@ -155,7 +155,7 @@ export const InboxIssueCreateRoot: FC<TInboxIssueCreateRoot> = observer((props)
|
||||||
return (
|
return (
|
||||||
<form onSubmit={handleFormSubmit}>
|
<form onSubmit={handleFormSubmit}>
|
||||||
<div className="space-y-5 p-5">
|
<div className="space-y-5 p-5">
|
||||||
<h3 className="text-xl font-medium text-custom-text-200">Create Intake Issue</h3>
|
<h3 className="text-xl font-medium text-custom-text-200">Create intake issue</h3>
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<InboxIssueTitle
|
<InboxIssueTitle
|
||||||
data={formData}
|
data={formData}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ export const DeclineIssueModal: React.FC<Props> = (props) => {
|
||||||
handleSubmit={handleDecline}
|
handleSubmit={handleDecline}
|
||||||
isSubmitting={isDeclining}
|
isSubmitting={isDeclining}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Decline Issue"
|
title="Decline issue"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
{" "}
|
{" "}
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ export const DeleteInboxIssueModal: React.FC<Props> = observer(({ isOpen, onClos
|
||||||
handleSubmit={handleDelete}
|
handleSubmit={handleDelete}
|
||||||
isSubmitting={isDeleting}
|
isSubmitting={isDeleting}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Delete Issue"
|
title="Delete issue"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
Are you sure you want to delete issue{" "}
|
Are you sure you want to delete issue{" "}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
export * from "./accept-issue-modal";
|
|
||||||
export * from "./create-edit-modal";
|
export * from "./create-edit-modal";
|
||||||
export * from "./decline-issue-modal";
|
export * from "./decline-issue-modal";
|
||||||
export * from "./delete-issue-modal";
|
export * from "./delete-issue-modal";
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ export const DeleteImportModal: React.FC<Props> = ({ isOpen, handleClose, data }
|
||||||
<AlertTriangle className="h-6 w-6 text-red-500" aria-hidden="true" />
|
<AlertTriangle className="h-6 w-6 text-red-500" aria-hidden="true" />
|
||||||
</span>
|
</span>
|
||||||
<span className="flex items-center justify-start">
|
<span className="flex items-center justify-start">
|
||||||
<h3 className="text-xl font-medium 2xl:text-2xl">Delete Project</h3>
|
<h3 className="text-xl font-medium 2xl:text-2xl">Delete project</h3>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<span>
|
<span>
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ export const DeleteIssueModal: React.FC<Props> = (props) => {
|
||||||
handleSubmit={handleIssueDelete}
|
handleSubmit={handleIssueDelete}
|
||||||
isSubmitting={isDeleting}
|
isSubmitting={isDeleting}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Delete Issue"
|
title="Delete issue"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
Are you sure you want to delete issue{" "}
|
Are you sure you want to delete issue{" "}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ export const IssueDetailWidgetActionButtons: FC<Props> = (props) => {
|
||||||
issueId={issueId}
|
issueId={issueId}
|
||||||
customButton={
|
customButton={
|
||||||
<IssueDetailWidgetButton
|
<IssueDetailWidgetButton
|
||||||
title="Add sub-issues"
|
title="Add sub-issue"
|
||||||
icon={<Layers className="h-3.5 w-3.5 flex-shrink-0" strokeWidth={2} />}
|
icon={<Layers className="h-3.5 w-3.5 flex-shrink-0" strokeWidth={2} />}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
/>
|
/>
|
||||||
|
|
@ -36,7 +36,7 @@ export const IssueDetailWidgetActionButtons: FC<Props> = (props) => {
|
||||||
issueId={issueId}
|
issueId={issueId}
|
||||||
customButton={
|
customButton={
|
||||||
<IssueDetailWidgetButton
|
<IssueDetailWidgetButton
|
||||||
title="Add Relation"
|
title="Add relation"
|
||||||
icon={<Waypoints className="h-3.5 w-3.5 flex-shrink-0" strokeWidth={2} />}
|
icon={<Waypoints className="h-3.5 w-3.5 flex-shrink-0" strokeWidth={2} />}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
/>
|
/>
|
||||||
|
|
@ -46,7 +46,7 @@ export const IssueDetailWidgetActionButtons: FC<Props> = (props) => {
|
||||||
<IssueLinksActionButton
|
<IssueLinksActionButton
|
||||||
customButton={
|
customButton={
|
||||||
<IssueDetailWidgetButton
|
<IssueDetailWidgetButton
|
||||||
title="Add Links"
|
title="Add link"
|
||||||
icon={<Link className="h-3.5 w-3.5 flex-shrink-0" strokeWidth={2} />}
|
icon={<Link className="h-3.5 w-3.5 flex-shrink-0" strokeWidth={2} />}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ export const IssueCycleSelect: React.FC<TIssueCycleSelect> = observer((props) =>
|
||||||
disabled={disableSelect}
|
disabled={disableSelect}
|
||||||
buttonVariant="transparent-with-text"
|
buttonVariant="transparent-with-text"
|
||||||
className="group w-full"
|
className="group w-full"
|
||||||
buttonContainerClassName="w-full text-left"
|
buttonContainerClassName="w-full text-left rounded"
|
||||||
buttonClassName={`text-sm justify-between ${issue?.cycle_id ? "" : "text-custom-text-400"}`}
|
buttonClassName={`text-sm justify-between ${issue?.cycle_id ? "" : "text-custom-text-400"}`}
|
||||||
placeholder="No cycle"
|
placeholder="No cycle"
|
||||||
hideIcon
|
hideIcon
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ export const IssueLinkCreateUpdateModal: FC<TIssueLinkCreateEditModal> = observe
|
||||||
<div>
|
<div>
|
||||||
<div className="space-y-5">
|
<div className="space-y-5">
|
||||||
<Dialog.Title as="h3" className="text-lg font-medium leading-6 text-custom-text-100">
|
<Dialog.Title as="h3" className="text-lg font-medium leading-6 text-custom-text-100">
|
||||||
{preloadedData?.id ? "Update Link" : "Add Link"}
|
{preloadedData?.id ? "Update link" : "Add link"}
|
||||||
</Dialog.Title>
|
</Dialog.Title>
|
||||||
<div className="mt-2 space-y-3">
|
<div className="mt-2 space-y-3">
|
||||||
<div>
|
<div>
|
||||||
|
|
@ -152,11 +152,11 @@ export const IssueLinkCreateUpdateModal: FC<TIssueLinkCreateEditModal> = observe
|
||||||
<Button variant="primary" size="sm" type="submit" loading={isSubmitting}>
|
<Button variant="primary" size="sm" type="submit" loading={isSubmitting}>
|
||||||
{preloadedData?.id
|
{preloadedData?.id
|
||||||
? isSubmitting
|
? isSubmitting
|
||||||
? "Updating Link..."
|
? "Updating link..."
|
||||||
: "Update Link"
|
: "Update link"
|
||||||
: isSubmitting
|
: isSubmitting
|
||||||
? "Adding Link..."
|
? "Adding link..."
|
||||||
: "Add Link"}
|
: "Add link"}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ export const IssueModuleSelect: React.FC<TIssueModuleSelect> = observer((props)
|
||||||
placeholder="No module"
|
placeholder="No module"
|
||||||
disabled={disableSelect}
|
disabled={disableSelect}
|
||||||
className="group h-full w-full"
|
className="group h-full w-full"
|
||||||
buttonContainerClassName="w-full"
|
buttonContainerClassName="w-full rounded"
|
||||||
buttonClassName={`min-h-8 text-sm justify-between ${issue?.module_ids?.length ? "" : "text-custom-text-400"}`}
|
buttonClassName={`min-h-8 text-sm justify-between ${issue?.module_ids?.length ? "" : "text-custom-text-400"}`}
|
||||||
buttonVariant="transparent-with-text"
|
buttonVariant="transparent-with-text"
|
||||||
hideIcon
|
hideIcon
|
||||||
|
|
|
||||||
|
|
@ -222,7 +222,7 @@ export const IssueDetailsSidebar: React.FC<Props> = observer((props) => {
|
||||||
<div className="flex min-h-8 gap-2">
|
<div className="flex min-h-8 gap-2">
|
||||||
<div className="flex w-2/5 flex-shrink-0 gap-1 pt-2 text-sm text-custom-text-300">
|
<div className="flex w-2/5 flex-shrink-0 gap-1 pt-2 text-sm text-custom-text-300">
|
||||||
<DiceIcon className="h-4 w-4 flex-shrink-0" />
|
<DiceIcon className="h-4 w-4 flex-shrink-0" />
|
||||||
<span>Module</span>
|
<span>Modules</span>
|
||||||
</div>
|
</div>
|
||||||
<IssueModuleSelect
|
<IssueModuleSelect
|
||||||
className="w-3/5 flex-grow"
|
className="w-3/5 flex-grow"
|
||||||
|
|
|
||||||
|
|
@ -250,11 +250,11 @@ export const CalendarQuickAddIssueForm: React.FC<Props> = observer((props) => {
|
||||||
customButton={
|
customButton={
|
||||||
<div className="flex w-full items-center gap-x-[6px] rounded-md px-2 py-1.5 text-custom-text-350 hover:text-custom-text-300">
|
<div className="flex w-full items-center gap-x-[6px] rounded-md px-2 py-1.5 text-custom-text-350 hover:text-custom-text-300">
|
||||||
<PlusIcon className="h-3.5 w-3.5 stroke-2 flex-shrink-0" />
|
<PlusIcon className="h-3.5 w-3.5 stroke-2 flex-shrink-0" />
|
||||||
<span className="text-sm font-medium flex-shrink-0">New Issue</span>
|
<span className="text-sm font-medium flex-shrink-0">New issue</span>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<CustomMenu.MenuItem onClick={handleNewIssue}>New Issue</CustomMenu.MenuItem>
|
<CustomMenu.MenuItem onClick={handleNewIssue}>New issue</CustomMenu.MenuItem>
|
||||||
<CustomMenu.MenuItem onClick={handleExistingIssue}>Add existing issue</CustomMenu.MenuItem>
|
<CustomMenu.MenuItem onClick={handleExistingIssue}>Add existing issue</CustomMenu.MenuItem>
|
||||||
</CustomMenu>
|
</CustomMenu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -363,7 +363,7 @@ export const IssueFormRoot: FC<IssueFormProps> = observer((props) => {
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<h3 className="text-xl font-medium text-custom-text-200">{data?.id ? "Update" : "Create"} Issue</h3>
|
<h3 className="text-xl font-medium text-custom-text-200">{data?.id ? "Update" : "Create"} issue</h3>
|
||||||
</div>
|
</div>
|
||||||
{watch("parent_id") && selectedParentIssue && (
|
{watch("parent_id") && selectedParentIssue && (
|
||||||
<Controller
|
<Controller
|
||||||
|
|
|
||||||
|
|
@ -225,7 +225,7 @@ export const PeekOverviewProperties: FC<IPeekOverviewProperties> = observer((pro
|
||||||
<div className="flex w-full items-center gap-3 min-h-8 h-full">
|
<div className="flex w-full items-center gap-3 min-h-8 h-full">
|
||||||
<div className="flex items-center gap-1 w-1/4 flex-shrink-0 text-sm text-custom-text-300">
|
<div className="flex items-center gap-1 w-1/4 flex-shrink-0 text-sm text-custom-text-300">
|
||||||
<DiceIcon className="h-4 w-4 flex-shrink-0" />
|
<DiceIcon className="h-4 w-4 flex-shrink-0" />
|
||||||
<span>Module</span>
|
<span>Modules</span>
|
||||||
</div>
|
</div>
|
||||||
<IssueModuleSelect
|
<IssueModuleSelect
|
||||||
className="w-3/4 flex-grow"
|
className="w-3/4 flex-grow"
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ export const DeleteModuleModal: React.FC<Props> = observer((props) => {
|
||||||
handleSubmit={handleDeletion}
|
handleSubmit={handleDeletion}
|
||||||
isSubmitting={isDeleteLoading}
|
isSubmitting={isDeleteLoading}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Delete Module"
|
title="Delete module"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
Are you sure you want to delete module-{" "}
|
Are you sure you want to delete module-{" "}
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ export const ModuleForm: React.FC<Props> = (props) => {
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<h3 className="text-xl font-medium text-custom-text-200">{status ? "Update" : "Create"} Module</h3>
|
<h3 className="text-xl font-medium text-custom-text-200">{status ? "Update" : "Create"} module</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<div className="space-y-1">
|
<div className="space-y-1">
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@ export const DeletePageModal: React.FC<TConfirmPageDeletionProps> = observer((pr
|
||||||
handleSubmit={handleDelete}
|
handleSubmit={handleDelete}
|
||||||
isSubmitting={isDeleting}
|
isSubmitting={isDeleting}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Delete Page"
|
title="Delete page"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
Are you sure you want to delete page-{" "}
|
Are you sure you want to delete page-{" "}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ export const PageForm: React.FC<Props> = (props) => {
|
||||||
return (
|
return (
|
||||||
<form onSubmit={handlePageFormSubmit}>
|
<form onSubmit={handlePageFormSubmit}>
|
||||||
<div className="space-y-5 p-5">
|
<div className="space-y-5 p-5">
|
||||||
<h3 className="text-xl font-medium text-custom-text-200">Create Page</h3>
|
<h3 className="text-xl font-medium text-custom-text-200">Create page</h3>
|
||||||
<div className="flex items-start gap-2 h-9 w-full">
|
<div className="flex items-start gap-2 h-9 w-full">
|
||||||
<EmojiIconPicker
|
<EmojiIconPicker
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
|
|
|
||||||
|
|
@ -330,12 +330,12 @@ export const CreateProjectForm: FC<Props> = observer((props) => {
|
||||||
const currentNetwork = NETWORK_CHOICES.find((n) => n.key === value);
|
const currentNetwork = NETWORK_CHOICES.find((n) => n.key === value);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex-shrink-0" tabIndex={4}>
|
<div className="flex-shrink-0 h-7" tabIndex={4}>
|
||||||
<CustomSelect
|
<CustomSelect
|
||||||
value={value}
|
value={value}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
label={
|
label={
|
||||||
<div className="flex items-center gap-1">
|
<div className="flex items-center gap-1 h-full">
|
||||||
{currentNetwork ? (
|
{currentNetwork ? (
|
||||||
<>
|
<>
|
||||||
<currentNetwork.icon className="h-3 w-3" />
|
<currentNetwork.icon className="h-3 w-3" />
|
||||||
|
|
@ -347,6 +347,8 @@ export const CreateProjectForm: FC<Props> = observer((props) => {
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
placement="bottom-start"
|
placement="bottom-start"
|
||||||
|
className="h-full"
|
||||||
|
buttonClassName="h-full"
|
||||||
noChevron
|
noChevron
|
||||||
tabIndex={4}
|
tabIndex={4}
|
||||||
>
|
>
|
||||||
|
|
@ -372,7 +374,7 @@ export const CreateProjectForm: FC<Props> = observer((props) => {
|
||||||
render={({ field: { value, onChange } }) => {
|
render={({ field: { value, onChange } }) => {
|
||||||
if (value === undefined || value === null || typeof value === "string")
|
if (value === undefined || value === null || typeof value === "string")
|
||||||
return (
|
return (
|
||||||
<div className="flex-shrink-0" tabIndex={5}>
|
<div className="flex-shrink-0 h-7" tabIndex={5}>
|
||||||
<MemberDropdown
|
<MemberDropdown
|
||||||
value={value}
|
value={value}
|
||||||
onChange={(lead) => onChange(lead === value ? null : lead)}
|
onChange={(lead) => onChange(lead === value ? null : lead)}
|
||||||
|
|
|
||||||
|
|
@ -322,8 +322,8 @@ export const SendProjectInvitationModal: React.FC<Props> = observer((props) => {
|
||||||
</Button>
|
</Button>
|
||||||
<Button variant="primary" size="sm" type="submit" loading={isSubmitting}>
|
<Button variant="primary" size="sm" type="submit" loading={isSubmitting}>
|
||||||
{isSubmitting
|
{isSubmitting
|
||||||
? `${fields && fields.length > 1 ? "Adding Members..." : "Adding Member..."}`
|
? `${fields && fields.length > 1 ? "Adding members..." : "Adding member..."}`
|
||||||
: `${fields && fields.length > 1 ? "Add Members" : "Add Member"}`}
|
: `${fields && fields.length > 1 ? "Add members" : "Add member"}`}
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ export const DeleteProjectViewModal: React.FC<Props> = observer((props) => {
|
||||||
handleSubmit={handleDeleteView}
|
handleSubmit={handleDeleteView}
|
||||||
isSubmitting={isDeleteLoading}
|
isSubmitting={isDeleteLoading}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Delete View"
|
title="Delete view"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
Are you sure you want to delete view-{" "}
|
Are you sure you want to delete view-{" "}
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ export const ProjectViewForm: React.FC<Props> = observer((props) => {
|
||||||
return (
|
return (
|
||||||
<form onSubmit={handleSubmit(handleCreateUpdateView)}>
|
<form onSubmit={handleSubmit(handleCreateUpdateView)}>
|
||||||
<div className="space-y-5 p-5">
|
<div className="space-y-5 p-5">
|
||||||
<h3 className="text-xl font-medium text-custom-text-200">{data ? "Update" : "Create"} View</h3>
|
<h3 className="text-xl font-medium text-custom-text-200">{data ? "Update" : "Create"} view</h3>
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<div className="flex items-start gap-2 w-full">
|
<div className="flex items-start gap-2 w-full">
|
||||||
<EmojiIconPicker
|
<EmojiIconPicker
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ export const DeleteGlobalViewModal: React.FC<Props> = observer((props) => {
|
||||||
handleSubmit={handleDeletion}
|
handleSubmit={handleDeletion}
|
||||||
isSubmitting={isDeleteLoading}
|
isSubmitting={isDeleteLoading}
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
title="Delete View"
|
title="Delete view"
|
||||||
content={
|
content={
|
||||||
<>
|
<>
|
||||||
Are you sure you want to delete view-{" "}
|
Are you sure you want to delete view-{" "}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"sw.js","sources":["../../../../../../../private/tmp/ea290982c9ca115771c7186cd16ad5dd/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/Users/narayan/Desktop/personal/plane/plane/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from '/Users/narayan/Desktop/personal/plane/plane/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {NetworkOnly as workbox_strategies_NetworkOnly} from '/Users/narayan/Desktop/personal/plane/plane/node_modules/workbox-strategies/NetworkOnly.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from '/Users/narayan/Desktop/personal/plane/plane/node_modules/workbox-core/clientsClaim.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \n);\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n\nworkbox_routing_registerRoute(\"/\", new workbox_strategies_NetworkFirst({ \"cacheName\":\"start-url\", plugins: [{ cacheWillUpdate: async ({ request, response, event, state }) => { if (response && response.type === 'opaqueredirect') { return new Response(response.body, { status: 200, statusText: 'OK', headers: response.headers }) } return response } }] }), 'GET');\nworkbox_routing_registerRoute(/.*/i, new workbox_strategies_NetworkOnly({ \"cacheName\":\"dev\", plugins: [] }), 'GET');\n\n\n\n\n"],"names":["importScripts","self","skipWaiting","workbox_core_clientsClaim","workbox_routing_registerRoute","workbox_strategies_NetworkFirst","plugins","cacheWillUpdate","request","response","event","state","type","Response","body","status","statusText","headers","workbox_strategies_NetworkOnly"],"mappings":"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"}
|
{"version":3,"file":"sw.js","sources":["../../../../../private/tmp/50f50ba014f4feaeaa3ddc8366af217e/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/Users/aaryan610/Desktop/plane/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from '/Users/aaryan610/Desktop/plane/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {NetworkOnly as workbox_strategies_NetworkOnly} from '/Users/aaryan610/Desktop/plane/node_modules/workbox-strategies/NetworkOnly.mjs';\nimport {clientsClaim as workbox_core_clientsClaim} from '/Users/aaryan610/Desktop/plane/node_modules/workbox-core/clientsClaim.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\nimportScripts(\n \n);\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n\nworkbox_routing_registerRoute(\"/\", new workbox_strategies_NetworkFirst({ \"cacheName\":\"start-url\", plugins: [{ cacheWillUpdate: async ({ request, response, event, state }) => { if (response && response.type === 'opaqueredirect') { return new Response(response.body, { status: 200, statusText: 'OK', headers: response.headers }) } return response } }] }), 'GET');\nworkbox_routing_registerRoute(/.*/i, new workbox_strategies_NetworkOnly({ \"cacheName\":\"dev\", plugins: [] }), 'GET');\n\n\n\n\n"],"names":["importScripts","self","skipWaiting","workbox_core_clientsClaim","workbox_routing_registerRoute","workbox_strategies_NetworkFirst","plugins","cacheWillUpdate","request","response","event","state","type","Response","body","status","statusText","headers","workbox_strategies_NetworkOnly"],"mappings":"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"}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue