OpenWRT Bootstrap LuCI Theme - fix for touch devices

Публикувай отговор
Аватар
teou
Site Admin
Мнения: 3031
Регистриран на: 23 Ное 2012 19:57
Местоположение: Dreieich - Dreieichenhein (Hessen) / София / Синеморец
Обратна връзка:

OpenWRT Bootstrap LuCI Theme - fix for touch devices

Мнение от teou »

Първо темата не е много за този раздел, но такъв за OpenWRT нямаме, така че тук ми се видя що-годе подходящо.
Второ, аз не съм автора на този фикс - оригиналът се намира на https://forum.openwrt.org/viewtopic.php?id=45432 и е написан от alphasparc, но такива фиксове са трудни за намиране и важни и смятам, че може да е полезно и на някой от форума. Да не се налага като мен половин час да Гуглира или сам да рови в кода на файловете.
А ето и за какво става въпрос:

Проблем: Инсталирате си някой нов OpenWRT базиран фърмуер с вграден графичен интерфейс. Взели сте го отнякъде и вероятно е базиран на някой Трънк, а не на стабилна версия. От едно известно време насам (година и нещо), в трънк клона има нова тема за графичния интерфейс LuCI - Bootstrap. Тя не е съвсем лоша, докато не решите да влезете в рутера от мобилно устройство - тъч телефон или таблет. Тогава ще установите, че менютата на интерфейса се отварят с hover на мишката, каквато очевидно тъч устройствата нямат. Вместо това от таблета вие кликате на менюто и ви се зарежда само първата страница от съответното меню. Нямате никакъв шанс да отворите 90% от интерфейса.

Решение: Възможните решения са две - за съжаление и двете хабят ценно дисково пространство и е трудно да бъдат направени от телефон.
Едното решение е, да инсталирате старата тема - има я в рипозиторито (търсете luci openwrt). Аз лично така правех доскоро - просто не ми се занимаваше да я хаквам тая тема. Онзи ден обаче открих и другото решение от горе-линкнатата тема, а именно някой все пак се е прежалил да огледа кода и да види къде е зарито кучето, така че да може да се пачне проблема без смяна на темата.

Направо цитирам човека (за протокола - има още някъде да се пипне за формата на курсора, но и така става):
Intro:
The menu hyperlink is useless. Why? Because it simply hyperlinks to the first child dropdown which also already has a hyperlink?!
On touchscreen device this prevents you from accessing the child dropdown!
So I have 2 web fixes here.
In Bootstrap header.htm
Change <a class="menu" href="<%=pcdata(href)%>"> to this <a class="menu">
The href is the culprit.
However if you do that the cursor changes to an ugly text pointer we want the hand pointer back
In Bootstrap we add this in cascade.css
In this element => a.menu:after, .dropdown-toggle:after
Add => cursor: pointer;

Solved ! And now it doesn't do a redundant hyperlink at the same time it solved the cursor issue!
редакция: cascade.css аз лично ви препоръчвам да го пропуснете - хаби се доста място, за дребен визуален ефект, който невинаги се вижда. Истинския функционален ефект е в първия файл.
Публикувай отговор