feat(meetings): editable title header above the transcript/notes pane

Nothing in the UI displayed or let you change a meeting's title
outside the sidebar list — recordings default to "Untitled meeting"
with no way to fix that. Adds an inline-editable header; blur/change
commits the rename.
This commit is contained in:
iamdoubz committed 2026-07-06 15:10:59 -05:00
1 parent 3cd267f737
commit 2efe29558a
1 file changed
+37 -1
+37 -1
View File
@@ -43,6 +43,19 @@
}
});
// Recordings default to "Untitled meeting" (T2.2) — this is the only
// rename affordance, since nothing else in the UI shows the title at all.
async function onTitleChange(e: Event) {
const m = meetings.selected;
const value = (e.target as HTMLInputElement).value.trim();
if (!m) return;
if (!value) {
(e.target as HTMLInputElement).value = m.title; // revert an empty edit
return;
}
if (value !== m.title) await meetings.renameMeeting(m.id, value);
}
function scheduleSave() {
const id = meetings.selected?.id;
if (!id) return;
@@ -128,6 +141,12 @@
<div class="wrap">
{#if meetings.selected}
{@const m = meetings.selected}
<input
class="meeting-title"
value={m.title}
onchange={onTitleChange}
aria-label="Meeting title"
/>
<div class="split">
<div class="pane transcript">
<h4><MessageSquareText size={14} aria-hidden="true" /> Transcript</h4>
@@ -229,6 +248,22 @@
<style>
.wrap {
height: 100%;
display: flex;
flex-direction: column;
}
.meeting-title {
flex: none;
border: none;
background: transparent;
font-size: 1.05rem;
font-weight: 600;
padding: 0.75rem 1rem 0.25rem;
color: inherit;
}
.meeting-title:hover,
.meeting-title:focus {
background: var(--border);
outline: none;
}
.pad {
padding: 1rem;
@@ -249,7 +284,8 @@
.split {
display: grid;
grid-template-columns: 1fr 1fr;
height: 100%;
flex: 1;
min-height: 0;
}
.pane {
overflow: auto;