feat: build editable transcription modal

This commit is contained in:
Evandro committed 2026-06-10 21:02:57 -03:00
1 parent bfa96248aa
commit 5494b633ea
4 files changed
+501 -95

No files matched your search

+149 -54
View File
@@ -1,6 +1,6 @@
:root {
color: #101418;
background: #f5f1ea;
color: #15120f;
background: #f4efe7;
font-family:
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
sans-serif;
@@ -17,8 +17,8 @@ body {
min-width: 320px;
min-height: 100vh;
background:
radial-gradient(circle at top left, rgba(119, 93, 72, 0.16), transparent 32rem),
#f5f1ea;
radial-gradient(circle at 15% 10%, rgba(122, 79, 56, 0.18), transparent 24rem),
linear-gradient(135deg, #f7f1e8 0%, #ece4da 100%);
}
button,
@@ -28,76 +28,171 @@ select {
font: inherit;
}
.shell {
width: min(100%, 760px);
button {
border: 0;
cursor: pointer;
}
button:focus-visible,
textarea:focus-visible {
outline: 3px solid rgba(122, 79, 56, 0.35);
outline-offset: 2px;
}
#app {
min-height: 100vh;
margin: 0 auto;
padding: 3rem 1.25rem;
display: grid;
align-content: center;
gap: 1.5rem;
place-items: center;
padding: 1rem;
}
.hero {
.modal-shell {
width: min(100%, 680px);
display: grid;
gap: 0.75rem;
gap: 1rem;
padding: 1.1rem;
border: 1px solid rgba(21, 18, 15, 0.12);
border-radius: 1.25rem;
background: rgba(255, 252, 247, 0.9);
box-shadow: 0 24px 80px rgba(54, 38, 26, 0.16);
}
.eyebrow {
margin: 0;
color: #7a4f38;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
.topbar {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
}
.title-group {
display: grid;
gap: 0.35rem;
}
.eyebrow,
h1,
h2,
p {
margin: 0;
}
.eyebrow {
color: #7a4f38;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
h1 {
max-width: 12ch;
font-size: clamp(2.5rem, 8vw, 5rem);
line-height: 0.9;
letter-spacing: -0.07em;
color: #15120f;
font-size: clamp(1.9rem, 8vw, 3.4rem);
line-height: 0.95;
letter-spacing: -0.06em;
}
.subtitle {
max-width: 42rem;
color: #586069;
font-size: 1.05rem;
line-height: 1.6;
}
.card {
display: flex;
gap: 1rem;
align-items: flex-start;
padding: 1rem;
border: 1px solid rgba(16, 20, 24, 0.12);
border-radius: 1rem;
background: rgba(255, 255, 255, 0.72);
}
.card h2 {
font-size: 1rem;
}
.card p {
margin-top: 0.25rem;
color: #66707a;
.subtitle,
.message,
.model-panel p {
color: #665e55;
line-height: 1.5;
}
.status-dot {
width: 0.75rem;
height: 0.75rem;
margin-top: 0.25rem;
border-radius: 999px;
background: #1f8f5f;
box-shadow: 0 0 0 0.25rem rgba(31, 143, 95, 0.16);
.status-pill {
flex: 0 0 auto;
padding: 0.4rem 0.7rem;
border-radius: 999px;
color: #145a3c;
background: rgba(31, 143, 95, 0.13);
font-size: 0.82rem;
font-weight: 700;
}
.status-pill[data-state="recording"] {
color: #8a241d;
background: rgba(201, 62, 48, 0.14);
}
.editor-label {
color: #312923;
font-size: 0.86rem;
font-weight: 700;
}
.transcript-editor {
width: 100%;
resize: vertical;
min-height: 14rem;
padding: 0.95rem;
border: 1px solid rgba(21, 18, 15, 0.14);
border-radius: 0.9rem;
color: #15120f;
background: #fffdfa;
line-height: 1.55;
}
.message {
min-height: 1.5rem;
font-size: 0.92rem;
}
.actions {
display: flex;
flex-wrap: wrap;
gap: 0.65rem;
}
.primary-button,
.secondary-button,
.ghost-button {
min-height: 2.5rem;
padding: 0.65rem 0.9rem;
border-radius: 0.8rem;
font-weight: 750;
}
.primary-button {
color: #fffaf5;
background: #15120f;
}
.secondary-button {
color: #15120f;
background: #eadfd2;
}
.ghost-button {
color: #6a4a36;
background: transparent;
border: 1px solid rgba(106, 74, 54, 0.22);
}
.model-panel {
display: grid;
gap: 0.35rem;
padding: 0.85rem;
border-radius: 0.9rem;
background: rgba(234, 223, 210, 0.46);
}
.model-panel h2 {
font-size: 0.95rem;
}
@media (max-width: 520px) {
#app {
padding: 0.5rem;
}
.modal-shell {
border-radius: 1rem;
}
.topbar {
display: grid;
}
.actions > button {
flex: 1 1 100%;
}
}