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

4
src/lib/richtextprocessor.ts

@ -564,7 +564,9 @@ namespace RichTextProcessor { @@ -564,7 +564,9 @@ namespace RichTextProcessor {
}
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>');
}

Loading…
Cancel
Save