-
حالت انتشار
-
-
-
-
-
-
-
-
در حالت خودکار و بدون AI، آگهیهایی با اطمینان بالاتر از این مقدار خودکار منتشر میشوند.
-
+
+
-
+
+
+
+
+ حالت انتشار
+
+
+
+
+
+
+
+
در حالت خودکار و بدون AI، آگهیهایی با اطمینان بالاتر از این مقدار خودکار منتشر میشوند.
+
- لایه هوش مصنوعی (اختیاری)
-
-
-
در صورت فعال بودن، هر آگهی پیش از انتشار توسط مدل بررسی و تأیید/رد/ساختارمند میشود.
-
-
-
-
-
میتواند یک مدل self-hosted یا سرویس داخلی باشد (OpenAI/Anthropic در ایران مسدودند).
-
-
-
-
-
-
به مدل بگو چطور تأیید/رد کند و چه فیلدهایی را استخراج کند. خروجی باید JSON باشد.
-
-
-
-
+
+ لایه هوش مصنوعی (اختیاری)
+
+
+
+
+
میتواند یک مدل self-hosted یا سرویس داخلی باشد (OpenAI/Anthropic در ایران مسدودند).
+
+
+
+
+
+
به مدل بگو چطور تأیید/رد کند و چه فیلدهایی را استخراج کند. خروجی باید JSON باشد.
+
+
+
-
+
+
+
+@section Scripts {
+
+}
diff --git a/src/JobsMedical.Web/wwwroot/css/site.css b/src/JobsMedical.Web/wwwroot/css/site.css
index 72a8630..155386a 100644
--- a/src/JobsMedical.Web/wwwroot/css/site.css
+++ b/src/JobsMedical.Web/wwwroot/css/site.css
@@ -143,10 +143,13 @@ button, input, select, textarea, optgroup { font-family: inherit; }
.search-card label { font-size: 12px; font-weight: 700; color: var(--muted); }
/* ---------- Forms ---------- */
-select, input[type="text"], input[type="tel"], input[type="number"], textarea {
+select, textarea,
+input[type="text"], input[type="tel"], input[type="number"], input[type="password"],
+input[type="email"], input[type="url"], input[type="search"] {
width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px;
font-family: inherit; font-size: 14px; background: #fff; color: var(--ink);
}
+input[type="checkbox"], input[type="radio"] { accent-color: var(--primary); width: 17px; height: 17px; }
select:focus, input:focus, textarea:focus { outline: none; border-color: var(--primary); }
label { font-size: 13px; }
@@ -253,6 +256,44 @@ label { font-size: 13px; }
.tour-count { font-size: 12px; color: var(--muted); }
.tour-btns { display: flex; gap: 6px; }
+/* ---------- Admin settings: sidebar tabs ---------- */
+.settings-layout { display: grid; grid-template-columns: 220px 1fr; gap: 18px; align-items: start; }
+.settings-tabs {
+ position: sticky; top: 80px; display: flex; flex-direction: column; gap: 4px;
+ background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
+ box-shadow: var(--shadow); padding: 8px;
+}
+.settings-tabs button {
+ display: flex; align-items: center; gap: 8px; width: 100%; text-align: start;
+ padding: 11px 12px; border: none; background: transparent; border-radius: 10px;
+ font-family: inherit; font-size: 14px; font-weight: 600; color: var(--muted); cursor: pointer;
+}
+.settings-tabs button:hover { background: var(--primary-soft); color: var(--primary-dark); }
+.settings-tabs button.active { background: var(--primary); color: #fff; }
+.settings-tabs .tab-ico { font-size: 16px; }
+
+.settings-panel { display: none; }
+.settings-panel.active { display: block; animation: fadeIn .15s ease; }
+@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
+.settings-panel h3:first-child { margin-top: 0; }
+
+/* Toggle rows — give each boolean field a clean, card-like row. */
+.toggle-row {
+ display: flex; align-items: flex-start; gap: 10px; font-weight: 700;
+ padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg);
+ cursor: pointer; margin-bottom: 4px;
+}
+.toggle-row input[type="checkbox"] { margin-top: 2px; flex: 0 0 auto; }
+.toggle-row .t-body { display: flex; flex-direction: column; gap: 3px; }
+.toggle-row .t-hint { font-size: 12px; font-weight: 500; color: var(--muted); }
+.settings-save { position: sticky; bottom: 0; padding-top: 12px; background: linear-gradient(transparent, var(--bg) 40%); }
+
+@media (max-width: 760px) {
+ .settings-layout { grid-template-columns: 1fr; }
+ .settings-tabs { position: static; flex-direction: row; overflow-x: auto; }
+ .settings-tabs button { white-space: nowrap; }
+}
+
/* Legal/policy pages (privacy, rules, terms) — comfortable long-form reading. */
.legal { line-height: 2; }
.legal h2 { font-size: 17px; margin: 22px 0 8px; color: var(--primary-dark); }