diff --git a/src/admin/public/style.css b/src/admin/public/style.css index 2232514..396d869 100644 --- a/src/admin/public/style.css +++ b/src/admin/public/style.css @@ -351,13 +351,93 @@ pre { font-size: 0.8rem; white-space: pre-wrap; word-break: break-all; max-width .modal-content { background: var(--card); border-radius: var(--radius); - padding: 1.5rem; - max-width: 560px; - width: 90%; - max-height: 90vh; + padding: 0; + max-width: 600px; + width: 95%; + max-height: 88vh; overflow-y: auto; } +.modal-content h2 { + position: sticky; + top: 0; + background: var(--card); + padding: 1rem 1.5rem; + margin: 0; + border-bottom: 1px solid var(--border); + z-index: 1; +} + +.product-form { + padding: 1.5rem; + display: flex; + flex-direction: column; + gap: 0.75rem; +} + +.pf-group { + display: flex; + flex-direction: column; + gap: 0.25rem; +} + +.pf-group label { + font-weight: 600; + font-size: 0.85rem; + color: var(--text); +} + +.pf-group input, +.pf-group select, +.pf-group textarea { + width: 100%; + padding: 0.5rem; + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 0.9rem; + font-family: inherit; +} + +.pf-group textarea { + min-height: 60px; + resize: vertical; +} + +.pf-group input:focus, +.pf-group select:focus, +.pf-group textarea:focus { + outline: none; + border-color: var(--primary); + box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15); +} + +.pf-file { + font-size: 0.85rem; +} + +.pf-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 0.75rem; +} + +.pf-section-title { + font-weight: 700; + font-size: 0.9rem; + color: var(--primary); + margin-top: 0.5rem; + padding-bottom: 0.25rem; + border-bottom: 1px solid var(--border); +} + +.pf-actions { + display: flex; + gap: 0.5rem; + margin-top: 0.5rem; + padding-top: 0.75rem; + border-top: 1px solid var(--border); +} + .form-row { display: flex; gap: 0.5rem; diff --git a/src/admin/views/catalogProduct.js b/src/admin/views/catalogProduct.js index 660edab..9e56834 100644 --- a/src/admin/views/catalogProduct.js +++ b/src/admin/views/catalogProduct.js @@ -2,27 +2,70 @@ export function renderProductEditForm(action, catOptions, subcatJson) { const isEdit = action.includes('/edit'); const title = isEdit ? 'Edit Product' : 'Add Product'; return `

${title}

-
- -
- - + +
+ +
- - - - - - - - - - -
- +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
Public Photo
+
+ + +
+
+ + +
+
Hidden Content (shown after purchase)
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
`; -} +} \ No newline at end of file