← Wszystkie wpisy

Okna na froncie

Floating button JustZix — 3-literowa kropla z hover state, snap, popup menu

Floating button to mała kropla 3-literowa którą widzisz na każdej stronie, gdzie JustZix ma aktywną regułę. To wejście do całego JustZix UI — klik otwiera popup z toggle'ami, drag pozwala przesunąć, snap łączy z paskami akcji. Mała wizualnie, ale kondensuje dużo funkcjonalności. Ten post otwiera ją od środka.

3-literowy label per folder

Każdy folder w JustZix (główna jednostka grupująca reguły) ma opcjonalny icon — max 3 znaki, automatycznie UPPERCASE. Float btn pokazuje icon pierwszego matchującego folder'a (po prefiksie URL):

folder.icon = 'qa'      → label "QA"
folder.icon = 'dev'     → label "DEV"
folder.icon = '🐛'      → label "🐛" (emoji slice'd do 3 znaków)
folder.icon = (puste)   → label "ZIX" (default)

Idea: power user ma 5-10 folderów per project, każdy z innym 3-literowym oznaczeniem. Widząc "QA" na floating btn wiesz że reguły QA są aktywne. Visual feedback przed jakimkolwiek interakcji.

4 stany wizualne — kolor + opacity

StateCSS classKiedyWygląd
jz-onwszystkie matchujące foldery enabledPełen kolorAkcent koloru folder'a (lub teal default)
jz-mixedniektóre foldery on, inne offPółprzezroczystyBardziej blade — sygnał "uważaj, nie wszystko aktywne"
jz-offwszystkie matchujące foldery disabledSzaryNiski contrast — "nieaktywne"
jz-globally-offextension globalnie disabledCzerwonawy / krzyk"Cała wtyczka wyłączona"

State auto-update na storage onChanged — toggle reguły gdziekolwiek (options page, popup widget, chrome context menu) → float btn natychmiast zmienia wygląd.

Anatomia kliknięcia — popup widget

Lewy klik na float btn → otwiera się popup widget tuż obok przycisku. Widget zawiera:

Click outside zamyka popup (event listener na document). Kliknięcie checkbox'a triggeruje setBarHidden / setCssPaneEnabled / setFolderEnabled — wszystkie chain'ed przez Promise żeby uniknąć race condition.

Snap connections z bars i panes

Float btn uczestniczy w snap connections jako pseudo-element z ID '__float'. Mechanika identyczna co dla pane'ów:

  1. Drag float btn blisko bara akcji (≤20px) → snap, dwa elementy = grupa
  2. Drag dowolnego elementu w grupie → cała grupa porusza się razem
  3. Prawokliki na float btn → context menu z opcjami "Rozłącz od X"

Use case: floating btn jako "anchor handle" dla całej grupy. Bary + Output Console snap'nięte do float btn → drag float btn = przenosisz cały dashboard.

Prawokliki = context menu

Identyczny mechanizm co dla bars / CSS panes — context menu per element. Float btn ma:

Brak font/size — float btn jest fixed-size (32×32px). Nie ma tam textu do customizacji poza 3-literowym labelem (który jest z folder.icon).

Use case 1 — Visual scope indicator

Mas 3 foldery: "ALL" (działa wszędzie), "GHB" (tylko github), "GMA" (tylko gmail). Każdy z innym kolorem (zielony, czarny, czerwony) i 3-literowym icon. Wchodzisz na github.com → float btn pokazuje czarne "GHB". Wchodzisz na gmail.com → czerwone "GMA". Bez sprawdzania popup widget'a widzisz scope.

Use case 2 — Quick global pauza

Skype call, demo komuś nowej feature na produkcji, JustZix może przeszkadzać. Klik float btn → "Pauza globalna" toggle → wtyczka deaktywuje wszystkie reguły. Po demo → klik znów → enabled. Bez wchodzenia w chrome://extensions.

Use case 3 — Per-page hide do reloadu

Reguła "Force dark mode" pasuje też na strone bankową — która już ma własny dark mode. Float btn zasłania logo banku. Prawokliki na float btn → "Ukryj do reloadu" → float btn znika tylko na tej karcie, do F5. Reguły wciąż działają, tylko UI hidden.

Use case 4 — Pozycja per-domena

Position float btn'a jest persistent w chrome.storage.sync. Domyślnie w prawym dolnym rogu (BR anchor). Drag → save → następna wizyta na tej domenie wraca tam gdzie zostawiłeś. Pozycja jest per-element-id, ale wszystkie pages share id '__float' — czyli pozycja jest globalna across domains. Jeśli chcesz per-page → użyj snap z bar'em który jest scope-specific.

Pułapki

Co dalej

Float btn to "entry point" dla całej UI JustZix — wszystkie inne elementy (bars, panes) są bardziej kontekstualne. Sprawdź też:

Zainstaluj JustZix — float btn pojawi się sam jak tylko dodasz pierwszą regułę.

Oceń ten wpis

Brak ocen — oceń jako pierwszy.

Wypróbuj samodzielnie

Zainstaluj JustZix i wklej dowolny snippet z tego artykułu. Dwie minuty od zera do działającej reguły na wszystkich Twoich urządzeniach.

Pobierz JustZix

Funkcje · Jak to działa · Przykłady · Zastosowania