Browse Source

Handle tg://join as tg://joinchat

Fix editing monospace text in messageEntityPre
master
Eduard Kuzmenko 2 years ago
parent
commit
9b7b63bcfb
  1. 28
      src/lib/appManagers/appImManager.ts
  2. 4
      src/lib/richtextprocessor.ts

28
src/lib/appManagers/appImManager.ts

@ -486,17 +486,19 @@ export class AppImManager {
} }
}); });
this.addAnchorListener<{ ['joinchat' as const, 'join' as const].forEach(name => {
uriParams: { this.addAnchorListener<{
invite: string uriParams: {
} invite: string
}>({ }
name: 'joinchat', }>({
protocol: 'tg', name,
callback: ({uriParams}) => { protocol: 'tg',
const link = this.makeLink(INTERNAL_LINK_TYPE.JOIN_CHAT, uriParams); callback: ({uriParams}) => {
this.processInternalLink(link); const link = this.makeLink(INTERNAL_LINK_TYPE.JOIN_CHAT, uriParams);
} this.processInternalLink(link);
}
});
}); });
this.onHashChange(); this.onHashChange();
@ -688,8 +690,8 @@ export class AppImManager {
} }
private addAnchorListener<Params extends {pathnameParams?: any, uriParams?: any}>(options: { private addAnchorListener<Params extends {pathnameParams?: any, uriParams?: any}>(options: {
name: 'showMaskedAlert' | 'execBotCommand' | 'searchByHashtag' | 'addstickers' | 'joinchat' | 'im' | name: 'showMaskedAlert' | 'execBotCommand' | 'searchByHashtag' | 'addstickers' | 'im' |
'resolve' | 'privatepost' | 'addstickers' | 'voicechat', 'resolve' | 'privatepost' | 'addstickers' | 'voicechat' | 'joinchat' | 'join',
protocol?: 'tg', protocol?: 'tg',
callback: (params: Params, element?: HTMLAnchorElement) => boolean | any, callback: (params: Params, element?: HTMLAnchorElement) => boolean | any,
noPathnameParams?: boolean, noPathnameParams?: boolean,

4
src/lib/richtextprocessor.ts

@ -564,7 +564,9 @@ namespace RichTextProcessor {
} }
case 'messageEntityPre': { case 'messageEntityPre': {
if(!options.noTextFormat) { if(options.wrappingDraft) {
insertPart(entity, '<span style="font-family: monospace;">', '</span>');
} else if(!options.noTextFormat) {
insertPart(entity, `<pre><code${entity.language ? ' class="language-' + encodeEntities(entity.language) + '"' : ''}>`, '</code></pre>'); insertPart(entity, `<pre><code${entity.language ? ' class="language-' + encodeEntities(entity.language) + '"' : ''}>`, '</code></pre>');
} }

Loading…
Cancel
Save