Release 0.5.3

This commit is contained in:
hnzio committed 2026-10-22 14:18:57 +02:00
1 parent 25da870601
commit f466df2c5c
13 files changed
+1367 -771

No files matched your search

+511
View File
@@ -3231,6 +3231,430 @@ a {
color: var(--accent);
}
.piece-editor-route {
min-height: calc(100dvh - 2rem);
}
.piece-editor-dialog {
display: none;
width: min(76rem, calc(100vw - 2rem));
height: min(54rem, calc(100dvh - 2rem));
max-width: none;
max-height: none;
grid-template-columns: minmax(0, 1fr);
grid-template-rows: auto auto minmax(0, 1fr) auto;
padding: 0;
overflow: hidden;
border: 1px solid var(--line-strong);
border-radius: var(--radius-large);
background: var(--panel-strong);
box-shadow: var(--shadow-large);
color: var(--text);
}
.piece-editor-dialog[open] {
display: grid;
}
.piece-editor-dialog::backdrop {
background: color-mix(in srgb, #07110e 62%, transparent);
backdrop-filter: blur(6px);
}
.piece-dialog-header {
display: flex;
min-width: 0;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
padding: 0.9rem 1rem 0.75rem;
border-bottom: 1px solid var(--line);
background: var(--panel-strong);
}
.piece-dialog-heading {
min-width: 0;
flex: 1;
}
.piece-dialog-heading > .eyebrow {
margin-bottom: 0.18rem;
}
.piece-dialog-heading > small {
display: block;
margin-top: 0.25rem;
color: var(--text-faint);
font-size: 0.65rem;
}
.piece-dialog-title {
display: block;
}
.piece-dialog-title textarea {
width: 100%;
min-width: 0;
height: 1.2em;
padding: 0;
resize: none;
overflow: hidden;
border: 0;
outline-offset: 0.2rem;
background: transparent;
color: var(--text);
font: inherit;
font-size: clamp(1.25rem, 2.5vw, 1.85rem);
font-weight: 760;
letter-spacing: -0.035em;
}
.piece-dialog-tabs {
display: flex;
min-width: 0;
gap: 0.25rem;
padding: 0.45rem 1rem;
border-bottom: 1px solid var(--line);
background: var(--panel-strong);
}
.piece-dialog-tabs button {
padding: 0.48rem 0.72rem;
border: 0;
border-radius: var(--radius-small);
background: transparent;
color: var(--text-muted);
font-size: 0.72rem;
font-weight: 740;
cursor: pointer;
}
.piece-dialog-tabs button.active {
background: var(--accent-soft);
color: var(--accent);
}
.piece-dialog-workspace {
min-width: 0;
min-height: 0;
padding: clamp(0.85rem, 2vw, 1.4rem);
overflow: auto;
overscroll-behavior: contain;
}
.piece-dialog-form {
display: block;
}
.piece-editor-panel {
width: min(100%, 66rem);
margin: 0 auto;
}
.piece-editor-panel[hidden] {
display: none;
}
.piece-panel-heading,
.piece-subsection-heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 1rem;
margin-bottom: 0.85rem;
}
.piece-panel-heading h2,
.piece-panel-heading h3,
.piece-subsection-heading h3 {
margin: 0.12rem 0 0;
font-size: 1.05rem;
}
.piece-panel-heading small,
.piece-subsection-heading small {
color: var(--text-faint);
font-size: 0.65rem;
}
.piece-writing-stack {
display: grid;
gap: 0.8rem;
}
.markdown-editor-field {
display: block;
padding: 0.8rem;
border: 1px solid var(--line);
border-radius: var(--radius-medium);
background: var(--panel);
}
.markdown-editor-field.private-field {
border-color: color-mix(in srgb, var(--gold) 38%, var(--line));
background: color-mix(in srgb, var(--gold) 5%, var(--panel));
}
.markdown-editor-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.7rem;
margin-bottom: 0.45rem;
}
.markdown-editor-heading > span:first-child {
font-size: 0.76rem;
font-weight: 760;
}
.markdown-editor-heading small {
margin-left: 0.4rem;
color: var(--gold-strong);
font-size: 0.58rem;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.markdown-toolbar {
display: flex;
flex-wrap: wrap;
gap: 0.2rem;
}
.markdown-toolbar button {
min-width: 1.8rem;
padding: 0.22rem 0.4rem;
border: 1px solid var(--line);
border-radius: 0.45rem;
background: var(--panel-soft);
color: var(--text-muted);
font-size: 0.65rem;
cursor: pointer;
}
.markdown-editor-field textarea {
display: block;
width: 100%;
min-height: 7.5rem;
padding: 0.65rem;
resize: vertical;
border: 1px solid var(--line-strong);
border-radius: var(--radius-small);
background: var(--panel-strong);
color: var(--text);
font: inherit;
font-size: 0.82rem;
line-height: 1.55;
}
.piece-meta-details,
.piece-source-editor,
.piece-media-panel {
margin-top: 0.9rem;
padding: 0.85rem;
border: 1px solid var(--line);
border-radius: var(--radius-medium);
background: var(--panel);
}
.piece-meta-details summary {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
cursor: pointer;
font-size: 0.75rem;
font-weight: 740;
}
.piece-meta-details summary small {
color: var(--text-faint);
font-size: 0.64rem;
font-weight: 600;
}
.piece-meta-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0.65rem;
margin-top: 0.8rem;
}
.piece-meta-grid > label,
.piece-meta-grid fieldset,
.piece-source-editor label,
.piece-presentation-controls .presentation-settings > label {
display: grid;
gap: 0.25rem;
margin: 0;
color: var(--text-muted);
font-size: 0.66rem;
font-weight: 700;
}
.piece-meta-grid input:not([type='checkbox']),
.piece-meta-grid select,
.piece-meta-grid textarea,
.piece-source-editor input,
.piece-presentation-controls input:not([type='radio']),
.piece-presentation-controls select,
.piece-presentation-controls textarea,
.piece-dialog-secondary-actions select {
width: 100%;
min-width: 0;
padding: 0.55rem 0.62rem;
border: 1px solid var(--line-strong);
border-radius: var(--radius-small);
background: var(--panel-strong);
color: var(--text);
}
.piece-meta-grid .wide-field,
.piece-meta-grid fieldset {
grid-column: 1 / -1;
}
.piece-meta-grid fieldset {
padding: 0;
border: 0;
}
.piece-source-editor .source-row {
display: grid;
grid-template-columns: minmax(8rem, 0.8fr) minmax(14rem, 1.5fr) minmax(8rem, 0.6fr) auto;
align-items: end;
gap: 0.5rem;
padding: 0.6rem 0;
border-top: 1px solid var(--line);
}
.piece-source-summary {
margin-top: 0.9rem;
padding: 0.85rem;
border: 1px solid var(--line);
border-radius: var(--radius-medium);
background: var(--panel);
}
.piece-source-summary strong,
.piece-source-summary small {
display: block;
margin-top: 0.3rem;
overflow-wrap: anywhere;
}
.piece-source-summary small,
.piece-source-summary p:not(.eyebrow) {
color: var(--text-muted);
font-size: 0.7rem;
}
.piece-presentation-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr);
align-items: start;
gap: 1rem;
}
.piece-presentation-controls,
.piece-presentation-controls .presentation-settings {
display: grid;
gap: 0.7rem;
}
.piece-presentation-preview {
min-width: 0;
overflow: hidden;
border: 1px solid var(--line);
border-radius: var(--radius-medium);
background: var(--presentation-bg, #0b1220);
color: #fff7e8;
}
.piece-presentation-preview > .output-content {
min-height: 20rem;
padding: 1rem;
}
.piece-presentation-preview .output-content h1 {
max-width: none;
margin: 0.35rem 0 0.75rem;
font-size: clamp(1.55rem, 3vw, 2.4rem);
line-height: 1;
}
.piece-presentation-preview .output-copy,
.piece-presentation-preview .output-link-copy > p:not(.output-kicker) {
font-size: 0.9rem;
}
.piece-presentation-preview .output-link-card {
grid-template-columns: 1fr;
gap: 0.8rem;
}
.piece-presentation-preview .output-link-image {
min-height: 10rem;
}
.piece-presentation-preview .output-sources {
margin-top: 1rem;
}
.piece-presentation-preview > p,
.piece-presentation-preview > h4,
.piece-presentation-preview > img {
margin: 0.8rem;
}
.piece-presentation-preview > img {
max-width: calc(100% - 1.6rem);
max-height: 12rem;
object-fit: contain;
}
.preview-markdown-source {
white-space: pre-wrap;
}
.piece-dialog-footer {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 0.8rem;
padding: 0.65rem 1rem;
border-top: 1px solid var(--line);
background: var(--panel-strong);
}
.piece-dialog-secondary-actions,
.piece-dialog-primary-action {
display: flex;
align-items: center;
gap: 0.55rem;
}
.piece-dialog-secondary-actions form {
display: flex;
align-items: center;
gap: 0.3rem;
}
.piece-dialog-primary-action span {
color: var(--text-muted);
font-size: 0.66rem;
}
.route-editor-error {
position: fixed;
z-index: 100;
top: 1rem;
left: 50%;
transform: translateX(-50%);
}
.usage-editor-dialog {
width: min(60rem, calc(100vw - 2rem));
max-width: none;
@@ -4041,6 +4465,93 @@ a {
.usage-dialog-actions button {
width: 100%;
}
.piece-editor-dialog {
width: 100vw;
height: 100dvh;
border: 0;
border-radius: 0;
}
.piece-dialog-header {
padding: 0.75rem 0.8rem 0.6rem;
}
.piece-dialog-heading > small {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.piece-dialog-title textarea {
height: 2.35em;
font-size: 1.3rem;
line-height: 1.12;
}
.piece-dialog-tabs {
overflow-x: auto;
padding: 0.4rem 0.6rem;
}
.piece-dialog-tabs button {
flex: 1 0 auto;
padding-inline: 0.55rem;
}
.piece-dialog-workspace {
padding: 0.7rem;
}
.piece-panel-heading,
.piece-subsection-heading,
.markdown-editor-heading {
align-items: flex-start;
flex-direction: column;
gap: 0.4rem;
}
.markdown-toolbar {
width: 100%;
}
.markdown-toolbar button {
min-height: 2rem;
}
.piece-meta-details summary {
align-items: flex-start;
flex-direction: column;
gap: 0.2rem;
}
.piece-meta-grid,
.piece-source-editor .source-row,
.piece-presentation-layout {
grid-template-columns: 1fr;
}
.piece-source-editor .source-row {
align-items: stretch;
}
.piece-source-editor .source-row > button {
justify-self: start;
}
.piece-presentation-preview > .output-content {
min-height: 16rem;
}
.piece-dialog-footer {
align-items: center;
padding: 0.5rem 0.65rem calc(0.5rem + env(safe-area-inset-bottom));
}
.piece-dialog-secondary-actions {
display: grid;
min-width: 0;
max-width: calc(100% - 11rem);
grid-auto-columns: max-content;
grid-auto-flow: column;
align-items: center;
overflow-x: auto;
}
.piece-dialog-secondary-actions form {
flex: 0 0 auto;
}
.piece-dialog-secondary-actions .text-button {
white-space: nowrap;
}
.piece-dialog-primary-action {
margin-left: auto;
}
.piece-dialog-primary-action span {
display: none;
}
.library-toolbar {
align-items: stretch;
flex-direction: column;