dev

dev

Подписчиков: 442     Сообщений: 5978     Рейтинг постов: 32,119.5
В этом разделе мы обсуждаем технические аспекты реактора.
Развернуть

dev реактор 

Удаление тегов в новом интерфейсе

Вопрос.

А куда в новом интерфейсе дели опцию "Неправильные теги"?

В старом она ещё есть, а в новом - не видно.

dev,реактор
dev,реактор
Развернуть

dev реактор Баян 

Любопытно узнать, на реакторе есть какой-то механизм обнуления рейтинга поста по причине баяна? Или посетители сами внезапно вместо плюсов начинают минусы жать усердно?

Вот пост: https://joyreactor.cc/post/6129334

за среду он набрал около +65, а под конец четверга стал 0

Запостил я его, потому что баянометр молчал (да и сейчас только мой пост показывает)

Развернуть

dev реактор 

А можно в похожие посты не пихать заблокированные теги или скрывать их, как в ленте?

dev,реактор
Развернуть

dev реактор 

а можно мне вернуть через 2 года бана возможность хоть в плюс-минус?
рад был вернуться))

Развернуть

dev реактор новый дизайн видеогифки гифки 

Здравствуйте товарищи разработчики, и прочие читатели реактора!

Заметил, что в новом дизайне приходится ждать пока гифки загрузятся (ну или чего оно там делает, пока четыре оранжевых кружка вертятся), прежде чем я смогу кликнуть, чтобы воспроизвести гифку, например:

dev,реактор,новый дизайн,видеогифки,videogif,гиф анимация,гифки - ПРИКОЛЬНЫЕ gif анимашки

У меня в настройках отмечено Запускать гифки/видеогифки по клику, но оно не помогает.

В старом-новом дизайне такого не наблюдается, и гифки сразу готовы чтобы по ним кликать. А в новом приходится ждать по 5+ секунд пока гифки прогрузятся, прежде чем кликать их.

Есть какой-то способ сделать чтобы без вот таких загрузок было?

Развернуть

dev реактор 

Почему я вижу эти посты в подписке? Если не подписан ни на один тег.

dev,реактор
Развернуть

dev реактор предложение 

А что, если размывать посты с тегом "Спойлер"?


Следование общепринятой тенденции о том, что спойлерный контент следует отображать сокрытым; в данном случае -- размытым (размытие довольно модно и популярно).

Я его придумал добавить в основном для эстетических целей.

Вот, можете даже сами попробовать:

```

/^(?:old\.)?reactor\.cc$/##.postContainer:has(.taglist>b>a[title="СПОЙЛЕР"]) .post_content:not(:hover):style(filter:blur(15px); transition:filter 0.3s)

/^(?:old\.)?reactor\.cc$/##.postContainer:has(.taglist>b>a[title="СПОЙЛЕР"]) .post_content:hover:style(transition:filter 0.3s)

/^(?:m\.)?joyreactor\.cc$/##.post-card:has(.post-tags>div>span>a[href="/tag/%D0%A1%D0%9F%D0%9E%D0%99%D0%9B%D0%95%D0%A0"]) .post-content:not(:hover):style(filter:blur(15px); transition:filter 0.3s)

/^(?:m\.)?joyreactor\.cc$/##.post-card:has(.post-tags>div>span>a[href="/tag/%D0%A1%D0%9F%D0%9E%D0%99%D0%9B%D0%95%D0%A0"]) .post-content:hover:style(transition:filter 0.3s)

```

Учтите, что иногда тег спойлера закрыт под тремя точками, и фильтры выше такой пост не распознают.

...Теперь в моём списке причин "Почему предыдущий дизайн самый лучший." появился новый пункт:

dev,реактор,предложение

Размытие в предыдущем дизайне выглядит красиво и приятно.

dev,реактор,предложение

В новом же дизайне размытие ограничено ровно своим контейнером. (Но при этом на странице самого поста размывает без границ, что озадачивает).

Развернуть

dev реактор новый движок 

Пс пс, контрабанда

Если вы пользуетесь кнопкой "свернуть" пост чуть чаще, чем никогда, то возможно моё предложение вас заинтересует.

Кто-то во время разработки нового дизайна решил, что отличной будет идеей спрятать кнопку сворачивания подальше от поста; чтобы пользователи совершали на один клик больше, тем самым занимаясь зарядкой и держали себя в тонусе.

Не знаю, кто этот сверхразум, но знаю точно, что у него странное чувство эстетики; раз он жертвует расстоянием ради этих несчастных трёх точек.

Это меню с тремя точками, конечно же, странное.

Обратите внимание на последовательность кликов на картинке:

dev,реактор,новый движок

Теперь внимание вопрос: Зачем нужна кнопка "Скопировать ссылку", если оба варианта находятся на одинаковом расстоянии кликов? -- интеллект того сверхразума непостижим (по крайней мере для меня уж точно). Возможно, весомая разница в том, что первый способ использует только ЛКМ; но ёп меня за ногу...

