diff --git a/cmd/web/kaku/render.go b/cmd/web/kaku/render.go index 974d37b..c060efc 100644 --- a/cmd/web/kaku/render.go +++ b/cmd/web/kaku/render.go @@ -168,7 +168,7 @@ func render(b *strings.Builder, nodes []Node) { b.WriteString("") case *Audio: - b.WriteString(``) case *Aside: diff --git a/ui/css/ronbun.css b/ui/css/ronbun.css index 6242c48..c42ed8d 100644 --- a/ui/css/ronbun.css +++ b/ui/css/ronbun.css @@ -326,72 +326,99 @@ width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); + align-items: start; gap: 10px; + position: relative; form { max-width: unset; - flex-basis: 50%; width: 100%; } - article { - flex-basis: 50%; - width: 100%; - - } textarea { max-width: unset; - height: 80vh; } } -.media-picker { - padding-left:0; - overflow-y: scroll; - max-height: 50vh; - > *+* { - margin-top: 1em; - width: 100%; - } - - li { - padding:0; - } +.media-preview-container { + position: sticky; + top: var(--margin-s); } + +.toggle-preview-btn { + position: static; + margin: var(--margin-s) 0; +} + +.media-picker { + display: none; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + overflow-y: scroll; + height: 100%; + max-height: 60vh; + border: 1px solid var(--border); + border-radius: var(--radius-sm); +} + .media-picker__media { -display: grid; -grid-template-columns: 150px 1fr; -gap:1em; -line-height: 1; + aspect-ratio: 1/1; + position: relative; img, - audio, video { - width: 150px; - height: auto; + width: 100%; + height: 100%; + object-fit: cover; } } .media-picker__buttons { - display: flex; - margin-top:1em; - gap: 0.5em; - align-items: flex-start; + visibility: hidden; + display: flex; + flex-direction: column; + position: absolute; + align-items: center; + justify-content: center; + inset: 0; + gap: 6px; + button { + flex: 0 1 32px; + } } -[theme="raw"] .media-picker__buttons { - display: none; +.media-picker__media:hover .media-picker__buttons { + visibility: visible; } .page-preview { border: 1px solid var(--border); border-radius: var(--radius-sm); padding: var(--padding-form); - overflow-y: scroll; -max-height: 100vh; + display: block; + svg { max-width: 100%; } } +.media-preview-container[data-show="false"] { + display: none; +} +.media-preview-container[data-show="gallery"] { + .media-picker { + display: grid; + } + .page-preview { + display: none; + } +} + +.media-preview-container[data-show="preview"] { + .media-picker { + display: none; + } + .page-preview { + display: block; + } +} .edit-footer { position: fixed; diff --git a/ui/html/pages/create.tmpl b/ui/html/pages/create.tmpl index 34088d5..4680003 100644 --- a/ui/html/pages/create.tmpl +++ b/ui/html/pages/create.tmpl @@ -2,13 +2,17 @@

New page