Special styles and functions for Depo.ua (ukrainian news)
// ==UserScript==
// @name Depo.ua Xtender
// @name-uk Depo.ua Xtender
// @namespace https://greasyfork.org/users/4157
// @version 1.0.6
// @date 2017-12-22
// @description Special styles and functions for Depo.ua (ukrainian news)
// @description-uk Швидко та комфортно на Depo.ua
// @author E-xecutive
// @include https://*.depo.ua/*
// @include http://*.depo.ua/*
// @grant none
// @run-at document-start
// ==/UserScript==
var arclink = location.pathname.includes("archive");
document.addEventListener("DOMContentLoaded", function(){
//var curlink = location.href.match(/.*depo.ua\/.../);
//if (curlink){}else{ var curlink = location.href.match(/.*depo.ua/);}
var myhash = location.hash.match(/\d\d:\d\d/);
// створити посилання на архів
if(arclink){ // посилання на попередню дату
var date = new Date(/\d\d\d\d-\d\d-\d\d/.exec(location.pathname));
date.setDate(date.getDate()-1);
}else{var date = new Date();}
var y = date.getFullYear();
var m = date.getMonth() +1;
if(m < 10){m = '0' + m;}
var d = date.getDate();
if(d < 10){d = '0' + d;}
var date = y + "-" + m + "-" + d;
var newlink = '/archive/'+ y +'/'+ date;
// var newlink = curlink + '/archive/'+ y +'/'+ date;
if(arclink){
if(myhash){ // додати тег-мітку на останню новину головної сторінки
var target = document.querySelectorAll('span.date');
for (var i = 0; i < target.length; i++) {
var rexp = new RegExp('.*'+myhash+'$');
var targeted = target[i].textContent.match(rexp);
if (targeted) {
target[i].innerHTML = target[i].innerHTML.replace(targeted, '<a name="'+myhash+'"></a>Дивитися ДАЛІ');
break;
}
}
}
// наприкінці додати посилання на архів
var mydiv = document.createElement('div');
mydiv.innerHTML = ['<div><li></li><li class="item"><a href=',newlink,
'><span class="title" style="color: #FF6600">Переглянути всі новини за <b>',date,
'</b></span></a></li><li></li></div>'].join("");
document.body.appendChild(mydiv);
}else{
// перейти до стовпчика новин
var scrollTarget = document.querySelector('td.title_list_news');
scrollTarget.scrollIntoView();
// створити тег-посилання на останню новину головної сторінки
var x = document.getElementsByTagName('tbody').length-1;
var tableRef = document.getElementsByTagName('tbody')[x];
var totalRows = tableRef.rows.length;
var lastRow = tableRef.rows[ totalRows - 1 ];
newlink += '#' + lastRow.textContent.match(/\d\d:\d\d/);
// замінити існуючий реф посиланням на архів
var anchors = document.getElementById('logotype').getElementsByTagName('a');
for (var i = 0; i < anchors.length; i++){
anchors[i].setAttribute('href', newlink);
anchors[i].setAttribute('target', '_blank');
}
// наприкінці додати посилання на архів
var newCell = tableRef.insertRow(totalRows).insertCell(0);
newCell.innerHTML = ['<tr><td><a style="color: #FF6600" href=',newlink,
' class="link_title_news"><b>Усі новини за сьогодні >>></b></a></td></tr>'].join("");
}
});
(function() {
var css = [
"@namespace url(http://www.w3.org/1999/xhtml);\n",
" #wrapper .header {height: 124px; width: 100%; left: 0px; position: relative; min-height: initial;}",
" .navigation .nav {height: 32px;}",
" .header .header_inner {height: 100px; position: absolute;}",
" .header_inner .nav_second_row {padding-left: 55px; height: 30px; position: absolute;}",
" .header_inner .banner {display: none;}",
" .header .sticky {display: none;}",
" .slider_city .slick-initialized {display: none;}",
" #bigmenu .main_menu {top: 32px; position: relative;}",
" .dropdown_main_menu {width: 92%; top: 44%; line-height: 96%;}",
" #logotype {width: 85%; position: relative; margin-top: -22px;}",
" #left .wrap {box-sizing: content-box; padding-left: 0px;}",
" ul#list {display: none;}",
" ul#left_main {display: none;}",
" ul#right_main {display: none;}",
].join("");
if(arclink){
css += [
" #right {display: none;}",
" .holder .row_news {display: none;}",
" #container .list_news_corrector {display: none;}",
" .news_img {display: none;}",
" #container .block_archive {width: 125%; position: static;}",
" .last_news_block_search.content {width: auto;}",
" #footer {display: none;}",
// " #right > div {display: none;}",
// " .pb_feed_iframe {display: none;}",
].join("");
}
// 'addMaStyle' function
var stl = document.createElement('style');
stl.type = 'text/css';
stl.innerHTML = css.replace(/;/g, ' !important;');
var head = document.getElementsByTagName('head');
if (head.length > 0) {
head[0].appendChild(stl);
} else {
document.documentElement.appendChild(stl);
}
})();