Также обратите внимание, что в этом меню продублирована дата и время поста:

dev,реактор,новый движок

Ну, или это в пост продублирована дата и время с этого меню. От чего возникает вопрос: Неужели места не хватает? Разве так сложно добавить кнопки ближе к посту?

...Поэтому я наконец-таки дошёл (по времени, и по навыкам) до того, чтобы самостоятельно вернуть для себя мою часто используемую кнопку сворачивания поста обратно в пост. См. видео в начале. Это работает через "мимикрию" -- кнопки вызывают системные клики по оригинальному меню. (Изначально я хотел полноценные кнопки, но не смог их сделать, ибо не знал как скопировать их поведение; и до такого додумался только недавно). К счастью у меня получилось всё, что я хотел. По техническим причинам (текущий дизайн фронта и недостаток моих знаний) пришлось переносить все кнопки меню, а не только сворачивание поста.

Я их себе ещё и установил в определённом порядке. Обоснование такое:

Fav -- Святая святых. На первом месте без вариантов

Свернуть -- Моя самая часто используемая кнопка

Ссылка -- Обязательный способ для перехода на страницу поста (самое важное закончилось, теперь можно и это)

Копировать ссылку -- Логически привязана к кнопке "Ссылка", всегда следует после неё

Баян -- "Прочее дерьмо"

Флаг -- Всегда последним, чтобы следовать консенсусу большинства сайтов

Кнопки редактирования и удаления поста не поддерживаются и обрабатываются как есть.

Исходник:

```js

// ==UserScript==

// @name JoyReactor fix post buttons

// @namespace http://tampermonkey.net/

// @version 1.6

// @description Кто тот герой 400iq интеллекта, что додумался в новом дизайне переместить кнопку сворачивания на клик дальше, чем нужно было?.

// @author neliut

// @match https://joyreactor.cc/*

// @match https://m.joyreactor.cc/*

// @grant none

// ==/UserScript==

//25.06.17 22.29.28

//При написании этого скрипта я пользовался помощью нейросети.

(function() {

'use strict';

const FnClickTemplate = async (hePost, inx) => {

hePost.querySelector(".content>.post-header button").click();

setTimeout(() => {

const heMenu = document.querySelector("body.joy>div>div.ant-dropdown:not(.ant-dropdown-hidden)")

heMenu.style.visibility = "hidden";

heMenu.querySelectorAll("*").forEach(he => { he.style.opacity = "0"; });

heMenu.querySelector(`ul>li:nth-child(${inx})>span>button`).click();

setTimeout(() => {

heMenu.style.visibility = "";

heMenu.querySelectorAll("*").forEach(he => { he.style.opacity = ""; });

}, 256);

}, 0);

}

const FnProcPost = hePost => {

hePost.querySelector(":scope>div>*:nth-child(3)").classList.add("tmjrfpb_proced");

if (hePost.querySelector(":scope>div>button")) {

const heOrigBtn = hePost.querySelector(":scope>div>button");

let heCloneBtn = document.createElement('button');

heCloneBtn.classList.add(...heOrigBtn.classList);

heCloneBtn.classList.add("tmjrfpb_btn");

heOrigBtn.parentNode.insertBefore(heCloneBtn, heOrigBtn.parentNode.children[2]);

heCloneBtn.innerHTML = `

<svg viewBox="64 64 896 896" focusable="false" data-icon="arrows-alt" width="1em" height="1em" fill="currentColor" aria-hidden="true">

<path d="M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 000 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0013.5-4.7L863.9 169a7.9 7.9 0 00-8.9-8.9zM416.6 562.3a8.03 8.03 0 00-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 00-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z"></path>

</svg>

<span>Развернуть пост</span>`;

heCloneBtn.style.marginLeft = "5px";

heCloneBtn.addEventListener('click', (e) => {

e.target.closest("button.tmjrfpb_btn").remove();

FnClickTemplate(hePost, 2);

});

heOrigBtn.parentNode.children[3].style.display = "none";

} else {

hePost.querySelector(".post-footer>div>a>button").style.marginLeft = "5px";

const heBtnFav = hePost.querySelector(".post-footer>div>button");

heBtnFav.parentNode.prepend(heBtnFav);

const heA = hePost.querySelector(".post-footer>div>a~a");

heA.parentNode.prepend(heA);

//##

const heContainer = hePost.querySelector(".post-card .post-footer>div:nth-of-type(2)");

const heOrigBtn = hePost.querySelector(".post-footer>div>a~a>button");

let heNewBtn = null;

let heCloneBtn = null;

//'Свернуть'.

heNewBtn = heOrigBtn.cloneNode(true);

heNewBtn.classList.remove("hidden", "xl:block");

heNewBtn.classList.add("pb-px");

heContainer.insertBefore(heNewBtn, heContainer.children[2]);

heNewBtn.innerHTML = `<svg viewBox="64 64 896 896" focusable="false" data-icon="shrink" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M881.7 187.4l-45.1-45.1a8.03 8.03 0 00-11.3 0L667.8 299.9l-54.7-54.7a7.94 7.94 0 00-13.5 4.7L576.1 439c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 157.6-157.6c3-3 3-8.1-.1-11.2zM439 576.1l-189.2 23.5c-6.6.8-9.3 8.9-4.7 13.5l54.7 54.7-157.5 157.5a8.03 8.03 0 000 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l157.6-157.6 54.7 54.7a7.94 7.94 0 0013.5-4.7L447.9 585a7.9 7.9 0 00-8.9-8.9z"></path></svg>`;

