Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ Bug ] Removed emojis from the app #40

Merged
merged 9 commits into from
Jan 31, 2024
Merged
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,4 +163,4 @@ Here are some links to examples and documentation:
[issues-shield]: https://img.shields.io/github/issues/RocketChat/Apps.Notion?style=for-the-badge
[issues-url]: https://github.com/RocketChat/Apps.Notion/issues
[license-shield]: https://img.shields.io/github/license/RocketChat/Apps.Notion?style=for-the-badge
[license-url]: https://github.com/RocketChat/Apps.Notion/blob/master/LICENSE.txt
[license-url]: https://github.com/RocketChat/Apps.Notion/blob/master/LICENSE.txt
6 changes: 3 additions & 3 deletions enum/OAuth2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ export enum OAuth2Locator {
export enum OAuth2Content {
success = "https://github-production-user-asset-6210df.s3.amazonaws.com/65061890/243671111-9964efff-3b23-4223-aadd-5f4be441037c.svg",
failed = "https://open.rocket.chat/assets/logo.png",
NOT_CONNECTED_MESSAGE = `👋 You are not connected to **Workspace**!`,
NOT_CONNECTED_MESSAGE_WITH_INFO = `👋 Connect to workspace to access \`pages\` & \`database\``,
NOT_CONNECTED_MESSAGE = `You are not connected to **Workspace**!`,
NOT_CONNECTED_MESSAGE_WITH_INFO = `Connect to workspace to access \`pages\` & \`database\``,
CONNECT_TO_WORKSPACE = "Connect to Workspace",
CREDENTIALS_MISSING_USER = `🚫 Something Went Wrong, Please Contact the Admin!`,
CREDENTIALS_MISSING_USER = `Something Went Wrong, Please Contact the Admin!`,
CREDENTIALS_MISSING_ADMIN = `Please Configure the App and Ensure the \`SiteUrl\` is correct in the Server Settings.
\xa0\xa0• Go to **NotionApp** Settings and add \`ClientId\` and \`ClientSecret\` Generated from a Notion Public Integration
`,
Expand Down
20 changes: 10 additions & 10 deletions enum/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,21 @@ export enum Messages {
• use \`/notion share\` to share pages

`,
HELPER_TEXT = `:wave: Need some help with \`/notion\`?`,
HELPER_TEXT = `Need some help with \`/notion\`?`,
}

export enum OnInstallContent {
PREVIEW_TITLE = "[**📖 Notion App**](https://github.com/RocketChat/Apps.Notion/)",
PREVIEW_DESCRIPTION = "**🙌 Installed and Rollin' on your Server!**",
PREVIEW_CONTEXT = "[**🤝 Support's Page**](https://github.com/RocketChat/Apps.Notion/issues)",
PREVIEW_TITLE = "[**Notion App**](https://github.com/RocketChat/Apps.Notion/)",
PREVIEW_DESCRIPTION = "**Installed and Rollin' on your Server!**",
PREVIEW_CONTEXT = "[**Support's Page**](https://github.com/RocketChat/Apps.Notion/issues)",
PREVIEW_IMAGE = "https://upload.wikimedia.org/wikipedia/commons/e/e9/Notion-logo.svg",
WELCOMING_MESSAGE = `🔧 Setting up the Notion App is a breeze! Create a [**Notion Public Integration**](https://developers.notion.com/docs/authorization#how-to-make-an-integration-public) and Just head over to the App Settings, Provide your credentials.
🎉 You're all set to experience the seamless integration of Notion and RocketChat.
Need some help getting started? Just type \`/notion help\` to access our comprehensive command list.
💌 We love hearing from you! If you have any suggestions, questions, or just want to share your thoughts, simply tap on the **Support's Page** in Preview.
🌟 Let's streamline your productivity and collaboration together. Enjoy the journey!
WELCOMING_MESSAGE = `Setting up the Notion App is a breeze! Create a [**Notion Public Integration**](https://developers.notion.com/docs/authorization#how-to-make-an-integration-public) and Just head over to the App Settings, Provide your credentials.
You're all set to experience the seamless integration of Notion and RocketChat.
Need some help getting started? Just type \`/notion help\` to access our comprehensive command list.
We love hearing from you! If you have any suggestions, questions, or just want to share your thoughts, simply tap on the **Support's Page** in Preview.
Let's streamline your productivity and collaboration together. Enjoy the journey!

Thanks for choosing \`Notion App\`
`,
WELCOME_TEXT = `Welcome to **Notion App** in RocketChat! 🙌`,
WELCOME_TEXT = `Welcome to **Notion App** in RocketChat! `,
}
6 changes: 3 additions & 3 deletions i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"CredentialsSettings": "Authorization Settings",
"NotionCommandParams": "connect | disconnect | workspace | create | schema | comment",
"NotionCommandDescription": "Create Notion pages and database from Rocket.Chat",
"CommentOnPagesLabel": "💬 Comment on Page",
"SendToPageLabel": "📝 Send to Page",
"SendToNewPageLabel": "📢 Send to New Page"
"CommentOnPagesLabel": "Comment on Page",
"SendToPageLabel": "Send to Page",
"SendToNewPageLabel": "Send to New Page"
}
4 changes: 2 additions & 2 deletions src/authorization/OAuth2Client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export class OAuth2Client implements IOAuth2Client {
return;
}

const message = `Hey **${sender.username}**!👋 Connect your Notion Workspace`;
const message = `Hey **${sender.username}**! Connect your Notion Workspace`;
const blocks = await getConnectBlock(
this.app,
message,
Expand Down Expand Up @@ -66,7 +66,7 @@ export class OAuth2Client implements IOAuth2Client {

if (tokenInfo) {
await oAuthStorage.disconnectUserFromCurrentWorkspace(userId);
const message = `👋 You are disconnected from the Workspace **${tokenInfo.workspace_name}**`;
const message = `You are disconnected from the Workspace **${tokenInfo.workspace_name}**`;
await sendNotification(read, modify, sender, room, { message });
return;
}
Expand Down
31 changes: 16 additions & 15 deletions src/handlers/ExecuteViewSubmitHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -218,15 +218,15 @@ export class ExecuteViewSubmitHandler {

if (response instanceof Error) {
this.app.getLogger().error(response);
message = `🚫 Something went wrong while creating Database in **${workspace_name}**.`;
message = `Something went wrong while creating Database in **${workspace_name}**.`;

await sendNotification(this.read, this.modify, user, room, {
message: message,
});
} else {
const name: string = response.name;
const link: string = response.link;
message = `Your Database [**${name}**](${link}) is created successfully in **${workspace_name}**.`;
message = `Your Database [**${name}**](${link}) is created successfully in **${workspace_name}**.`;

await sendNotificationWithAttachments(
this.read,
Expand Down Expand Up @@ -341,6 +341,7 @@ export class ExecuteViewSubmitHandler {
const parentType: string = parent.type;

if (parentType.includes(NotionObjectTypes.PAGE_ID)) {

return this.handleCreationOfPage(
tokenInfo,
room,
Expand All @@ -349,7 +350,7 @@ export class ExecuteViewSubmitHandler {
Objects as IPage
);
}

return this.handleCreationOfRecord(
tokenInfo,
room,
Expand Down Expand Up @@ -384,10 +385,10 @@ export class ExecuteViewSubmitHandler {

if (createdPage instanceof Error) {
this.app.getLogger().error(createdPage.message);
message = `🚫 Something went wrong while creating page in **${workspace_name}**.`;
message = `Something went wrong while creating page in **${workspace_name}**.`;
} else {
const { name, link, title, pageId } = createdPage;
message = `Your Page [**${title}**](${link}) is created successfully as a subpage in **${name}**.`;
message = `Your Page [**${title}**](${link}) is created successfully as a subpage in **${name}**.`;

const preserveMessage = await modalInteraction.getInputElementState(
ActionButton.SEND_TO_NEW_PAGE_MESSAGE_ACTION
Expand All @@ -410,7 +411,7 @@ export class ExecuteViewSubmitHandler {

if (appendBlock instanceof Error) {
this.app.getLogger().error(appendBlock.message);
message = `🚫 Something went wrong while appending message in **${workspace_name}**.`;
message = `Something went wrong while appending message in **${workspace_name}**.`;
await sendNotification(this.read, this.modify, user, room, {
message,
});
Expand All @@ -430,7 +431,7 @@ export class ExecuteViewSubmitHandler {
)) as ICredential;

const messageLink = `${siteUrl}/${urlPath}/${displayName}?msg=${id}`;
const preserveText = `📝 Created New Page [**${title}**](${link}) and Preserved Following [Message](${messageLink}) `;
const preserveText = `Created New Page [**${title}**](${link}) and Preserved Following [Message](${messageLink}) `;

await sendMessage(
this.read,
Expand Down Expand Up @@ -487,21 +488,21 @@ export class ExecuteViewSubmitHandler {

if (createdRecord instanceof Error) {
this.app.getLogger().error(createdRecord.message);
message = `🚫 Something went wrong while creating record in **${workspace_name}**.`;
message = `Something went wrong while creating record in **${workspace_name}**.`;
await sendNotification(this.read, this.modify, user, room, {
message,
});
} else {
const { info } = database;
const databasename = info.name;
const databasename = info.name.replace("📚 ", "");
const databaselink = info.link;
const title: string =
state?.[NotionPageOrRecord.TITLE_BLOCK]?.[
NotionPageOrRecord.TITLE_ACTION
];
const { fields, url, pageId } = createdRecord;

message = `Created [**${title}**](${url}) in [**${databasename}**](${databaselink})`;
message = `Created [**${title}**](${url}) in [**${databasename}**](${databaselink})`;

const messageId = await sendMessageWithAttachments(
this.read,
Expand Down Expand Up @@ -533,7 +534,7 @@ export class ExecuteViewSubmitHandler {

if (appendBlock instanceof Error) {
this.app.getLogger().error(appendBlock.message);
message = `🚫 Something went wrong while appending message in **${workspace_name}**.`;
message = `Something went wrong while appending message in **${workspace_name}**.`;
await sendNotification(this.read, this.modify, user, room, {
message,
});
Expand All @@ -554,7 +555,7 @@ export class ExecuteViewSubmitHandler {
)) as ICredential;

const messageLink = `${siteUrl}/${urlPath}/${displayName}?msg=${id}`;
const preserveText = `📝 Created [**${title}**](${url}) Page and Preserved Following [Message](${messageLink}) `;
const preserveText = `Created [**${title}**](${url}) Page and Preserved Following [Message](${messageLink}) `;

await sendMessage(
this.read,
Expand Down Expand Up @@ -814,7 +815,7 @@ export class ExecuteViewSubmitHandler {

const { name, parent, url } = pageInfo;

const message = `Sharing [**${name}**](${url}) from **${workspace_name}**`;
const message = `Sharing [**${name}**](${url}) from **${workspace_name}**`;

await sendMessage(this.read, this.modify, user, room, {
message,
Expand Down Expand Up @@ -878,7 +879,7 @@ export class ExecuteViewSubmitHandler {

if (appendBlock instanceof Error) {
this.app.getLogger().error(appendBlock.message);
const message = `🚫 Something went wrong while appending message in **${workspace_name}**.`;
const message = `Something went wrong while appending message in **${workspace_name}**.`;
await sendNotification(this.read, this.modify, user, room, {
message,
});
Expand Down Expand Up @@ -913,7 +914,7 @@ export class ExecuteViewSubmitHandler {
)) as ICredential;

const messageLink = `${siteUrl}/${urlPath}/${displayName}?msg=${id}`;
const preserveText = `📝 Preserved Following [Message](${messageLink}) in [**${name}**](${url}) `;
const preserveText = `Preserved Following [Message](${messageLink}) in [**${name}**](${url}) `;

await sendMessage(
this.read,
Expand Down
4 changes: 2 additions & 2 deletions src/helper/getConnectLayout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ export function getConnectPreview(
: undefined;
const thumb = workspace_icon_url ? { url: workspace_icon_url } : undefined;
const title = [
`**📚 [**${workspace_name}**](${Notion.WEBSITE_URL})**`,
"**👋 Connected to Workspace**",
`** [**${workspace_name}**](${Notion.WEBSITE_URL})**`,
"**Connected to Workspace**",
];
const description = [""];
const avatarElement = elementBuilder.addImage({
Expand Down
4 changes: 2 additions & 2 deletions src/helper/getSelectDatabaseLayout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export function getSelectDatabaseLayout(
const { workspace_icon, owner } = tokenInfo;
const { name, avatar_url } = owner.user;

const database_name = properties.name;
const database_name = properties.name.replace("📚 ", "");
const database_url = properties.link;

const elementBuilder = new ElementBuilder(appId);
Expand All @@ -26,7 +26,7 @@ export function getSelectDatabaseLayout(
: undefined;
const thumb = workspace_icon_url ? { url: workspace_icon_url } : undefined;
const title = [
`**📋 Database Name**`,
`**Database Name**`,
`[**${database_name}**](${database_url})`,
];
const description = [""];
Expand Down
24 changes: 13 additions & 11 deletions src/lib/NotionSDK.ts
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ export class NotionSDK implements INotionSDK {
}
}

private async getPageObjectFromResults(item): Promise<IPage | null> {
private async getPageObjectFromResults(item, emoji:boolean = false): Promise<IPage | null> {
const typesWithTitleProperty = [
NotionObjectTypes.WORKSPACE.toString(),
NotionObjectTypes.PAGE_ID.toString(),
Expand All @@ -145,7 +145,7 @@ export class NotionSDK implements INotionSDK {
const pageName: string =
properties.title.title[0]?.text?.content ||
NotionObjectTypes.UNTITLED;
return this.returnPage(pageName, pageId);
return this.returnPage(pageName, pageId, emoji);
}

// title property either be at first or last position
Expand All @@ -161,7 +161,7 @@ export class NotionSDK implements INotionSDK {
const name: string =
properties[firstColumn].title[0]?.text?.content ||
NotionObjectTypes.UNTITLED;
return this.returnPage(name, pageId);
return this.returnPage(name, pageId, emoji);
}

//title at last position and has subpage
Expand All @@ -172,15 +172,15 @@ export class NotionSDK implements INotionSDK {
const name: string =
properties[lastColumn].title[0]?.text?.content ||
NotionObjectTypes.UNTITLED;
return this.returnPage(name, pageId);
return this.returnPage(name, pageId, emoji);
}

return null;
}

private returnPage(name: string, page_id: string): IPage {
private returnPage(name: string, page_id: string, emoji:boolean = false): IPage {
return {
name: `📄 ${name}`,
name: `${emoji ? "📄" : ""} ${name}`,
parent: {
type: NotionObjectTypes.PAGE_ID,
page_id,
Expand Down Expand Up @@ -520,15 +520,16 @@ export class NotionSDK implements INotionSDK {
const objectType: string = item?.[NotionObjectTypes.OBJECT];
if (objectType.includes(NotionObjectTypes.PAGE)) {
const pageObject = await this.getPageObjectFromResults(
item
item,
true
);

if (pageObject) {
result.push(pageObject);
}
} else {
const databaseObject =
await this.getDatabaseObjectFromResults(item);
await this.getDatabaseObjectFromResults(item, true);

result.push(databaseObject);
}
Expand All @@ -540,7 +541,7 @@ export class NotionSDK implements INotionSDK {
}
}

private async getDatabaseObjectFromResults(item): Promise<IDatabase> {
private async getDatabaseObjectFromResults(item, emoji:boolean = false): Promise<IDatabase> {
const databaseNameTitleObject = item?.[NotionObjectTypes.TITLE];
const name: string = databaseNameTitleObject.length
? databaseNameTitleObject[0]?.plain_text
Expand All @@ -549,7 +550,7 @@ export class NotionSDK implements INotionSDK {

return {
info: {
name: `📚 ${name}`,
name: `${emoji ? "📚":""} ${name}`,
link: item?.url,
},
parent: {
Expand All @@ -565,8 +566,9 @@ export class NotionSDK implements INotionSDK {
prop: IPageProperties
): Promise<(INotionPage & { pageId: string }) | Error> {
try {
const { name, parent } = page;
const { parent } = page;
const { title } = prop;
const name = page.name.replace("📄", "");

const data = {
parent,
Expand Down