web: Try to fix sub-menus for touch screens
authorWerner Koch <wk@gnupg.org>
Fri, 1 Feb 2019 10:54:00 +0000 (11:54 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 1 Feb 2019 10:54:00 +0000 (11:54 +0100)
They don't work with Fennec on my tablet, despite that FF's responsive
design tool can't emulate that behaviour.

web/share/gpgweb.el
web/share/site.css

index 8c968c9..8436472 100644 (file)
@@ -185,11 +185,20 @@ if not available.  If CUSTOM is true only a minimal header is set."
     (let ((item (car menu)))
       (when item
         (dotimes (i (1+ lvl)) (insert "  "))
-        (insert "  <li><a href=\"" (car item) "\"")
-        (when (or (string= (car item) selected-file)
-                  (gpgweb--any-selected-menu-p (caddr item) selected-file))
-          (insert " class=\"selected\""))
-        (insert  ">" (cadr item) "</a>\n")
+        (if (caddr item)
+            (progn
+              (insert "  <li><span class=\"topmenuitem\"")
+              (when (or (string= (car item) selected-file)
+                        (gpgweb--any-selected-menu-p (caddr item)
+                                                     selected-file))
+                (insert " class=\"selected\""))
+              (insert  ">" (cadr item) "</span>\n"))
+          (progn
+            (insert "  <li><a href=\"" (car item) "\"")
+             (when (or (string= (car item) selected-file)
+                       (gpgweb--any-selected-menu-p (caddr item) selected-file))
+               (insert " class=\"selected\""))
+             (insert  ">" (cadr item) "</a>\n")))
         (when (caddr item)
           (dotimes (i (1+ lvl)) (insert "  "))
           (insert "  <ul class=\"sub-menu\">\n")
index c075577..82afa8e 100644 (file)
@@ -237,6 +237,13 @@ a:link {
     text-decoration: none;
 }
 
+.topmenuitem {
+    padding: 10px;
+    color: #757575;
+    font-weight: bold;
+    text-decoration: none;
+}
+
 nav ul,
 ul ul.sub-menu {
     margin: 0;
@@ -285,7 +292,7 @@ nav ul li:hover ul.sub-menu {
     z-index: 99;
     border-radius: 0px;
     position: absolute;
-    top: 37px;
+    top: 28px;
     left: 0;
 }
 nav ul ul li {