feat: build editable transcription modal
This commit is contained in:
1 parent
bfa96248aa
commit
5494b633ea
4 files changed
+501
-95
No files matched your search
+149
-54
@@ -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%;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user