footer, title
This commit is contained in:
parent
4762e4d531
commit
b93349aa4d
3 changed files with 33 additions and 1 deletions
|
@ -151,6 +151,25 @@ input,select,textarea{width:100%;background:transparent;color:var(--text);border
|
||||||
.k{padding:2px 6px;border-radius:6px;border:1px solid var(--k-border);background:var(--k-bg)}
|
.k{padding:2px 6px;border-radius:6px;border:1px solid var(--k-border);background:var(--k-bg)}
|
||||||
.foot{color:var(--muted);font-size:13px;margin-top:20px}
|
.foot{color:var(--muted);font-size:13px;margin-top:20px}
|
||||||
|
|
||||||
|
.footer-content {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.source-link {
|
||||||
|
color: var(--accent);
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: 500;
|
||||||
|
transition: color 0.2s ease;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.source-link:hover {
|
||||||
|
color: var(--accent2);
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
/* ---- Status indicators ---- */
|
/* ---- Status indicators ---- */
|
||||||
.status {
|
.status {
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
|
|
|
@ -23,7 +23,12 @@
|
||||||
<main id="view" class="content"></main>
|
<main id="view" class="content"></main>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="wrap foot">No tracking. No server. Everything runs in your browser.</footer>
|
<footer class="wrap foot">
|
||||||
|
<div class="footer-content">
|
||||||
|
<span>No tracking. No server. Everything runs in your browser.</span>
|
||||||
|
<a href="https://code.disobey.net/whilb/calculator.127local.net" target="_blank" rel="noopener noreferrer" class="source-link">Source Code</a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
<script type="module" src="/js/app.js"></script>
|
<script type="module" src="/js/app.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -109,6 +109,10 @@ async function ensureMounted(id){
|
||||||
card.innerHTML = '';
|
card.innerHTML = '';
|
||||||
card.append(el('h2',{}, calc.name || meta.name));
|
card.append(el('h2',{}, calc.name || meta.name));
|
||||||
if(calc.about) card.append(el('div',{class:'muted'}, calc.about));
|
if(calc.about) card.append(el('div',{class:'muted'}, calc.about));
|
||||||
|
|
||||||
|
// Update page title with calculator name
|
||||||
|
document.title = `${calc.name || meta.name} - calculator.127local.net`;
|
||||||
|
|
||||||
calc.render(card);
|
calc.render(card);
|
||||||
enhanceSelects(card);
|
enhanceSelects(card);
|
||||||
}catch(e){
|
}catch(e){
|
||||||
|
@ -142,6 +146,10 @@ async function show(id, params){
|
||||||
const card = await ensureMounted(id);
|
const card = await ensureMounted(id);
|
||||||
viewEl.append(card);
|
viewEl.append(card);
|
||||||
attachUrlSync(card, id);
|
attachUrlSync(card, id);
|
||||||
|
} else {
|
||||||
|
// Update title for already cached calculators
|
||||||
|
const meta = metaById(id);
|
||||||
|
document.title = `${meta.name} - calculator.127local.net`;
|
||||||
}
|
}
|
||||||
paramsToForm(viewCache.get(id), params);
|
paramsToForm(viewCache.get(id), params);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue