diff --git a/apps/frontend/src/components/new-launch/heading.component.tsx b/apps/frontend/src/components/new-launch/heading.component.tsx index ed117943..26985fe0 100644 --- a/apps/frontend/src/components/new-launch/heading.component.tsx +++ b/apps/frontend/src/components/new-launch/heading.component.tsx @@ -7,7 +7,9 @@ export const HeadingComponent: FC<{ currentValue: string; }> = ({ editor }) => { const setHeading = (level: number) => () => { - editor?.commands?.toggleHeading({ level }) + editor?.commands?.unsetUnderline(); + editor?.commands?.unsetBold(); + editor?.commands?.toggleHeading({ level }); }; return ( diff --git a/libraries/helpers/src/utils/strip.html.validation.ts b/libraries/helpers/src/utils/strip.html.validation.ts index a8526335..a016b030 100644 --- a/libraries/helpers/src/utils/strip.html.validation.ts +++ b/libraries/helpers/src/utils/strip.html.validation.ts @@ -1,6 +1,4 @@ import striptags from 'striptags'; -import TurndownService from 'turndown'; -const turndownService = new TurndownService(); const bold = { a: '𝗮', @@ -137,7 +135,7 @@ export const stripHtmlValidation = ( value: string, replaceBold = false, none = false, - convertMentionFunction?: (idOrHandle: string, name: string) => string, + convertMentionFunction?: (idOrHandle: string, name: string) => string ): string => { if (type === 'html') { return striptags(value, [ @@ -154,7 +152,30 @@ export const stripHtmlValidation = ( } if (type === 'markdown') { - return turndownService.turndown(value); + return striptags( + value + .replace(/

([.\s\S]*?)<\/h1>/g, (match, p1) => { + return `

# ${p1}

\n`; + }) + .replace(/

([.\s\S]*?)<\/h2>/g, (match, p1) => { + return `

## ${p1}

\n`; + }) + .replace(/

([.\s\S]*?)<\/h3>/g, (match, p1) => { + return `

### ${p1}

\n`; + }) + .replace(/([.\s\S]*?)<\/u>/g, (match, p1) => { + return `__${p1}__`; + }) + .replace(/([.\s\S]*?)<\/strong>/g, (match, p1) => { + return `**${p1}**`; + }) + .replace(/([.\s\S]*?)<\/li.*?>/gm, (match, p1) => { + return `
  • - ${p1.replace(/\n/gm, '')}
  • `; + }) + .replace(/

    ([.\s\S]*?)<\/p>/g, (match, p1) => { + return `

    ${p1}

    \n`; + }) + ); } if (value.indexOf('

    ') === -1 && !none) { diff --git a/libraries/nestjs-libraries/src/integrations/social/discord.provider.ts b/libraries/nestjs-libraries/src/integrations/social/discord.provider.ts index 6d8cfe9f..eb16a962 100644 --- a/libraries/nestjs-libraries/src/integrations/social/discord.provider.ts +++ b/libraries/nestjs-libraries/src/integrations/social/discord.provider.ts @@ -131,6 +131,7 @@ export class DiscordProvider extends SocialAbstract implements SocialProvider { postDetails: PostDetails[] ): Promise { let channel = postDetails[0].settings.channel; + console.log(postDetails[0].message); if (postDetails.length > 1) { const { id: threadId } = await ( await fetch( diff --git a/package.json b/package.json index 0af0cab8..359982df 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,6 @@ "@types/sha256": "^0.2.2", "@types/stripe": "^8.0.417", "@types/striptags": "^0.0.5", - "@types/turndown": "^5.0.5", "@types/yup": "^0.32.0", "@uidotdev/usehooks": "^2.4.1", "@uiw/react-md-editor": "^4.0.3", @@ -213,7 +212,6 @@ "tldts": "^6.1.47", "transloadit": "^3.0.2", "tslib": "^2.3.0", - "turndown": "^7.2.0", "tweetnacl": "^1.0.3", "twitter-api-v2": "^1.24.0", "twitter-text": "^3.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6dea25fd..213dc49b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -207,9 +207,6 @@ importers: '@types/striptags': specifier: ^0.0.5 version: 0.0.5 - '@types/turndown': - specifier: ^5.0.5 - version: 5.0.5 '@types/yup': specifier: ^0.32.0 version: 0.32.0 @@ -519,9 +516,6 @@ importers: tslib: specifier: ^2.3.0 version: 2.8.1 - turndown: - specifier: ^7.2.0 - version: 7.2.0 tweetnacl: specifier: ^1.0.3 version: 1.0.3 @@ -3001,9 +2995,6 @@ packages: '@microsoft/tsdoc@0.15.1': resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} - '@mixmark-io/domino@2.2.0': - resolution: {integrity: sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==} - '@modelcontextprotocol/sdk@1.15.0': resolution: {integrity: sha512-67hnl/ROKdb03Vuu0YOr+baKTvf1/5YBHBm9KnZdjdAh8hjt4FRCPD5ucwxGB237sBpzlqQsLy1PFu7z/ekZ9Q==} engines: {node: '>=18'} @@ -6402,9 +6393,6 @@ packages: '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/turndown@5.0.5': - resolution: {integrity: sha512-TL2IgGgc7B5j78rIccBtlYAnkuv8nUQqhQc+DSYV5j9Be9XOcm/SKOVRuA47xAVI3680Tk9B1d8flK2GWT2+4w==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -14527,9 +14515,6 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - turndown@7.2.0: - resolution: {integrity: sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==} - tus-js-client@2.3.2: resolution: {integrity: sha512-5a2rm7gp+G7Z+ZB0AO4PzD/dwczB3n1fZeWO5W8AWLJ12RRk1rY4Aeb2VAYX9oKGE+/rGPrdxoFPA/vDSVKnpg==} @@ -18711,8 +18696,6 @@ snapshots: '@microsoft/tsdoc@0.15.1': {} - '@mixmark-io/domino@2.2.0': {} - '@modelcontextprotocol/sdk@1.15.0': dependencies: ajv: 6.12.6 @@ -22973,8 +22956,6 @@ snapshots: '@types/trusted-types@2.0.7': {} - '@types/turndown@5.0.5': {} - '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} @@ -33677,10 +33658,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - turndown@7.2.0: - dependencies: - '@mixmark-io/domino': 2.2.0 - tus-js-client@2.3.2: dependencies: buffer-from: 1.1.2