Ja mam pytanie, kto to programował, bo mam tu niezłego mindfucka.
Form (podświetlone) jest parentem zaznaczonego na czerwono.
Jest lista dzieci i są to: textarea, przyciski tam na dole (emoty, zdjęcie) + w tym otwartym okienku na czerwono zaznaczone 2 ikonki - emoji i lenny.
Wylistuję je:
  1. textarea
  2. ikonka otwierająca okno z emotami
  3. ikonka dodająca zdjęcie
  4. wyślij wpis
  5. ta kolorowa mordka już w okienku
  6. lennyfejs
Teraz uwaga, sprawdzam parenta punktu 5 i 6: Nie jest nim Form! Tak, Form ma za dzieci punkty 5 i 6, ale punkty 5 i 6 za rodzica mają... zaznaczone naróżowo pole pod nimi.
Idziemy dalej. Zaznaczone na różowo pole za rodzica ma pole błękitne! (tutaj policzymy dwa razy, bo div i div są w sobie i są identycznych rozmiarów).
No to sprawdzamy parenta niebieskiego (->granatowego)... jest nim nasz podświetlony Form!
Czyli dla naszego niebieskiego(granatowego) pola, rodzicem jest Form, ale dla naszego Form to niebieskie(granatowe) pole NIE JEST DZIECKIEM!
I teraz ja biedny, absolutnie nienawidzący JavaScriptu, siedzę od 23 i próbuję userscripta zrobić i mi nie wychodzi... przez to że nie ma absolutnie żadnej logiki w hierarchii tych elementów. Nie może być czegoś takiego, że rodzic ma dziecko, ale dziecko za rodzica uznaje kogoś innego. To samo na odwrót, nie może być, że dziecko mówi na kogoś "rodzic", a rodzic tego dziecka go nie uznaje za swoje dziecko.
Nie wiem teraz czy dalej pisać tego userscripta już biorąc pod uwagę tego absolutnego mindfucka, czy też planujecie ogarnąć ten, no wybaczcie, lekki burdel w kodzie? @hejto
(╯°□°)╯ /(.□. \\)
#hejto #hejtobugi (? no w sumie trochę bug) #gorzkiezale #HejtoLennyHelper
673cac06-a237-4382-97f9-d7022366ac69
biker

@Acrivec nic nie czaje ale +1 Zwracaj uwagę na błędy

Acrivec

@biker Jest tak. R-wskazuje na rodzica, D- wskazuje na dziecko.


Z jednej gwiazdki zawsze powinna wychodzić maksymalnie jedna zielona strzałka (jeden rodzic!) (lub zero jeśli jest 'szczytem' w hierarchii), oraz wiele czerwonych.

Do gwiazdki zawsze powinna dochodzić tylko i wyłącznie jedna czerwona strzałka - można być dzieckiem tylko jednej gwiazdki.

Wychodzić czerwonych może ile chcesz.

Każda czerwona powinna mieć zieloną zwrotną - ten sam kierunek, przeciwny zwrot.


W tym przypadku mamy gwiazdkę będącą dzieckiem 2 gwiazdek, ale mającą jednego rodzica.


Mamy też dziecko będące dzieckiem jednej gwiazdki ale ta druga gwiazdka go nie uznaje za swoje dziecko

a23268b3-815c-48f0-8470-1889715037c9
Acrivec

W klasach są powrzucane liczby z kropkami które niszczą selektory w querySelector

wojtek-x

@Acrivec o_O kropki w nazwie klas? Bardzo zły pomysł (bez względu na język). Co do samego wpisu: wielki piorun za research. Czekamy na reakcję @Hejto (o ile jakaś wogóle będzie)

MrPluszak

@Acrivec Klasy z kropkami działają w querySelector jakby co (zwróć uwage na slashe), ale fakt, że może być to uciążliwe np. document.querySelector(".-right-2\\.5")

A co samych styli, to hejto korzysta z https://tailwindcss.com/ czyli takie utility CSS classes, stąd są takie "nietypowe" nazwy klas.

Acrivec

@MrPluszak trochę trzeba się napieprzyć jak klasa(y) przycisku to:

p-2 rounded-full transition-colors self-end mb-0.5 text-grey-500 dark:text-grey-300 focus:bg-grey-200 dark![emoji_:focus:](:focus:)bg-grey-900 hover:bg-grey-200 dark![emoji_:hover:](:hover:)bg-grey-900

MrPluszak

@Acrivec No w takim układzie niestety tak, osobiście nie lubię tego typu typu nazw klas, ale no jest to popularny framework mimo wszystko. A odnośnie układu/DOM, to możesz opisać co chcesz osiągnąć? Bo nie bardzo rozumiem problemu po treści wpisu, a może pomogę.

Acrivec

@MrPluszak udało mi się skończyć skrypt, ale nagle przestał działać jak chciałem dodać wideo

https://www.hejto.pl/wpis/zrobilem-skrypt-do-hejto-w-celu-dodania-wiecej-lennych-oraz-powiekszenia-okienka

Jak mi przejdzie zirytowanie to spróbuję go przerobić aby szukał przycisku korzystającego z konkretnego svg.


Problem również miałem z tym, że otwieranie panelu emoji dodaje osobny DOM w shadowroocie, ale to obszedłem.

MrPluszak

@Acrivec No odnośnie tego dodatkowego DOM po kliknięciu, to tak najczęściej są obsługiwane takie "pływające" elementy, modale, dialogi itp. Tworzone są różnego rodzaju "portale" i inne cuda, a wynika to chociażby z pozycjonowania elementów, jakiś overlayów itd. Jak chcesz to możesz mi podesłać na PW jakiś link do kodu, albo czegoś, to postaram się pomóc jak będę miał chwile.

Zaloguj się aby komentować