Telegram Web K with changes to work inside I2P
https://web.telegram.i2p/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
3.6 KiB
60 lines
3.6 KiB
import { getFullDate } from "../../helpers/date"; |
|
import { formatNumber } from "../../helpers/number"; |
|
import RichTextProcessor from "../../lib/richtextprocessor"; |
|
|
|
type Message = any; |
|
|
|
export namespace MessageRender { |
|
/* export const setText = () => { |
|
|
|
}; */ |
|
|
|
export const setTime = (message: Message, bubble: HTMLElement, bubbleContainer: HTMLElement, messageDiv: HTMLElement) => { |
|
const date = new Date(message.date * 1000); |
|
let time = ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2); |
|
|
|
if(message.views) { |
|
const postAuthor = message.post_author || message.fwd_from?.post_author; |
|
|
|
bubble.classList.add('channel-post'); |
|
time = formatNumber(message.views, 1) + ' <i class="tgico-channelviews"></i> ' + (postAuthor ? RichTextProcessor.wrapEmojiText(postAuthor) + ', ' : '') + time; |
|
|
|
if(!message.savedFrom) { |
|
const forward = document.createElement('div'); |
|
forward.classList.add('bubble-beside-button', 'forward'); |
|
forward.innerHTML = ` |
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"> |
|
<defs> |
|
<path d="M13.55 3.24L13.64 3.25L13.73 3.27L13.81 3.29L13.9 3.32L13.98 3.35L14.06 3.39L14.14 3.43L14.22 3.48L14.29 3.53L14.36 3.59L14.43 3.64L22.23 10.85L22.36 10.99L22.48 11.15L22.57 11.31L22.64 11.48L22.69 11.66L22.72 11.85L22.73 12.04L22.71 12.22L22.67 12.41L22.61 12.59L22.53 12.76L22.42 12.93L22.29 13.09L22.23 13.15L14.43 20.36L14.28 20.48L14.12 20.58L13.95 20.66L13.77 20.72L13.58 20.76L13.4 20.77L13.22 20.76L13.03 20.73L12.85 20.68L12.68 20.61L12.52 20.52L12.36 20.4L12.22 20.27L12.16 20.2L12.1 20.13L12.05 20.05L12.01 19.98L11.96 19.9L11.93 19.82L11.89 19.73L11.87 19.65L11.84 19.56L11.83 19.47L11.81 19.39L11.81 19.3L11.8 19.2L11.8 16.42L11 16.49L10.23 16.58L9.51 16.71L8.82 16.88L8.18 17.09L7.57 17.33L7.01 17.6L6.48 17.91L5.99 18.26L5.55 18.64L5.14 19.05L4.77 19.51L4.43 19.99L4.29 20.23L4.21 20.35L4.11 20.47L4 20.57L3.88 20.65L3.75 20.72L3.62 20.78L3.48 20.82L3.33 20.84L3.19 20.84L3.04 20.83L2.9 20.79L2.75 20.74L2.62 20.68L2.53 20.62L2.45 20.56L2.38 20.5L2.31 20.43L2.25 20.36L2.2 20.28L2.15 20.19L2.11 20.11L2.07 20.02L2.04 19.92L2.02 19.83L2.01 19.73L2 19.63L2.04 17.99L2.19 16.46L2.46 15.05L2.85 13.75L3.35 12.58L3.97 11.53L4.7 10.6L5.55 9.8L6.51 9.12L7.59 8.56L8.77 8.13L10.07 7.83L11.48 7.65L11.8 7.63L11.8 4.8L11.91 4.56L12.02 4.35L12.14 4.16L12.25 3.98L12.37 3.82L12.48 3.68L12.61 3.56L12.73 3.46L12.85 3.38L12.98 3.31L13.11 3.27L13.24 3.24L13.37 3.23L13.46 3.23L13.55 3.24Z" id="b13RmHDQtl"></path> |
|
</defs> |
|
<use xlink:href="#b13RmHDQtl" opacity="1" fill="#fff" fill-opacity="1"></use> |
|
</svg>`; |
|
bubbleContainer.append(forward); |
|
bubble.classList.add('with-beside-button'); |
|
} |
|
} |
|
|
|
if(message.edit_date) { |
|
bubble.classList.add('is-edited'); |
|
time = '<i class="edited">edited</i> ' + time; |
|
} |
|
|
|
if(message.pFlags.pinned) { |
|
bubble.classList.add('is-pinned'); |
|
time = '<i class="tgico tgico-pinnedchat"></i>' + time; |
|
} |
|
|
|
const title = getFullDate(date) |
|
+ (message.edit_date ? `\nEdited: ${getFullDate(new Date(message.edit_date * 1000))}` : '') |
|
+ (message.fwd_from ? `\nOriginal: ${getFullDate(new Date(message.fwd_from.date * 1000))}` : ''); |
|
|
|
const timeSpan = document.createElement('span'); |
|
timeSpan.classList.add('time', 'tgico'); |
|
timeSpan.title = title; |
|
timeSpan.innerHTML = `${time}<div class="inner tgico" title="${title}">${time}</div>`; |
|
|
|
messageDiv.append(timeSpan); |
|
|
|
return timeSpan; |
|
}; |
|
} |