heNewBtn.addEventListener('click', () => {

FnClickTemplate(hePost, 2);

});

//'Копировать ссылку'.

heCloneBtn = heNewBtn.cloneNode(true);

heContainer.append(heCloneBtn);

heCloneBtn.innerHTML = `<svg viewBox="64 64 896 896" focusable="false" data-icon="copy" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"></path></svg>`;

heCloneBtn.addEventListener('click', () => {

FnClickTemplate(hePost, 1);

});

//'Баян'.

heCloneBtn = heNewBtn.cloneNode(true);

heContainer.append(heCloneBtn);

heCloneBtn.innerHTML = `<svg viewBox="64 64 896 896" focusable="false" data-icon="dislike" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 00-26.5-5.4H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h129.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM184 456V172h81v284h-81zm627.2 160.4H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 01-42.2-32.3L329 459.2V172h415.4a56.85 56.85 0 0133.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0119.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0119.6 43c0 19.1-11 37.5-28.8 48.4z"></path></svg>`;

heCloneBtn.addEventListener('click', () => {

FnClickTemplate(hePost, 4);

});

//'Флаг'.

heCloneBtn = heNewBtn.cloneNode(true);

heContainer.append(heCloneBtn);

heCloneBtn.innerHTML = `<svg viewBox="64 64 896 896" focusable="false" data-icon="warning" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M464 720a48 48 0 1096 0 48 48 0 10-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z"></path></svg>`;

heCloneBtn.addEventListener('click', () => {

FnClickTemplate(hePost, 3);

});

}

const heBtnMenu = hePost.querySelector(".content>.post-header button");

heBtnMenu.style.pointerEvents = "none";

heBtnMenu.style.visibility = "hidden";

const heDateTime = hePost.querySelector(".post-card .post-footer>div:nth-of-type(1)");

const heSpan = document.createElement('span');

heSpan.innerHTML = `<span role="img" aria-label="calendar" class="anticon anticon-calendar mx-1"><svg viewBox="64 64 896 896" focusable="false" data-icon="calendar" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z"></path></svg></span>`;

heDateTime.prepend(heSpan);

};

const FnProcAllPosts = () => {

for (const hePost of document.querySelectorAll(".post-card:not(:has(div>*:nth-child(3).tmjrfpb_proced))")) { //".post-card:not(:has(.post-footer>:nth-child(3)>button~button,div>button~button))"

FnProcPost(hePost);

}

};

const observer = new MutationObserver((mutations) => {

if (mutations.some(m => m.addedNodes?.length)) {

FnProcAllPosts();

}

});

observer.observe(document.body, {childList:true, subtree:true});

document.addEventListener('pjax:complete', FnProcAllPosts);

})();

```

Учтите, что есть ненулевой риск тому, что меня могут забанить за такое дерзкое осквернение сей божественного дизайна. Тот сверхразум наверное будет в бешенстве.

Развернуть

dev реактор 

Вождь, Кока, Сплитэ, ну вы знаете, ага.

Появились проблемы с реактором, выражаются в том, что моментами он может не грузиться совсем, может открыться глагна, а потом дальше не листается. Может работать всё, но плюсоминус не поставить и в комменты поста не влезть.
Иногда это может длиться несколько минут, иногда несколько часов. При чем, иногда бывает так, что с компа реактор доступен, а с телефона нет. И наоборот.

Видел по коментам, что не только у меня такое. Чо у вас здесь происходит?

По ощущениям такая херня минимум неделю, возможно, две. Интернет - пидаростелеком на компе, билайн на телефоне.

Развернуть

Отличный комментарий!

Светлое будущее со всех сторон наступает, ты не знал?
Sk10 Sk1017.06.202506:47ссылка
+30.9

dev реактор JoyExplorer 

уже неделю не работает приложение joyexplorer, не грузит через Билайн, мегафон и Ростелеком рос.

VPN частично помогает, но не погружает ряд постов.

Это блок приложения или разраб в отпуске?

dev,реактор,JoyExplorer
Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме dev (+5978 картинок, рейтинг 32,119.5 - dev)