openvibers/openvibe.help Commits
Phone home: the first eight sites, then the link to all forty (#149)
Changes
@@@ -118,6 +118,9 @@ mark { background: var(--warning, #f59e0b); color: #10151f; border-radius: 3px;.site-card { justify-content: center; min-height: 48px; padding: 8px 12px; }.site-card-line, .site-card-count, .site-card:not(.coming) .site-state { display: none; }.site-card b { overflow-wrap: anywhere; }++ /* The home's site list shows its first eight on a phone; the link under it opens all of them (2026-10-31: forty++ cards were three phone screens on their own). */++ #sites .site-cards > li:nth-child(n+9) { display: none; }}/* Touch targets on phones (fleet audit 2026-10-29): the touch-only hit area for this group. Nothing moves with a mouse. */@@@ -34,6 +34,7 @@ const { boot, check, done } = require('./helpers/boot');const css = fs.readFileSync(path.join(__dirname, '..', 'public', 'css', 'app.css'), 'utf8');assert.match(css, /\.site-cards \{ grid-template-columns: repeat\(2, minmax\(0, 1fr\)\); gap: 8px; \}/, 'the phone site list is two columns');assert.match(css, /\.site-card-line, \.site-card-count, \.site-card:not\(\.coming\) \.site-state \{ display: none; \}/, 'a phone shows the name only');++ assert.match(css, /#sites \.site-cards > li:nth-child\(n\+9\) \{ display: none; \}/, 'the home shows eight sites on a phone; the link under the list opens all of them');assert.match(css, /\.hp-fold-block > summary \{ display: block; list-style: none; padding: 0; \}/, 'the summary marker is gone');assert.match(css, /\.hp-fold-block > summary::marker \{ content: ''; \}/, 'the standard marker is empty');assert.match(css, /\.hp-fold-block > summary::-webkit-details-marker \{ display: none; \}/, 'the WebKit marker is hidden');
@@ -118,6 +118,9 @@ mark { background: var(--warning, #f59e0b); color: #10151f; border-radius: 3px;
@@ -118,6 +118,9 @@ mark { background: var(--warning, #f59e0b); color: #10151f; border-radius: 3px;
.site-card { justify-content: center; min-height: 48px; padding: 8px 12px; }
.site-card { justify-content: center; min-height: 48px; padding: 8px 12px; }
.site-card-line, .site-card-count, .site-card:not(.coming) .site-state { display: none; }
.site-card-line, .site-card-count, .site-card:not(.coming) .site-state { display: none; }
.site-card b { overflow-wrap: anywhere; }
.site-card b { overflow-wrap: anywhere; }
+ /* The home's site list shows its first eight on a phone; the link under it opens all of them (2026-10-31: forty
+ cards were three phone screens on their own). */
+ #sites .site-cards > li:nth-child(n+9) { display: none; }
}
}
/* Touch targets on phones (fleet audit 2026-10-29): the touch-only hit area for this group. Nothing moves with a mouse. */
/* Touch targets on phones (fleet audit 2026-10-29): the touch-only hit area for this group. Nothing moves with a mouse. */
@@ -34,6 +34,7 @@ const { boot, check, done } = require('./helpers/boot');
@@ -34,6 +34,7 @@ const { boot, check, done } = require('./helpers/boot');
const css = fs.readFileSync(path.join(__dirname, '..', 'public', 'css', 'app.css'), 'utf8');
const css = fs.readFileSync(path.join(__dirname, '..', 'public', 'css', 'app.css'), 'utf8');
assert.match(css, /\.site-cards \{ grid-template-columns: repeat\(2, minmax\(0, 1fr\)\); gap: 8px; \}/, 'the phone site list is two columns');
assert.match(css, /\.site-cards \{ grid-template-columns: repeat\(2, minmax\(0, 1fr\)\); gap: 8px; \}/, 'the phone site list is two columns');
assert.match(css, /\.site-card-line, \.site-card-count, \.site-card:not\(\.coming\) \.site-state \{ display: none; \}/, 'a phone shows the name only');
assert.match(css, /\.site-card-line, \.site-card-count, \.site-card:not\(\.coming\) \.site-state \{ display: none; \}/, 'a phone shows the name only');
+ assert.match(css, /#sites \.site-cards > li:nth-child\(n\+9\) \{ display: none; \}/, 'the home shows eight sites on a phone; the link under the list opens all of them');
assert.match(css, /\.hp-fold-block > summary \{ display: block; list-style: none; padding: 0; \}/, 'the summary marker is gone');
assert.match(css, /\.hp-fold-block > summary \{ display: block; list-style: none; padding: 0; \}/, 'the summary marker is gone');
assert.match(css, /\.hp-fold-block > summary::marker \{ content: ''; \}/, 'the standard marker is empty');
assert.match(css, /\.hp-fold-block > summary::marker \{ content: ''; \}/, 'the standard marker is empty');
assert.match(css, /\.hp-fold-block > summary::-webkit-details-marker \{ display: none; \}/, 'the WebKit marker is hidden');
assert.match(css, /\.hp-fold-block > summary::-webkit-details-marker \{ display: none; \}/, 'the WebKit marker is hidden');