website: one picture viewer (assets/gallery.js) for app and dashboard pictures — declared data-gallery sets, a click on the big picture closes, JS-off still opens the file; site gate 20 + 4 decoys; demo-hp language read back (hu); R-908 (old Resend key in homelab-manifests history); 131 -> 132
gates / gates (push) Successful in 4m25s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
This commit is contained in:
2026-10-08 13:14:24 +02:00
parent 460135a15a
commit 79c53b5f1a
27 changed files with 711 additions and 734 deletions
+26 -23
View File
@@ -955,9 +955,11 @@ footer p { color: var(--text-2); font-size: 0.9rem; }
.page-alkalmazasok .app-description { color: var(--text-2); font-size: 0.9rem; line-height: 1.6; margin-bottom: 16px; flex-grow: 1; }
.page-alkalmazasok .app-features { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.page-alkalmazasok .app-feature { background: var(--blue-dim); color: var(--blue-bright); padding: 4px 10px; border-radius: var(--radius); font-size: 0.75rem; font-weight: 500; }
.page-alkalmazasok .app-shot-link { display: block; }
.page-alkalmazasok .app-screenshot { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--line); background: var(--bg-1); cursor: pointer; transition: opacity 0.2s ease, transform 0.2s ease; }
.page-alkalmazasok .app-screenshot:hover { opacity: 0.9; transform: scale(1.02); }
.page-alkalmazasok .lightbox-overlay {
/* --- The picture viewer (assets/gallery.js), on every page that declares a data-gallery set --- */
.lightbox-overlay {
display: none;
position: fixed;
top: 0; left: 0; right: 0; bottom: 0;
@@ -968,8 +970,8 @@ footer p { color: var(--text-2); font-size: 0.9rem; }
flex-direction: column;
padding: 20px;
}
.page-alkalmazasok .lightbox-overlay.active { display: flex; }
.page-alkalmazasok .lightbox-close {
.lightbox-overlay.active { display: flex; }
.lightbox-close {
position: absolute;
top: 20px; right: 24px;
background: none;
@@ -982,8 +984,8 @@ footer p { color: var(--text-2); font-size: 0.9rem; }
transition: color 0.2s ease;
z-index: 1002;
}
.page-alkalmazasok .lightbox-close:hover { color: var(--text-1); }
.page-alkalmazasok .lightbox-content {
.lightbox-close:hover { color: var(--text-1); }
.lightbox-content {
position: relative;
max-width: 90vw;
max-height: 80vh;
@@ -991,14 +993,14 @@ footer p { color: var(--text-2); font-size: 0.9rem; }
justify-content: center;
align-items: center;
}
.page-alkalmazasok .lightbox-image {
.lightbox-image {
max-width: 100%;
max-height: 80vh;
object-fit: contain;
border-radius: var(--radius);
cursor: zoom-out;
}
.page-alkalmazasok .lightbox-nav {
.lightbox-nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
@@ -1016,24 +1018,24 @@ footer p { color: var(--text-2); font-size: 0.9rem; }
transition: all 0.2s ease;
z-index: 1001;
}
.page-alkalmazasok .lightbox-nav:hover { background: var(--blue); border-color: var(--blue); }
.page-alkalmazasok .lightbox-nav:disabled { opacity: 0.3; cursor: not-allowed; }
.page-alkalmazasok .lightbox-nav:disabled:hover { background: var(--bg-1); border-color: var(--line); }
.page-alkalmazasok .lightbox-prev { left: -60px; }
.page-alkalmazasok .lightbox-next { right: -60px; }
.page-alkalmazasok .lightbox-counter {
.lightbox-nav:hover { background: var(--blue); border-color: var(--blue); }
.lightbox-nav:disabled { opacity: 0.3; cursor: not-allowed; }
.lightbox-nav:disabled:hover { background: var(--bg-1); border-color: var(--line); }
.lightbox-prev { left: -60px; }
.lightbox-next { right: -60px; }
.lightbox-counter {
margin-top: 16px;
color: var(--text-2);
font-size: 0.9rem;
text-align: center;
}
.page-alkalmazasok .lightbox-dots {
.lightbox-dots {
display: flex;
gap: 8px;
margin-top: 12px;
justify-content: center;
}
.page-alkalmazasok .lightbox-dot {
.lightbox-dot {
width: 10px;
height: 10px;
border-radius: 50%;
@@ -1042,17 +1044,17 @@ footer p { color: var(--text-2); font-size: 0.9rem; }
cursor: pointer;
transition: background 0.2s ease;
}
.page-alkalmazasok .lightbox-dot:hover { background: var(--text-3); }
.page-alkalmazasok .lightbox-dot.active { background: var(--blue-bright); }
.lightbox-dot:hover { background: var(--text-3); }
.lightbox-dot.active { background: var(--blue-bright); }
@media (max-width: 768px) {
.page-alkalmazasok .lightbox-nav {
.lightbox-nav {
width: 40px;
height: 40px;
font-size: 1.2rem;
}
.page-alkalmazasok .lightbox-prev { left: 10px; }
.page-alkalmazasok .lightbox-next { right: 10px; }
.page-alkalmazasok .lightbox-content {
.lightbox-prev { left: 10px; }
.lightbox-next { right: 10px; }
.lightbox-content {
max-width: 95vw;
}
}
@@ -2058,7 +2060,8 @@ footer p { color: var(--text-2); font-size: 0.9rem; }
}
/* --- Dashboard pictures (2026-10-08): real screenshots, two per row, one on a phone. A picture links to its
full-size file; no lightbox. Hairline border, 2px radius, no shadow. --- */
full-size file, which assets/gallery.js opens in the viewer (data-gallery="dashboard"). Hairline border, 2px
radius, no shadow. --- */
.dash-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 8px 0 24px; }
.dash-shot { margin: 0; }
.dash-shot img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: var(--radius); }