Job posts: remove the salary field
Deploy to S3 / deploy (push) Successful in 36s
Details
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
parent
95b5de1635
commit
c22ea4c689
|
|
@ -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("")
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue