--- // Port of preview/pages/job-listing.html (layout: default) // NOTE: page-header-actions "add-job" requires PageHeader.astro to dispatch it // to HeaderActionsAddJob — see the migration report (PageHeader.astro is a // shared component and was not modified here). import DefaultLayout from '@shared/layouts/DefaultLayout.astro'; import Icon from '@shared/components/Icon.astro'; import Check from '@shared/components/ui/form/Check.astro'; import jobsData from '@data/jobs.json'; interface Job { company: string; location: string; title: string; type: string; image: string; salary?: string; tags: string[]; } const jobs = jobsData as Job[]; const types = ['Programming', 'Design', 'Management / Finance', 'Customer Support', 'Sales / Marketing']; const salaries = ['$20K - $50K', '$50K - $100K', '> $100K', 'Drawing / Painting']; --- Job Types { types.map((type, i) => ( {type} )) } Remote Salary Range { salaries.map((salary, i) => ( {salary} )) } Immigration Only show companies that can sponsor a visa Location Anywhere London San Francisco New York Berlin Confirm changes Reset to defaults { jobs.map((job) => ( {job.title} {job.salary && {job.salary}} {job.company} {job.type} {job.location} {job.company} {job.type} {job.location} {job.tags.map((tag) => ( {tag} ))} )) }