diff --git a/src/pages/admin/inhalte/editor/[id].astro b/src/pages/admin/inhalte/editor/[id].astro index 7635d49..6050203 100644 --- a/src/pages/admin/inhalte/editor/[id].astro +++ b/src/pages/admin/inhalte/editor/[id].astro @@ -23,7 +23,7 @@ const categories = [...new Set(products.map(p => p.category).filter(Boolean))]; const data = { pageId: page.id, slug: page.slug, title: page.title, - blocks: page.blocks || [], blockTypes: BLOCK_TYPES, + blocks: (Array.isArray(page.blocks) && page.blocks.length) ? page.blocks : (page.body && String(page.body).trim() ? [{ type: 'richtext', html: page.body }] : []), blockTypes: BLOCK_TYPES, products, featuredSlugs, slides, categories, saveUrl: '/api/admin-page-blocks', base, shopOrigin: '', diff --git a/src/styles/admin.css b/src/styles/admin.css index 8cbfe70..4e2349f 100644 --- a/src/styles/admin.css +++ b/src/styles/admin.css @@ -72,8 +72,8 @@ .s-btn:hover{background:var(--s-bg);color:var(--s-ink);transform:translateY(-1px);box-shadow:var(--s-shadow)} .s-btn:active{transform:translateY(0);box-shadow:none} .s-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none} -.s-btn-primary{background:var(--accent);border-color:transparent;color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06),0 4px 10px -4px color-mix(in srgb,var(--accent) 55%, transparent)} -.s-btn-primary:hover{background:var(--accent-dark);color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.06),0 8px 18px -6px color-mix(in srgb,var(--accent) 60%, transparent)} +.s-btn.s-btn-primary,a.s-btn-primary{background:var(--accent);border-color:transparent;color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06),0 4px 10px -4px color-mix(in srgb,var(--accent) 55%, transparent)} +.s-btn.s-btn-primary:hover,a.s-btn-primary:hover{background:var(--accent-dark);color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.06),0 8px 18px -6px color-mix(in srgb,var(--accent) 60%, transparent)} .s-btn-danger{color:var(--s-red-t);border-color:color-mix(in srgb,var(--s-red-t) 26%, #fff);background:var(--s-surface)} .s-btn-danger:hover{background:var(--s-red);color:var(--s-red-t)} .s-btn-sm{padding:5px 10px;font-size:12px} @@ -119,10 +119,10 @@ /* Formulare — Inputs „inset", eigene Controls */ .s-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px} -.s-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px} +.s-field{min-width:0;display:flex;flex-direction:column;gap:6px;margin-bottom:16px} .s-field.full{grid-column:1/-1} .s-label{font-size:13px;font-weight:600;color:var(--s-text)} -.s-input,.s-textarea,.s-select{border:1px solid var(--s-border-2);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;background:#fcfbf8;color:var(--s-ink);width:100%;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s} +.s-input,.s-textarea,.s-select{min-width:0;border:1px solid var(--s-border-2);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;background:#fcfbf8;color:var(--s-ink);width:100%;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s} .s-input::placeholder,.s-textarea::placeholder{color:var(--s-faint)} .s-textarea{min-height:130px;resize:vertical;line-height:1.55} .s-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer} @@ -191,6 +191,7 @@ .s-acct-meta{display:flex;flex-direction:column;line-height:1.15;text-align:left} .s-acct-name{font-size:13px;font-weight:600;color:var(--s-ink);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .s-acct-role{font-size:11px;color:var(--s-faint)} +.s-account-menu[hidden]{display:none} .s-account-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--s-surface);border:1px solid var(--s-border);border-radius:12px;box-shadow:var(--s-shadow-pop);padding:6px;min-width:170px;z-index:40;display:flex;flex-direction:column;gap:2px} .s-account-menu a{padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--s-text);transition:background .12s} .s-account-menu a:hover{background:var(--s-bg);color:var(--s-ink)}