Job posts: remove the salary field
Deploy to S3 / deploy (push) Successful in 36s Details

Dropped from the create and edit modals, the detail drawer, the frontend
job mapper, and the composed publish text (which otherwise printed
Salary: Anonymous on every post). Backend model/API still tolerate the
column, so older clients and stored rows are unaffected.

UI-verified live: modal has no salary field, create POST carries no
salary key, cover-image upload previews and the post lands successfully.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
pull/29/head
Talha Ahmed 2026-08-27 16:09:30 +05:00
parent 95b5de1635
commit c22ea4c689
4 changed files with 1 additions and 28 deletions

View File

@ -100,7 +100,6 @@ def render_job_post(payload) -> str:
experience_max = payload.get("experience_max")
requirements = [str(r).strip() for r in (payload.get("requirements") or []) if str(r).strip()]
optional_skills = [str(s).strip() for s in (payload.get("optional_skills") or []) if str(s).strip()]
salary = (payload.get("salary") or "Anonymous").strip() or "Anonymous"
description = (payload.get("description") or "").strip()
lines = [f"We're hiring: {title}", ""]
@ -136,9 +135,6 @@ def render_job_post(payload) -> str:
lines.append(f"{item}")
lines.append("")
lines.append(f"Salary: {salary}")
lines.append("")
if description:
lines.append(description)
lines.append("")

View File

@ -24,7 +24,7 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Belleza&family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700&display=swap" />
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><rect width='100' height='100' rx='22' fill='%23004d43'/><g transform='translate(14 32) scale(0.72)'><path d='M100 3.65C97.86 20.99 91.89 43.03 79.48 55.33 76 58.77 71.84 61.46 66.96 62.14 50.4 64.46 41.84 47.5 29.07 42.7 21.85 39.98 14.5 42.02 9.66 47.95 6.54 51.78 4.49 56.35 2.97 61.13 2.41 61.64 0.97 61.66 0 61.31L0 0.13C1.05 0 2.27 0.02 3.09 0.28 14.9 15.86 26.77 30.82 40.15 45.28L60.79 24.7C67.38 18.22 74.41 12.74 82.59 8.51 88.11 5.83 93.64 3.93 100 3.65Z' fill='%23ceff71'/></g></svg>" />
<script type="module" crossorigin src="/assets/index-Dwd76W0A.js"></script>
<script type="module" crossorigin src="/assets/index-CMSkJU2w.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-B2bX4le4.css">
</head>
<body>

View File

@ -57,7 +57,6 @@ export function toJobView(row) {
experienceMin: row.experience_min,
experienceMax: row.experience_max,
experience: experienceLabel(row.experience_min, row.experience_max),
salary: row.salary,
skills: row.requirements ?? [],
optionalSkills: row.optional_skills ?? [],
description: row.description,

View File

@ -350,7 +350,6 @@ function JobForm({ departmentOptions, busy, onClose, onSubmit }) {
vacancies: '1',
experience_min: '',
experience_max: '',
salary: '',
requirements: '',
optional_skills: '',
description: '',
@ -426,7 +425,6 @@ function JobForm({ departmentOptions, busy, onClose, onSubmit }) {
vacancies,
experience_min: expMin,
experience_max: expMax,
salary: v.salary.trim() || 'Anonymous',
requirements: splitLines(v.requirements),
optional_skills: splitLines(v.optional_skills),
description: v.description.trim() || null,
@ -447,7 +445,6 @@ function JobForm({ departmentOptions, busy, onClose, onSubmit }) {
employment_type: form.values.employment_type,
experience_min: form.values.experience_min,
experience_max: form.values.experience_max,
salary: form.values.salary,
requirements: form.values.requirements,
optional_skills: form.values.optional_skills,
description: form.values.description,
@ -534,14 +531,6 @@ function JobForm({ departmentOptions, busy, onClose, onSubmit }) {
<input type="number" min="0" {...field('experience_max')} className={form.errors.experience_max ? 'err' : ''} placeholder="5" />
<FieldError>{form.errors.experience_max}</FieldError>
</div>
<div className="form-field col-span-2">
<div className="field-label-row">
<label>Salary</label>
{assist('salary')}
</div>
<input {...field('salary')} placeholder="Anonymous" />
</div>
<div className="form-field col-span-2">
<div className="field-label-row">
<label>Requirements</label>
@ -654,7 +643,6 @@ function EditJobForm({ job: j, departmentOptions, busy, onClose, onSubmit }) {
location: j.location || '',
employment_type: j.type || '',
vacancies: j.vacancies != null ? String(j.vacancies) : '1',
salary: j.salary || '',
experience_min: j.experienceMin != null ? String(j.experienceMin) : '',
experience_max: j.experienceMax != null ? String(j.experienceMax) : '',
description: j.description || '',
@ -667,7 +655,6 @@ function EditJobForm({ job: j, departmentOptions, busy, onClose, onSubmit }) {
employment_type: form.values.employment_type,
experience_min: form.values.experience_min,
experience_max: form.values.experience_max,
salary: form.values.salary,
description: form.values.description,
})
@ -696,7 +683,6 @@ function EditJobForm({ job: j, departmentOptions, busy, onClose, onSubmit }) {
location: form.values.location.trim() || null,
employment_type: form.values.employment_type || null,
vacancies: Number(form.values.vacancies) || 1,
salary: form.values.salary.trim() || null,
experience_min: form.values.experience_min === '' ? null : Number(form.values.experience_min),
experience_max: form.values.experience_max === '' ? null : Number(form.values.experience_max),
description: form.values.description.trim() || null,
@ -754,13 +740,6 @@ function EditJobForm({ job: j, departmentOptions, busy, onClose, onSubmit }) {
<label>Vacancies</label>
<input type="number" min="1" value={form.values.vacancies} onChange={(e) => form.setField('vacancies', e.target.value)} disabled={busy} />
</div>
<div className="form-field">
<div className="field-label-row">
<label>Salary</label>
{assist('salary')}
</div>
<input value={form.values.salary} onChange={(e) => form.setField('salary', e.target.value)} disabled={busy} />
</div>
<div className="form-field">
<label>Experience min</label>
<input type="number" min="0" value={form.values.experience_min} onChange={(e) => form.setField('experience_min', e.target.value)} disabled={busy} />
@ -953,7 +932,6 @@ function JobDetail({
<div className="info-item"><div className="il">Employment Type</div><div className="iv">{j.type || '—'}</div></div>
<div className="info-item"><div className="il">Platform</div><div className="iv">{platformLabel(j.platform) || '—'}</div></div>
<div className="info-item"><div className="il">Vacancies</div><div className="iv">{j.vacancies ?? '—'}</div></div>
<div className="info-item"><div className="il">Salary</div><div className="iv">{j.salary || '—'}</div></div>
<div className="info-item"><div className="il">Experience</div><div className="iv">{j.experience || '—'}</div></div>
<div className="info-item"><div className="il">Created</div><div className="iv">{j.created ? fmtShort(j.created) : '—'}</div></div>
<div className="info-item"><div className="il">Created by</div><div className="iv">{j.createdByName || '—'}</div></div>