fix: added workspaceslug in renderChildren of project settings (#5951)

* fix: added workspaceslug in renderChildren of project settings

* fix: updated apis

* fix: types

* fix: added editor

* fix: handled avatar for intake
This commit is contained in:
Akshita Goyal
2024-11-05 16:07:27 +05:30
committed by GitHub
parent 9309d1b574
commit eed2ca77ef
9 changed files with 90 additions and 16 deletions

View File

@@ -0,0 +1,41 @@
import React, { forwardRef } from "react";
// editor
import { EditorRefApi, IMentionHighlight, IRichTextEditor, RichTextEditorWithRef } from "@plane/editor";
// types
// helpers
import { cn } from "@/helpers/common.helper";
import { getEditorFileHandlers } from "@/helpers/editor.helper";
interface RichTextEditorWrapperProps extends Omit<IRichTextEditor, "fileHandler" | "mentionHandler"> {
uploadFile: (file: File) => Promise<string>;
}
export const RichTextEditor = forwardRef<EditorRefApi, RichTextEditorWrapperProps>((props, ref) => {
const { containerClassName, uploadFile, ...rest } = props;
// store hooks
// use-mention
// file size
return (
<RichTextEditorWithRef
mentionHandler={{
highlights: function (): Promise<IMentionHighlight[]> {
throw new Error("Function not implemented.");
},
suggestions: undefined,
}}
ref={ref}
fileHandler={getEditorFileHandlers({
uploadFile,
workspaceId: "",
anchor: "",
})}
{...rest}
containerClassName={cn("relative pl-3 pb-3", containerClassName)}
/>
);
});
RichTextEditor.displayName = "RichTextEditor";

View File

@@ -36,6 +36,7 @@ export interface IIssueDetailStore {
updateIssueComment: (anchor: string, issueID: string, commentID: string, data: any) => Promise<any>;
deleteIssueComment: (anchor: string, issueID: string, commentID: string) => void;
uploadCommentAsset: (file: File, anchor: string, commentID?: string) => Promise<TFileSignedURLResponse>;
uploadIssueAsset: (file: File, anchor: string, commentID?: string) => Promise<TFileSignedURLResponse>;
addCommentReaction: (anchor: string, issueID: string, commentID: string, reactionHex: string) => void;
removeCommentReaction: (anchor: string, issueID: string, commentID: string, reactionHex: string) => void;
// reaction actions
@@ -79,6 +80,7 @@ export class IssueDetailStore implements IIssueDetailStore {
updateIssueComment: action,
deleteIssueComment: action,
uploadCommentAsset: action,
uploadIssueAsset: action,
addCommentReaction: action,
removeCommentReaction: action,
// reaction actions
@@ -245,6 +247,23 @@ export class IssueDetailStore implements IIssueDetailStore {
}
};
uploadIssueAsset = async (file: File, anchor: string, commentID?: string) => {
try {
const res = await this.fileService.uploadAsset(
anchor,
{
entity_identifier: commentID ?? "",
entity_type: EFileAssetType.ISSUE_ATTACHMENT,
},
file
);
return res;
} catch (error) {
console.log("Error in uploading comment asset:", error);
throw new Error("Asset upload failed. Please try again later.");
}
};
addCommentReaction = async (anchor: string, issueID: string, commentID: string, reactionHex: string) => {
const newReaction = {
id: uuidv4(),

6
space/core/types/intake.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
export type TIntakeIssueForm = {
name: string;
email: string;
username: string;
description_html: string;
};