Merge pull request #1410 from makeplane/develop

promote: develop to stage-release
This commit is contained in:
guru_sainath 2023-06-27 19:01:26 +05:30 committed by GitHub
commit 124d1c30aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 36 additions and 18 deletions

View File

@ -165,4 +165,4 @@ Our [Code of Conduct](https://github.com/makeplane/plane/blob/master/CODE_OF_CON
## ⛓️ Security
If you believe you have found a security vulnerability in Plane, we encourage you to responsibly disclose this and not open a public issue. We will investigate all legitimate reports. Email security@plane.so to disclose any security vulnerabilities.
If you believe you have found a security vulnerability in Plane, we encourage you to responsibly disclose this and not open a public issue. We will investigate all legitimate reports. Email engineering@plane.so to disclose any security vulnerabilities.

View File

@ -135,7 +135,7 @@ export const FilterList: React.FC<any> = ({ filters, setFilters }) => {
}`}
>
<span>{getPriorityIcon(priority)}</span>
<span>{priority ? priority : "None"}</span>
<span>{priority === "null" ? "None" : priority}</span>
<span
className="cursor-pointer"
onClick={() =>

View File

@ -52,7 +52,7 @@ const ProgressChart: React.FC<Props> = ({ distribution, startDate, endDate, tota
const maxDates = 4;
const totalDates = dates.length;
if (totalDates <= maxDates) return dates;
if (totalDates <= maxDates) return dates.map((d) => renderShortNumericDateFormat(d));
else {
const interval = Math.ceil(totalDates / maxDates);
const limitedDates = [];

View File

@ -49,6 +49,7 @@ type Props = {
handleEditIssue: (issue: IIssue) => void;
handleDeleteIssue: (issue: IIssue) => void;
gridTemplateColumns: string;
isCompleted?: boolean;
user: ICurrentUserResponse | undefined;
userAuth: UserAuth;
nestingLevel: number;
@ -62,6 +63,7 @@ export const SingleSpreadsheetIssue: React.FC<Props> = ({
handleEditIssue,
handleDeleteIssue,
gridTemplateColumns,
isCompleted = false,
user,
userAuth,
nestingLevel,
@ -170,7 +172,7 @@ export const SingleSpreadsheetIssue: React.FC<Props> = ({
className="relative group grid auto-rows-[minmax(44px,1fr)] hover:rounded-sm hover:bg-brand-surface-2 border-b border-brand-base w-full min-w-max"
style={{ gridTemplateColumns }}
>
<div className="flex gap-1.5 items-center px-4 sticky z-10 left-0 text-brand-secondary bg-brand-base group-hover:text-brand-base group-hover:bg-brand-surface-2 border-brand-base w-full">
<div className="flex gap-1.5 items-center px-4 sticky z-[1] left-0 text-brand-secondary bg-brand-base group-hover:text-brand-base group-hover:bg-brand-surface-2 border-brand-base w-full">
<div className="flex gap-1.5 items-center" style={issue.parent ? { paddingLeft } : {}}>
<div className="relative flex items-center cursor-pointer text-xs text-center hover:text-brand-base w-14">
{properties.key && (
@ -178,7 +180,7 @@ export const SingleSpreadsheetIssue: React.FC<Props> = ({
{issue.project_detail?.identifier}-{issue.sequence_id}
</span>
)}
{!isNotAllowed && (
{!isNotAllowed && !isCompleted && (
<div className="absolute top-0 left-2.5 opacity-0 group-hover:opacity-100">
<Popover2
isOpen={isOpen}

View File

@ -16,6 +16,7 @@ type Props = {
handleEditIssue: (issue: IIssue) => void;
handleDeleteIssue: (issue: IIssue) => void;
gridTemplateColumns: string;
isCompleted?: boolean;
user: ICurrentUserResponse | undefined;
userAuth: UserAuth;
nestingLevel?: number;
@ -30,6 +31,7 @@ export const SpreadsheetIssues: React.FC<Props> = ({
properties,
handleEditIssue,
handleDeleteIssue,
isCompleted = false,
user,
userAuth,
nestingLevel = 0,
@ -61,6 +63,7 @@ export const SpreadsheetIssues: React.FC<Props> = ({
properties={properties}
handleEditIssue={handleEditIssue}
handleDeleteIssue={handleDeleteIssue}
isCompleted={isCompleted}
user={user}
userAuth={userAuth}
nestingLevel={nestingLevel}
@ -80,6 +83,7 @@ export const SpreadsheetIssues: React.FC<Props> = ({
properties={properties}
handleEditIssue={handleEditIssue}
handleDeleteIssue={handleDeleteIssue}
isCompleted={isCompleted}
user={user}
userAuth={userAuth}
nestingLevel={nestingLevel + 1}

View File

@ -62,7 +62,7 @@ export const SpreadsheetView: React.FC<Props> = ({
return (
<div className="h-full rounded-lg text-brand-secondary overflow-x-auto whitespace-nowrap bg-brand-base">
<div className="sticky z-20 top-0 border-b border-brand-base bg-brand-surface-1 w-full min-w-max">
<div className="sticky z-[2] top-0 border-b border-brand-base bg-brand-surface-1 w-full min-w-max">
<SpreadsheetColumns columnData={columnData} gridTemplateColumns={gridTemplateColumns} />
</div>
{spreadsheetIssues ? (
@ -77,6 +77,7 @@ export const SpreadsheetView: React.FC<Props> = ({
properties={properties}
handleEditIssue={handleEditIssue}
handleDeleteIssue={handleDeleteIssue}
isCompleted={isCompleted}
user={user}
userAuth={userAuth}
/>

View File

@ -101,6 +101,13 @@ export const ActiveCycleDetails: React.FC = () => {
: null
) as { data: IIssue[] | undefined };
if (!currentCycle)
return (
<Loader>
<Loader.Item height="250px" />
</Loader>
);
if (!cycle)
return (
<div className="flex w-full items-center justify-start rounded-[10px] bg-brand-surface-2 px-6 py-4">

View File

@ -39,7 +39,7 @@ export const FiltersDropdown: React.FC = () => {
value: PRIORITIES,
children: [
...PRIORITIES.map((priority) => ({
id: priority ?? "none",
id: priority === null ? "null" : priority,
label: (
<div className="flex items-center gap-2">
{getPriorityIcon(priority)} {priority ?? "None"}
@ -47,9 +47,9 @@ export const FiltersDropdown: React.FC = () => {
),
value: {
key: "priority",
value: priority,
value: priority === null ? "null" : priority,
},
selected: filters?.priority?.includes(priority ?? "none"),
selected: filters?.priority?.includes(priority === null ? "null" : priority),
})),
],
},

View File

@ -38,8 +38,6 @@ import { renderShortNumericDateFormat } from "helpers/date-time.helper";
import type { IInboxIssue, IIssue } from "types";
// fetch-keys
import { INBOX_ISSUES, INBOX_ISSUE_DETAILS, PROJECT_ISSUES_ACTIVITY } from "constants/fetch-keys";
// constants
import { INBOX_STATUS } from "constants/inbox";
const defaultValues = {
name: "",
@ -192,7 +190,6 @@ export const InboxMainContent: React.FC = () => {
}, [issueDetails, reset, inboxIssueId]);
const issueStatus = issueDetails?.issue_inbox[0].status;
const inboxStatusDetails = INBOX_STATUS.find((s) => s.value === issueStatus);
if (!inboxIssueId)
return (
@ -224,11 +221,18 @@ export const InboxMainContent: React.FC = () => {
<div className="basis-2/3 h-full overflow-auto p-5 space-y-3">
<div
className={`flex items-center gap-2 p-3 text-sm border rounded-md ${
issueStatus === 0 &&
new Date(issueDetails.issue_inbox[0].snoozed_till ?? "") < new Date()
issueStatus === -2
? "text-yellow-500 border-yellow-500 bg-yellow-500/10"
: issueStatus === -1
? "text-red-500 border-red-500 bg-red-500/10"
: inboxStatusDetails
? `${inboxStatusDetails.textColor} ${inboxStatusDetails.bgColor} ${inboxStatusDetails.borderColor}`
: issueStatus === 0
? new Date(issueDetails.issue_inbox[0].snoozed_till ?? "") < new Date()
? "text-red-500 border-red-500 bg-red-500/10"
: "text-brand-secondary border-gray-500 bg-gray-500/10"
: issueStatus === 1
? "text-green-500 border-green-500 bg-green-500/10"
: issueStatus === 2
? "text-brand-secondary border-gray-500 bg-gray-500/10"
: ""
}`}
>

View File

@ -11,7 +11,7 @@ type Props = {
const Header: React.FC<Props> = ({ breadcrumbs, left, right, setToggleSidebar, noHeader }) => (
<div
className={`relative flex w-full flex-shrink-0 flex-row items-center justify-between gap-y-4 border-b border-brand-base bg-brand-sidebar px-5 py-4 ${
className={`relative flex w-full flex-shrink-0 flex-row z-10 items-center justify-between gap-y-4 border-b border-brand-base bg-brand-sidebar px-5 py-4 ${
noHeader ? "md:hidden" : ""
}`}
>

View File

@ -228,5 +228,5 @@ body {
/* popover2 styling */
.bp4-popover2-transition-container {
z-index: 20 !important;
z-index: 1 !important;
}