New Directory Setup (#2065)

* chore: moved app & space from apps to root

* chore: modified workspace configuration

* chore: modified dockerfiles for space and web

* chore: modified icons for space

* feat: updated files for new svg icons supported by next-images

* chore: added /spaces base path for next

* chore: added compose config for space

* chore: updated husky configuration

* chore: updated workflows for new configuration

* chore: changed app name to web

* fix: resolved build errors with web

* chore: reset file tracing root for both projects

* chore: added nginx config for deploy

* fix: eslint and tsconfig settings for space app

* husky setup fixes based on new dir

* eslint fixes

* prettier formatting

---------

Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
This commit is contained in:
sriram veeraghanta 2023-09-03 18:50:30 +05:30 committed by GitHub
parent 20e36194b4
commit 1e152c666c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1022 changed files with 1475 additions and 1240 deletions

163
space/types/issue.ts Normal file
View file

@ -0,0 +1,163 @@
export type TIssueBoardKeys = "list" | "kanban" | "calendar" | "spreadsheet" | "gantt";
export interface IIssueBoardViews {
key: TIssueBoardKeys;
title: string;
icon: string;
className: string;
}
export type TIssuePriorityKey = "urgent" | "high" | "medium" | "low" | "none";
export type TIssuePriorityTitle = "Urgent" | "High" | "Medium" | "Low" | "None";
export interface IIssuePriorityFilters {
key: TIssuePriorityKey;
title: TIssuePriorityTitle;
className: string;
icon: string;
}
export type TIssueGroupKey = "backlog" | "unstarted" | "started" | "completed" | "cancelled";
export type TIssueGroupTitle = "Backlog" | "Unstarted" | "Started" | "Completed" | "Cancelled";
export interface IIssueGroup {
key: TIssueGroupKey;
title: TIssueGroupTitle;
color: string;
className: string;
icon: React.FC;
}
export interface IIssue {
id: string;
comments: Comment[];
description_html: string;
label_details: any;
name: string;
priority: TIssuePriorityKey | null;
project: string;
project_detail: any;
reactions: IIssueReaction[];
sequence_id: number;
start_date: any;
state: string;
state_detail: any;
target_date: any;
votes: IVote[];
}
export interface IIssueState {
id: string;
name: string;
group: TIssueGroupKey;
color: string;
}
export interface IIssueLabel {
id: string;
name: string;
color: string;
}
export interface IVote {
issue: string;
vote: -1 | 1;
workspace: string;
project: string;
actor: string;
actor_detail: ActorDetail;
}
export interface Comment {
id: string;
actor_detail: ActorDetail;
issue_detail: IssueDetail;
project_detail: ProjectDetail;
workspace_detail: WorkspaceDetail;
comment_reactions: any[];
is_member: boolean;
created_at: Date;
updated_at: Date;
comment_stripped: string;
comment_html: string;
attachments: any[];
access: string;
created_by: string;
updated_by: string;
project: string;
workspace: string;
issue: string;
actor: string;
}
export interface IIssueReaction {
actor_detail: ActorDetail;
id: string;
issue: string;
reaction: string;
}
export interface ActorDetail {
avatar?: string;
display_name?: string;
first_name?: string;
id?: string;
is_bot?: boolean;
last_name?: string;
}
export interface IssueDetail {
id: string;
name: string;
description: Description;
description_html: string;
priority: string;
start_date: null;
target_date: null;
sequence_id: number;
sort_order: number;
}
export interface Description {
type: string;
content: DescriptionContent[];
}
export interface DescriptionContent {
type: string;
attrs?: Attrs;
content: ContentContent[];
}
export interface Attrs {
level: number;
}
export interface ContentContent {
text: string;
type: string;
}
export interface ProjectDetail {
id: string;
identifier: string;
name: string;
cover_image: string;
icon_prop: null;
emoji: string;
description: string;
}
export interface WorkspaceDetail {
name: string;
slug: string;
id: string;
}
export interface IssueDetailType {
[issueId: string]: {
issue: IIssue;
comments: Comment[];
reactions: any[];
votes: any[];
};
}

29
space/types/project.ts Normal file
View file

@ -0,0 +1,29 @@
export interface IWorkspace {
id: string;
name: string;
slug: string;
}
export interface IProject {
id: string;
identifier: string;
name: string;
description: string;
icon: string;
cover_image: string | null;
icon_prop: string | null;
emoji: string | null;
}
export interface IProjectSettings {
comments: boolean;
reactions: boolean;
votes: boolean;
views: {
list: boolean;
gantt: boolean;
kanban: boolean;
calendar: boolean;
spreadsheet: boolean;
};
}

4
space/types/theme.ts Normal file
View file

@ -0,0 +1,4 @@
export interface IThemeStore {
theme: string;
setTheme: (theme: "light" | "dark" | string) => void;
}

23
space/types/user.ts Normal file
View file

@ -0,0 +1,23 @@
export interface IUser {
avatar: string;
cover_image: string | null;
created_at: Date;
created_location: string;
date_joined: Date;
email: string;
display_name: string;
first_name: string;
id: string;
is_email_verified: boolean;
is_onboarded: boolean;
is_tour_completed: boolean;
last_location: string;
last_login: Date;
last_name: string;
mobile_number: string;
role: string;
token: string;
updated_at: Date;
username: string;
user_timezone: string;
}