split pages CreateUpdatePost on two part and fixed button map
This commit is contained in:
@@ -43,8 +43,32 @@
|
||||
.f-m-field:focus { border-color: var(--teal); background: rgba(var(--teal-rgb), .07); box-shadow: 0 0 0 3px rgba(var(--teal-rgb), .12); }
|
||||
.f-m-field::placeholder { color: var(--muted); }
|
||||
.f-m-field option { background: var(--bg-surface-solid); color: var(--text-primary); }
|
||||
|
||||
/* select высотой как текстовые поля */
|
||||
select.f-m-field {
|
||||
height: auto;
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
padding: 10px 14px;
|
||||
min-height: 42px;
|
||||
}
|
||||
select.f-m-field::selection { background: transparent; }
|
||||
.f-m-field.err { border-color: rgba(237,73,86,.55); }
|
||||
|
||||
/* Clearable field */
|
||||
.f-clr-wrap { position: relative; display: flex; align-items: center; }
|
||||
.f-clr-wrap .f-m-field { padding-right: 40px; }
|
||||
.f-clr-wrap textarea.f-m-field { line-height: 1.4; }
|
||||
.f-clr-btn {
|
||||
position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
|
||||
width: 26px; height: 26px; border: none; border-radius: 8px;
|
||||
background: var(--hover-bg); color: var(--muted);
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
cursor: pointer; transition: background .15s, color .15s;
|
||||
}
|
||||
.f-clr-btn:hover { background: var(--bg-input); color: var(--text-primary); }
|
||||
.f-clr-wrap textarea + .f-clr-btn { top: 22px; transform: none; }
|
||||
|
||||
/* Type Toggle */
|
||||
.f-type-toggle { display: flex; gap: 8px; }
|
||||
.f-type-opt {
|
||||
@@ -54,17 +78,20 @@
|
||||
font-weight: 800; cursor: pointer; text-align: center; transition: all .2s;
|
||||
}
|
||||
.f-type-opt.loss { border-color: rgba(237,73,86,.5); background: rgba(237,73,86,.12); color: #ff6b6b; }
|
||||
.f-type-opt.found { border-color: rgba(var(--teal-rgb), .5); background: rgba(var(--teal-rgb), .1); color: var(--teal); }
|
||||
.f-type-opt.found { border-color: rgba(48, 168, 94, .5); background: rgba(48, 168, 94, .1); color: #30a85e; }
|
||||
|
||||
/* Map picker */
|
||||
.f-map-pick {
|
||||
height: 80px; background: var(--bg-card-img);
|
||||
border-radius: 12px; border: 1.5px dashed var(--border);
|
||||
width: 100%; padding: 13px 16px;
|
||||
background: var(--teal);
|
||||
border: none; border-radius: 13px;
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
gap: 8px; color: var(--muted); font-size: .83rem; cursor: pointer;
|
||||
transition: border-color .2s; font-family: var(--font); font-weight: 600;
|
||||
gap: 8px; color: #fff; font-size: .95rem; cursor: pointer;
|
||||
transition: background .15s, transform .15s, box-shadow .15s;
|
||||
font-family: var(--font); font-weight: 700;
|
||||
}
|
||||
.f-map-pick:hover { border-color: rgba(var(--teal-rgb), .4); color: var(--teal); }
|
||||
.f-map-pick:hover { background: var(--teal2); transform: translateY(-1px); }
|
||||
.f-map-pick:active { transform: translateY(0); }
|
||||
|
||||
/* Image Upload */
|
||||
.f-img-upload-label {
|
||||
@@ -217,6 +244,17 @@
|
||||
font-size: 1rem; font-weight: 800; cursor: pointer; margin-top: 6px;
|
||||
transition: background .15s, opacity .15s, transform .15s;
|
||||
}
|
||||
.f-m-back {
|
||||
width: 100%;
|
||||
background: var(--hover-bg);
|
||||
border: 1.5px solid var(--border); border-radius: 13px;
|
||||
padding: 12px; color: var(--text-primary); font-family: var(--font);
|
||||
font-size: .95rem; font-weight: 700; cursor: pointer; margin-bottom: 6px;
|
||||
transition: background .15s, border-color .15s, transform .15s;
|
||||
}
|
||||
.f-m-back:hover:not(:disabled) { border-color: var(--teal); color: var(--teal); transform: translateY(-1px); }
|
||||
.f-m-back:active:not(:disabled) { transform: translateY(0); }
|
||||
.f-m-back:disabled { opacity: .5; cursor: not-allowed; }
|
||||
.f-m-submit:hover:not(:disabled) { background: var(--teal2); transform: translateY(-1px); }
|
||||
.f-m-submit:active:not(:disabled) { transform: translateY(0); }
|
||||
.f-m-submit:disabled { opacity: .5; cursor: not-allowed; animation: none; background: var(--muted2); color: var(--muted); }
|
||||
@@ -271,7 +309,8 @@
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.f-modal-bg {
|
||||
align-items: flex-end;
|
||||
align-items: center;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.f-modal-bg:has(.f-post-detail-modal) {
|
||||
@@ -285,7 +324,7 @@
|
||||
.f-modal:not(.auth-modal) {
|
||||
width: 100%;
|
||||
max-height: calc(100dvh - env(safe-area-inset-top, 0px) - 8px);
|
||||
border-radius: 20px 20px 0 0;
|
||||
border-radius: 20px;
|
||||
padding: calc(20px + env(safe-area-inset-top, 0px)) 16px calc(32px + env(safe-area-inset-bottom, 0px));
|
||||
}
|
||||
|
||||
@@ -401,6 +440,29 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Map Modal */
|
||||
.f-map-modal {
|
||||
width: 520px;
|
||||
max-width: 95vw;
|
||||
}
|
||||
.f-map-modal-frame {
|
||||
height: 300px;
|
||||
}
|
||||
.f-map-selected {
|
||||
display: flex; flex-direction: column; gap: 4px;
|
||||
margin: 14px 0 6px; padding: 12px 14px;
|
||||
background: var(--bg-input); border: 1.5px solid var(--border);
|
||||
border-radius: 12px;
|
||||
}
|
||||
.f-map-selected-label {
|
||||
color: var(--muted); font-size: .68rem; font-weight: 700;
|
||||
letter-spacing: .5px; text-transform: uppercase;
|
||||
}
|
||||
.f-map-selected-value {
|
||||
color: var(--text-primary); font-size: .9rem; font-weight: 600;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.f-modal-sm {
|
||||
width: 420px;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user