[WEB-1883] chore: moved workspace settings to respective folders for CE and EE (#5151)

* chore: moved workspace settings to respective folders for ce and ee

* chore: updated imports

* chore: updated imports for ee

* chore: resolved import error

* chore: resolved import error

* chore: ee imports in the issue sidebar

* chore: updated file structure

* chore: table UI

* chore: resolved build errors

* chore: added worklog on issue peekoverview
This commit is contained in:
guru_sainath 2024-07-18 14:45:30 +05:30 committed by GitHub
parent fff27c60e4
commit 482b363045
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 440 additions and 285 deletions

View file

@ -55,4 +55,9 @@ export type TIssueActivityComment =
id: string;
activity_type: "ACTIVITY";
created_at?: string;
}
| {
id: string;
activity_type: "WORKLOG";
created_at?: string;
};

View file

@ -1,199 +1,199 @@
import {EUserWorkspaceRoles} from "@/constants/workspace";
import { EUserWorkspaceRoles } from "@/constants/workspace";
import type {
IProjectMember,
IUser,
IUserLite,
IWorkspaceViewProps,
IProjectMember,
IUser,
IUserLite,
IWorkspaceViewProps,
} from "@plane/types";
export interface IWorkspace {
readonly id: string;
readonly owner: IUser;
readonly created_at: Date;
readonly updated_at: Date;
name: string;
url: string;
logo: string | null;
slug: string;
readonly total_members: number;
readonly slug: string;
readonly created_by: string;
readonly updated_by: string;
organization_size: string;
total_issues: number;
readonly id: string;
readonly owner: IUser;
readonly created_at: Date;
readonly updated_at: Date;
name: string;
url: string;
logo: string | null;
slug: string;
readonly total_members: number;
readonly slug: string;
readonly created_by: string;
readonly updated_by: string;
organization_size: string;
total_issues: number;
}
export interface IWorkspaceLite {
readonly id: string;
name: string;
slug: string;
readonly id: string;
name: string;
slug: string;
}
export interface IWorkspaceMemberInvitation {
accepted: boolean;
email: string;
id: string;
message: string;
responded_at: Date;
role: EUserWorkspaceRoles;
token: string;
workspace: {
id: string;
logo: string;
name: string;
slug: string;
};
accepted: boolean;
email: string;
id: string;
message: string;
responded_at: Date;
role: EUserWorkspaceRoles;
token: string;
workspace: {
id: string;
logo: string;
name: string;
slug: string;
};
}
export interface IWorkspaceBulkInviteFormData {
emails: {email: string; role: EUserWorkspaceRoles}[];
emails: { email: string; role: EUserWorkspaceRoles }[];
}
export type Properties = {
assignee: boolean;
start_date: boolean;
due_date: boolean;
labels: boolean;
key: boolean;
priority: boolean;
state: boolean;
sub_issue_count: boolean;
link: boolean;
attachment_count: boolean;
estimate: boolean;
created_on: boolean;
updated_on: boolean;
assignee: boolean;
start_date: boolean;
due_date: boolean;
labels: boolean;
key: boolean;
priority: boolean;
state: boolean;
sub_issue_count: boolean;
link: boolean;
attachment_count: boolean;
estimate: boolean;
created_on: boolean;
updated_on: boolean;
};
export interface IWorkspaceMember {
id: string;
member: IUserLite;
role: EUserWorkspaceRoles;
created_at: string;
avatar?: string;
email?: string;
first_name?: string;
last_name?: string;
joining_date: string;
display_name?: string;
id: string;
member: IUserLite;
role: EUserWorkspaceRoles;
created_at?: string;
avatar?: string;
email?: string;
first_name?: string;
last_name?: string;
joining_date?: string;
display_name?: string;
}
export interface IWorkspaceMemberMe {
company_role: string | null;
created_at: Date;
created_by: string;
default_props: IWorkspaceViewProps;
id: string;
member: string;
role: EUserWorkspaceRoles;
updated_at: Date;
updated_by: string;
view_props: IWorkspaceViewProps;
workspace: string;
company_role: string | null;
created_at: Date;
created_by: string;
default_props: IWorkspaceViewProps;
id: string;
member: string;
role: EUserWorkspaceRoles;
updated_at: Date;
updated_by: string;
view_props: IWorkspaceViewProps;
workspace: string;
}
export interface ILastActiveWorkspaceDetails {
workspace_details: IWorkspace;
project_details?: IProjectMember[];
workspace_details: IWorkspace;
project_details?: IProjectMember[];
}
export interface IWorkspaceDefaultSearchResult {
id: string;
name: string;
project_id: string;
project__identifier: string;
workspace__slug: string;
id: string;
name: string;
project_id: string;
project__identifier: string;
workspace__slug: string;
}
export interface IWorkspaceSearchResult {
id: string;
name: string;
slug: string;
id: string;
name: string;
slug: string;
}
export interface IWorkspaceIssueSearchResult {
id: string;
name: string;
project__identifier: string;
project_id: string;
sequence_id: number;
workspace__slug: string;
id: string;
name: string;
project__identifier: string;
project_id: string;
sequence_id: number;
workspace__slug: string;
}
export interface IWorkspacePageSearchResult {
id: string;
name: string;
project_ids: string[];
project__identifiers: string[];
workspace__slug: string;
id: string;
name: string;
project_ids: string[];
project__identifiers: string[];
workspace__slug: string;
}
export interface IWorkspaceProjectSearchResult {
id: string;
identifier: string;
name: string;
workspace__slug: string;
id: string;
identifier: string;
name: string;
workspace__slug: string;
}
export interface IWorkspaceSearchResults {
results: {
workspace: IWorkspaceSearchResult[];
project: IWorkspaceProjectSearchResult[];
issue: IWorkspaceIssueSearchResult[];
cycle: IWorkspaceDefaultSearchResult[];
module: IWorkspaceDefaultSearchResult[];
issue_view: IWorkspaceDefaultSearchResult[];
page: IWorkspacePageSearchResult[];
};
results: {
workspace: IWorkspaceSearchResult[];
project: IWorkspaceProjectSearchResult[];
issue: IWorkspaceIssueSearchResult[];
cycle: IWorkspaceDefaultSearchResult[];
module: IWorkspaceDefaultSearchResult[];
issue_view: IWorkspaceDefaultSearchResult[];
page: IWorkspacePageSearchResult[];
};
}
export interface IProductUpdateResponse {
url: string;
assets_url: string;
upload_url: string;
html_url: string;
id: number;
author: {
login: string;
id: string;
node_id: string;
avatar_url: string;
gravatar_id: "";
url: string;
html_url: string;
followers_url: string;
following_url: string;
gists_url: string;
starred_url: string;
subscriptions_url: string;
organizations_url: string;
repos_url: string;
events_url: string;
received_events_url: string;
type: string;
site_admin: false;
};
node_id: string;
tag_name: string;
target_commitish: string;
name: string;
draft: boolean;
prerelease: true;
created_at: string;
published_at: string;
assets: [];
tarball_url: string;
zipball_url: string;
body: string;
reactions: {
url: string;
total_count: number;
"+1": number;
"-1": number;
laugh: number;
hooray: number;
confused: number;
heart: number;
rocket: number;
eyes: number;
};
url: string;
assets_url: string;
upload_url: string;
html_url: string;
id: number;
author: {
login: string;
id: string;
node_id: string;
avatar_url: string;
gravatar_id: "";
url: string;
html_url: string;
followers_url: string;
following_url: string;
gists_url: string;
starred_url: string;
subscriptions_url: string;
organizations_url: string;
repos_url: string;
events_url: string;
received_events_url: string;
type: string;
site_admin: false;
};
node_id: string;
tag_name: string;
target_commitish: string;
name: string;
draft: boolean;
prerelease: true;
created_at: string;
published_at: string;
assets: [];
tarball_url: string;
zipball_url: string;
body: string;
reactions: {
url: string;
total_count: number;
"+1": number;
"-1": number;
laugh: number;
hooray: number;
confused: number;
heart: number;
rocket: number;
eyes: number;
};
}

