Wpis z mikrobloga

@ZasilaczKomputerowy wzorując się na starym Mirkoukrywaczu oraz Twoim "Krawężniku" zrobiłem kilka miesięcy temu ulepszoną i bardziej rozbudowaną wersję tego ficzera.

https://greasyfork.org/pl/scripts/458860-wykop-xs

Naklepałem to bo już mnie #!$%@?ło przeglądanie 100 razy tych samych wpisów.


Wykop XS może oprócz "zwijania" także całkowicie usuwać wpisy i komentarze (tak jak Mirkoukrywacz) a także usuwać znaleziska na głównej i w wykopalisku.

Do tego jest opcja filtrowania wszystkich wpisów/komentarzy danego użytkownika na całej stronie (np. pod wpisem albo
WykopX - @ZasilaczKomputerowy wzorując się na starym Mirkoukrywaczu oraz Twoim "Krawę...

źródło: temp_file334602570092522942

Pobierz
@WykopX: No spoko, ale moja córka studiuje prawo ( ͡° ͜ʖ ͡°). A tak serio, fajny ficzer, dobrze że to pociągnąłeś dalej. Mi jednak jest potrzebny pojedynczy przycisk, więc zostanę przy swoim narazie. I jak to mawiają nosacze odnośnie skrzyń automatycznych: ja tam wole mieć kontrolę nad samochodem.
@ZasilaczKomputerowy w Wykop XS można wyłączyć każdy z przycisków i zostawić tylko te, które są potrzebne.

Oczywiście nie chodzi o to, żeby robić konkurencję - in więcej różnego rodzaju skryptów tym lepiej dla użytkowników. ( ͡º ͜ʖ͡º)

I tak jak mówiłem, robiąc research postanowiłem, żeby mój "krawężnik" miał takie same przyciski do zwijania czyli [ + ] oraz [ - ]

Ogólnie Twój pomysł był bardzo dobry.
WykopX - @ZasilaczKomputerowy w Wykop XS można wyłączyć każdy z przycisków i zostawić...

źródło: temp_file926459535164186980

Pobierz
@ZasilaczKomputerowy robiłem wszystko, żeby mieliło jak najmniej. Przyciski są dodawane przez IntersectionObserver dopiero wtedy kiedy wpis/komentarz zbliża się do wyświetlenia w viewporcie.

Wykop XS robi jednocześnie jeszcze mnóstwo innych rzeczy np. wczytuje notatki koło użytkowników, sprawdza czas wygaśnięcia bana, sprawdza czy obserwujesz albo blokujesz użytkownika, aktualizuje na żywo liczbę plusów... Więc optymalizacja optymalizacja i jeszcze raz optymalizacja.

A mielenie DOM zawsze jest problematyczne i zawsze można to zrobić lepiej...

Zresztą sam dobrze
@WykopX: To ja mam taki request feature: zrób żeby się np. w sekcji "Plusujący" nicki podświetlały np. na niebieski i różowy i po najechaniu wyświetlał się popup z podstawowymi danymi o userze. Zawsze to chciałem mieć, a nie da się tego zrobić w 2 godziny, a na tyle mi przeważnie starcza cierpliwości.
@ZasilaczKomputerowy

@WykopX: To ja mam taki request feature: zrób żeby się np. w sekcji "Plusujący" nicki podświetlały np. na niebieski i różowy i po najechaniu wyświetlał się popup z podstawowymi danymi o userze. Zawsze to chciałem mieć, a nie da się tego zrobić w 2 godziny, a na tyle mi przeważnie starcza cierpliwości.


Myślałem nad tym ale wyobraź sobie, że jest wpis z 4000 plusujacych i do każdego dodajemy div z
@WykopX: Tworzysz jedno okno modalne i uzupełniasz je dynamicznie dopiero po najechaniu na nick. Dane dociągasz przez api asynchronicznym żądaniem. Robisz jakiś prosty loading screen na modalnym oknie. Kwestie koloru nicków też można załatwić żeby powyżej jakiejś liczby plusujących kolorowały się tylko na żądanie. Ewentualnie robisz to w ten sposób że kolorujesz jakąś porcję nicków, potem dajesz maszynie js odpocząć i potem znowu kolejną porcję aż do końca. Kolorując nie robisz
@ZasilaczKomputerowy: Tworzysz jedno okno modalne i uzupełniasz je dynamicznie dopiero po najechaniu na nick

No tak, masz rację, w sumie to dosyć oczywiste rozwiązanie i faktycznie najbardziej efektywne. Chyba za dużo się napatrzyłem na kod Wykopu, który dodaje do kodu mnóstwo ukrytych elementów "na wszelki wypadek" przez co strona główna i mikroblog działają jak...

Z tym pomysłem się zgadzam, byłoby to dosyć proste.
WykopX - > @ZasilaczKomputerowy: Tworzysz jedno okno modalne i uzupełniasz je dynamic...

źródło: WykopX

Pobierz
Natomiast co do kolorowania nicków - to jakiś czas temu już zrobiłem i ta funkcja będzie dostępna już niedługo w nowej aktualizacji Wykop X Style 3.0

Tak to wygląda.
Robione jest wszystko CSS-ami, nie potrzeba było do tego ani linijki JavaScriptu bo dane o kolorze nicka są w HTML.
Dodatkowo jest też np sortowanie wg koloru nicka, Wyświetlanie kolorów np. tylko bordo albo tylko zielonek, oznaczenia zbanowanych, moderacji albo usuniętych kont etc.
WykopX - Natomiast co do kolorowania nicków - to jakiś czas temu już zrobiłem i ta fu...

źródło: WykopX

Pobierz
@WykopX: No właśnie ten kolor paska by się przydał, z jakiegoś powodu ta informacja więcej mi mówi niż czy ktoś jest bordo czy nie. W takim sensie, że dla mnie nie ma znaczenia czy ktoś jest bordo bo mnie to zwyczajnie nie obchodzi. Za to jak ma różowy pasek to na 50-60% znaczy że jest trollem.
Programiści wykopu bardzo "inteligentnie" dodali informację o kolorze bordo/zielonki zarówno przy nicku jak i avatarze:

<a class="username username orange-profile">
natomiast kolor płci użytkownika jest tylko w avatarze:

<figure class="male orange-profile">
A na liście plusujących avatary nie są dodane, więc tę informację trzeba by było dodać skryptem do każdego z kilkuset <a> na liście plusujacych.
WykopX - Programiści wykopu bardzo "inteligentnie" dodali informację o kolorze bordo/...

źródło: WykopX

Pobierz
@WykopX: Tak, zdaję sobie z tego sprawę. Dlatego zaproponowałem aby to robić przy większej liczbie plusujących na żądanie, lub porcjami. W sensie żeby nie zajechać maszyny js, to co jakiś interwał czasu wysyłać np. po 10-20 żądań do api o płeć użytkownika. Ewentualnie można się jeszcze zastanowić czy np. nie opłaca się tego częściowo trzymać w cache'u przeglądarki. To nie jest duża informacja, a podejrzewam że aktywnych userów na mirko jest
@ZasilaczKomputerowy: Nie trzeba nawet wysyłać zapytania do API bo wszystkie dane o każdym użytkowniku są wczytane w obiektach DOM na stronie. Z poziomu JavaScript dostępne jest praktycznie wszystko oprócz notatki do użytkownika (to jedyna informacja o jaką trzeba wysłać zapytanie do API)

Po prostu nie ma ich w kodzie HTML w postaci klas czy atrybutów data-* więc nie można z nich skorzystać w CSS.