diff --git a/public/calendar.js b/public/calendar.js
index 390199e..297dede 100644
--- a/public/calendar.js
+++ b/public/calendar.js
@@ -54,9 +54,8 @@ const calState = { y: now0.getFullYear(), m: now0.getMonth(), sel: ymd(now0) };
async function viewCalendar() {
const mode = store.get('cal_view', 'month');
const v = $('#view');
- v.innerHTML = `
${plannerHead('calendar')}
+ v.innerHTML = `
${plannerHead('calendar', `
`)}
${[['month', 'Month'], ['week', 'Week'], ['day', 'Day'], ['agenda', 'Agenda']].map(([k, l]) => `
${l}`).join('')}
-
`;
$('#ne').onclick = () => newEvent(mode === 'agenda' ? ymd(new Date()) : calState.sel);
v.querySelectorAll('.seg a[data-v]').forEach(a => a.onclick = e => { e.preventDefault(); store.set('cal_view', a.dataset.v); viewCalendar(); });
diff --git a/public/planner.js b/public/planner.js
index b212382..c740289 100644
--- a/public/planner.js
+++ b/public/planner.js
@@ -6,10 +6,11 @@ function viewPlanner(args = []) {
const want = args[0] && ok.includes(args[0]) ? args[0] : store.get('planner_pane', ok[0]);
location.replace('#/' + (ok.includes(want) ? want : ok[0] || 'home'));
}
-/** The page heading, with a Calendar | Tasks switch when this person may use both. */
-function plannerHead(active) {
+/** The page heading, with a Calendar | Tasks switch when this person may use both. `extra` (a button, say) sits on the same row, at the right. */
+function plannerHead(active, extra = '') {
try { localStorage.setItem(nk('planner_pane'), JSON.stringify(active)); } catch {}
const panes = PLANNER_PANES.filter(p => allowed(p[0]));
- if (panes.length < 2) return `
${esc((PLANNER_PANES.find(p => p[0] === active) || [0, 'Planner'])[1])}
`;
- return `
Planner
${panes.map(([k, l]) => `
${l}`).join('')}
`;
+ const seg = panes.length < 2 ? '' : `
${panes.map(([k, l]) => `
${l}`).join('')}
`;
+ const title = panes.length < 2 ? (PLANNER_PANES.find(p => p[0] === active) || [0, 'Planner'])[1] : 'Planner';
+ return `
${esc(title)}
${seg || extra ? `
${seg}${extra}
` : ''}`;
}
diff --git a/public/style.css b/public/style.css
index 450d465..d591c15 100644
--- a/public/style.css
+++ b/public/style.css
@@ -559,3 +559,6 @@ body.lyropen { overflow: hidden; }
.ngrp span { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
body.nav-mini .ngrp { margin: 6px 14px; padding-top: 0; }
body.nav-mini .ngrp span { display: none; }
+
+.prow { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 6px 0 10px; }
+.prow .seg { margin: 0; }