View file

@ -12,6 +12,7 @@ export const PopoverMenu = <T,>(props: TPopoverMenu<T>) => {
popperPadding = 0,
buttonClassName = "",
button,
disabled,
panelClassName = "",
data,
popoverClassName = "",
@ -25,6 +26,7 @@ export const PopoverMenu = <T,>(props: TPopoverMenu<T>) => {
popperPadding={popperPadding}
buttonClassName={buttonClassName}
button={button}
disabled={disabled}
panelClassName={cn(
"my-1 w-48 rounded border-[0.5px] border-custom-border-300 bg-custom-background-100 px-2 py-2 text-xs shadow-custom-shadow-rg focus:outline-none",
panelClassName

View file

@ -14,6 +14,7 @@ export const Popover = (props: TPopover) => {
buttonClassName = "",
popoverClassName = "",
button,
disabled = false,
panelClassName = "",
children,
} = props;
@ -36,19 +37,18 @@ export const Popover = (props: TPopover) => {
return (
<HeadlessReactPopover className={cn("relative flex h-full w-full items-center justify-center", popoverClassName)}>
<HeadlessReactPopover.Button ref={setReferenceElement} className="flex justify-center items-center">
{button ? (
button
) : (
<div
className={cn(
"flex justify-center items-center text-base h-6 w-6 rounded transition-all bg-custom-background-90 hover:bg-custom-background-80",
buttonClassName
)}
>
<EllipsisVertical className="h-3 w-3" />
</div>
<HeadlessReactPopover.Button
ref={setReferenceElement}
className={cn(
{
"flex justify-center items-center text-base h-6 w-6 rounded transition-all bg-custom-background-90 hover:bg-custom-background-80":
!button,
},
buttonClassName
)}
disabled={disabled}
>
{button ? button : <EllipsisVertical className="h-3 w-3" />}
</HeadlessReactPopover.Button>
<Transition

View file

@ -5,6 +5,7 @@ export type TPopoverButtonDefaultOptions = {
// button and button styling
button?: ReactNode;
buttonClassName?: string;
disabled?: boolean;
};
export type TPopoverDefaultOptions = TPopoverButtonDefaultOptions & {