Files
felhom.eu/website/preview/m1/hogyan.html
T
admin 063ba83e41
gates / gates (push) Failing after 7m1s
website: two hidden mockups - M1 "the site is the dashboard", M2 hybrid
Design studies only. Nothing live changes, nothing is linked from a live page, both
carry noindex and /preview/ is already Disallow-ed in robots.txt. felhom-controller
was read ONLY (baseline dcd89364a4); nothing in it was touched.

M1  website/preview/m1/  - the website wearing the controller's shell
    index (Indítópult)   welcome card + all 58 launcher tiles
    alkalmazasok         the catalog in the site's own five buckets, vanilla search
    mentesek             the three backup levels, every number marked "minta"
    hogyan / teszteles / kapcsolat   today's copy inside the dashboard shell
M2  website/preview/m2/  - short hero beside a window holding a clickable launcher

Real data, not invented:
  * 58 apps from app-catalog-felhom.eu @ 8ea72aa: real names, logos, Hungarian
    taglines, use cases and first steps out of each .felhom.yml app_info.
  * Tile colours reproduce the controller's OWN tileColor (funcmap.go): FNV-1a 32
    of the slug -> hue, 45% 38%. No brand_color exists in the catalog, so every
    tile here is the colour a real launcher would paint.
  * Page copy is today's live website only.
  * Category labels are the five buckets alkalmazasok.html already uses. None invented.

The 58 is now measured, not quoted: 60 templates minus plant-it (abandoned) and
wger (hidden) = 58 offered, which is exactly what the site's prose says. See the
R-929 note in the audit folder.

Mockup rules honoured:
  * No value pretends to be live - every sample wears a "minta" badge.
  * No control does nothing: the disabled sidebar entries (Tárhely, Megosztás,
    Rendszermonitor, Beállítások) say "a saját dobozodon működik" rather than
    404-ing, and the contact form's submit is disabled with the same kind of hint.
    The consent text is the live one, unchanged.
  * App panels open with :target, so they work with JavaScript switched OFF and
    their text is real HTML a crawler can read - not JS-built content.
  * No login form anywhere. No external request, no AI or stock image.

CSS: website/preview/mockup.css is three labelled blocks so the shared-design
report can count them - adapted base (font URLs repointed /static -> /assets),
188 rules copied VERBATIM from the controller, and the mockup-only rules. The
burger is the website's own three-span control, copied rather than hand-rolling an
SVG: the shared sprite carries no i-menu.

scripts/site_gates.py gains a MOCKUPS set, with the reasoning in a comment. The
mockups keep every correctness check (BOM, emoji, banned strings and CDN hosts, no
<style>, cache-busting, <html lang>, clean tail, dashboard-picture language, the
picture-viewer rules) and are excluded from exactly the three chrome-consistency
checks a dashboard-shell study must fail by construction: nav/footer identical to
index.html, the NO_TWIN language globe, and analytics - the last deliberately, so a
hidden mockup cannot pollute the real stats. Delete the set with the directories.

site_gates.py green.
2026-10-11 12:13:23 +02:00

85 lines
5.2 KiB
HTML

<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex, nofollow">
<meta name="description" content="Mockup: hogyan jutsz el a működő otthoni szerverig.">
<title>Hogyan működik · Felhom.eu mockup</title>
<link rel="stylesheet" href="/preview/mockup.css?v=1">
<link rel="icon" type="image/png" href="/assets/logo_favicon_2.svg">
</head>
<body class="mockup">
<header class="mobile-topbar">
<a href="index.html" class="mobile-topbar-logo"><img src="/assets/logo_notext_white.svg" alt="Felhom.eu"></a>
<button type="button" class="nav-burger" id="navBurger" aria-expanded="false" aria-controls="sidebar" aria-label="Menü">
<span class="hamburger-box"><span class="hamburger-line"></span><span class="hamburger-line"></span><span class="hamburger-line"></span></span>
</button>
</header>
<div class="nav-backdrop" id="navBackdrop" hidden></div>
<nav class="sidebar" id="sidebar">
<div class="sidebar-header">
<img src="/assets/logo_notext_white.svg" alt="Felhom.eu" class="sidebar-logo">
</div>
<ul class="nav-links">
<li><a href="index.html"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rocket"/></svg>Indítópult</a></li>
<li><a href="alkalmazasok.html"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-cloud"/></svg>Alkalmazások</a></li>
<li><a href="mentesek.html"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield"/></svg>Biztonsági mentés</a></li>
<li><span class="nav-off" title="a saját dobozodon működik"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-hard-drive"/></svg>Tárhely<span class="nav-off-hint">a saját dobozodon működik</span></span></li>
<li><span class="nav-off" title="a saját dobozodon működik"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-layout-grid"/></svg>Megosztás<span class="nav-off-hint">a saját dobozodon működik</span></span></li>
<li><span class="nav-off" title="a saját dobozodon működik"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-cpu"/></svg>Rendszermonitor<span class="nav-off-hint">a saját dobozodon működik</span></span></li>
<li><span class="nav-off" title="a saját dobozodon működik"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-settings"/></svg>Beállítások<span class="nav-off-hint">a saját dobozodon működik</span></span></li>
</ul>
<div class="sidebar-bottom">
<div class="nav-group-label">A Felhomról</div>
<ul class="nav-links nav-links-sub">
<li><a href="hogyan.html" class="active">Hogyan működik</a></li>
<li><a href="teszteles.html">Tesztelés</a></li>
<li><a href="kapcsolat.html">Kapcsolat</a></li>
</ul>
<div class="sidebar-footer">
<span class="version">mockup</span>
</div>
</div>
</nav>
<main class="content">
<div class="page-header"><h2>Hogyan működik?</h2></div>
<p class="form-hint">Az első beszélgetéstől a működő rendszerig.</p>
<div class="app-info-grid how-grid">
<div class="app-info-card">
<h3>Egyeztetés</h3>
<p>Megbeszéljük az igényeidet: milyen alkalmazásokra van szükséged, és mekkora tárhelyet szeretnél.</p>
</div>
<div class="app-info-card">
<h3>Hardver kiválasztás</h3>
<p>Segítünk megtalálni a legjobb ár-érték arányú gépet, ami az igényeidnek megfelel.</p>
</div>
<div class="app-info-card">
<h3>Telepítés</h3>
<p>Feltelepítjük és bekonfiguráljuk az alkalmazásokat, a mentéseket, és a monitoringot.</p>
</div>
<div class="app-info-card">
<h3>Átadás</h3>
<p>Bemutatjuk a rendszert, segítünk áthozni a meglévő adataidat, és válaszolunk minden kérdésedre.</p>
</div>
<div class="app-info-card">
<h3>Üzemeltetés</h3>
<p>Figyeljük a rendszert, frissítünk, mentéseket ellenőrzünk. Te csak használod.</p>
</div>
</div>
</main>
<script>
(function(){
var b=document.getElementById('navBurger'),s=document.getElementById('sidebar'),k=document.getElementById('navBackdrop');
if(!b||!s||!k)return;
function open(){s.classList.add('is-open');k.hidden=false;b.setAttribute('aria-expanded','true');}
function close(){s.classList.remove('is-open');k.hidden=true;b.setAttribute('aria-expanded','false');}
b.addEventListener('click',function(){s.classList.contains('is-open')?close():open();});
k.addEventListener('click',close);
document.addEventListener('keydown',function(e){if(e.key==='Escape')close();});
})();
</script>
</body>
</html>