diff --git a/Telegram/Resources/iv_html/page.css b/Telegram/Resources/iv_html/page.css index 2763760f2..00a3302bd 100644 --- a/Telegram/Resources/iv_html/page.css +++ b/Telegram/Resources/iv_html/page.css @@ -134,9 +134,32 @@ html.custom_scroll ::-webkit-scrollbar-thumb:hover { .page-slide { position: relative; width: 100%; + min-height: 100%; margin-left: 0%; transition: margin 240ms ease-in-out; } +.page-footer { + height: 32px; + margin-top: -32px; + background: var(--td-window-bg-over); +} +.page-footer .content { + padding: 3px 18px; + font-size: 15px; + color: var(--td-window-sub-text-fg); + text-align: center; +} +.page-footer .wrong { + position: relative; + padding: 5px; + margin: -5px; + color: var(--td-window-sub-text-fg); + text-decoration: none; + cursor: pointer; +} +.page-footer .wrong:hover { + text-decoration: underline; +} .hidden-left, .hidden-right { pointer-events: none; @@ -148,7 +171,7 @@ html.custom_scroll ::-webkit-scrollbar-thumb:hover { margin-left: 100%; } article { - padding-bottom: 12px; + padding-bottom: 40px; overflow-y: hidden; overflow-x: auto; white-space: pre-wrap; @@ -893,6 +916,9 @@ section.related a.related-link:after { right: 0; bottom: 0; } +section.related a.related-link:last-child:after { + border-bottom: 0px; +} section.related .related-link-url { display: block; font-size: 15px; diff --git a/Telegram/Resources/iv_html/page.js b/Telegram/Resources/iv_html/page.js index 053a6a0ab..bae02fe48 100644 --- a/Telegram/Resources/iv_html/page.js +++ b/Telegram/Resources/iv_html/page.js @@ -26,7 +26,7 @@ var IV = { } target = target.parentNode; } - if (!target || !target.hasAttribute('href')) { + if (!target || (context === '' && !target.hasAttribute('href'))) { return; } var base = document.createElement('A'); @@ -413,9 +413,12 @@ var IV = { var article = function (el) { return el.getElementsByTagName('article')[0]; }; - var from = article(IV.findPageScroll()); - var to = article(IV.makeScrolledContent(data.html)); - morphdom(from, to, { + var footer = function (el) { + return el.getElementsByClassName('page-footer')[0]; + }; + var from = IV.findPageScroll(); + var to = IV.makeScrolledContent(data.html); + morphdom(article(from), article(to), { onBeforeElUpdated: function (fromEl, toEl) { if (fromEl.classList.contains('video') && toEl.classList.contains('video') @@ -439,6 +442,7 @@ var IV = { return !fromEl.isEqualNode(toEl); } }); + morphdom(footer(from), footer(to)); IV.initMedia(); eval(data.js); }, @@ -477,9 +481,7 @@ var IV = { var result = document.createElement('div'); result.className = 'page-scroll'; result.tabIndex = '-1'; - result.innerHTML = '
'; + result.innerHTML = html.trim(); result.onscroll = IV.frameScrolled; return result; }, diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index eb3f33fc7..52c9ed8d3 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -5111,6 +5111,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_iv_share" = "Share"; "lng_iv_join_channel" = "Join"; "lng_iv_window_title" = "Instant View"; +"lng_iv_wrong_layout" = "Wrong layout?"; "lng_limit_download_title" = "Download speed limited"; "lng_limit_download_subscribe" = "Subscribe to {link} and increase download speed {increase}."; diff --git a/Telegram/SourceFiles/iv/iv_controller.cpp b/Telegram/SourceFiles/iv/iv_controller.cpp index a2a701d84..cc9d727fe 100644 --- a/Telegram/SourceFiles/iv/iv_controller.cpp +++ b/Telegram/SourceFiles/iv/iv_controller.cpp @@ -155,10 +155,6 @@ namespace { + "IV.init();" + page.script; - const auto contentAttributes = page.rtl - ? " dir=\"rtl\" class=\"rtl\""_q - : QByteArray(); - return R"( -