fix: ui of job details

This commit is contained in:
Jannat Patel
2025-05-08 14:53:34 +05:30
parent d54ac37403
commit 67fc37c76c

View File

@@ -67,86 +67,61 @@
</header> </header>
<div v-if="job.data" class="max-w-3xl mx-auto pt-5"> <div v-if="job.data" class="max-w-3xl mx-auto pt-5">
<div class="p-4"> <div class="p-4">
<div class="space-y-5 mb-10"> <div class="space-y-5 mb-12">
<div class="flex items-center"> <div class="flex">
<img <img
:src="job.data.company_logo" :src="job.data.company_logo"
class="size-10 rounded-lg object-contain cursor-pointer mr-4" class="size-10 rounded-lg object-contain cursor-pointer mr-4"
:alt="job.data.company_name" :alt="job.data.company_name"
@click="redirectToWebsite(job.data.company_website)" @click="redirectToWebsite(job.data.company_website)"
/> />
<div class="text-2xl text-ink-gray-9 font-semibold"> <div class="">
{{ job.data.job_title }} <div class="text-2xl text-ink-gray-9 font-semibold mb-1">
{{ job.data.job_title }}
</div>
<div class="text-sm text-ink-gray-5 font-semibold">
{{ job.data.company_name }} - {{ job.data.location }},
{{ job.data.country }}
</div>
</div> </div>
</div> </div>
<div>
<div <div class="space-x-5">
class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-10 gap-y-5 md:gap-y-5" <Badge size="lg">
> <template #prefix>
<div class="flex items-center space-x-4"> <CalendarDays class="size-3 stroke-2 text-ink-gray-7" />
<Building2 class="size-4 stroke-1.5 text-ink-gray-7" /> </template>
<div class="flex flex-col space-y-1 text-ink-gray-7"> {{ dayjs(job.data.creation).fromNow() }}
<span class="text-xs text-ink-gray-5 font-medium uppercase"> </Badge>
{{ __('Organisation') }} <Badge size="lg">
</span> <template #prefix>
<span class="text-sm font-semibold"> <SquareUserRound class="size-3 stroke-2 text-ink-gray-7" />
{{ job.data.company_name }} </template>
</span> {{ applicationCount.data }}
</div> {{
</div> applicationCount.data == 1 ? __('applicant') : __('applicants')
<div class="flex items-center space-x-4"> }}
<MapPin class="size-4 stroke-1.5 text-ink-gray-7" /> </Badge>
<div class="flex flex-col space-y-1 text-ink-gray-7"> <Badge size="lg">
<span class="text-xs text-ink-gray-5 font-medium uppercase"> <template #prefix>
{{ __('Location') }} <ClipboardType class="size-3 stroke-2 text-ink-gray-7" />
</span> </template>
<span class="text-sm font-semibold"> {{ job.data.type }}
{{ job.data.location }}, {{ job.data.country }} </Badge>
</span>
</div>
</div>
<div class="flex items-center space-x-4">
<ClipboardType class="size-4 stroke-1.5 text-ink-gray-7" />
<div class="flex flex-col space-y-1 text-ink-gray-7">
<span class="text-xs text-ink-gray-5 font-medium uppercase">
{{ __('Category') }}
</span>
<span class="text-sm font-semibold">
{{ job.data.type }}
</span>
</div>
</div>
<div class="flex items-center space-x-4">
<CalendarDays class="size-4 stroke-1.5 text-ink-gray-7" />
<div class="flex flex-col space-y-1 text-ink-gray-7">
<span class="text-xs text-ink-gray-5 font-medium uppercase">
{{ __('Posted on') }}
</span>
<span class="text-sm font-semibold">
{{ dayjs(job.data.creation).format('DD MMM YYYY') }}
</span>
</div>
</div>
<div
v-if="applicationCount.data"
class="flex items-center space-x-4"
>
<SquareUserRound class="size-4 stroke-1.5 text-ink-gray-7" />
<div class="flex flex-col space-y-1 text-ink-gray-7">
<span class="text-xs text-ink-gray-5 font-medium uppercase">
{{ __('Applications Received') }}
</span>
<span class="text-sm font-semibold">
{{ applicationCount.data }}
</span>
</div>
</div>
</div>
</div> </div>
</div> </div>
<div class="flex items-center justify-between">
<div class="bg-surface-gray-2 h-px m-1 w-1/2"></div>
<div>
<FileText class="size-3 stroke-1 text-ink-gray-5" />
</div>
<div class="bg-surface-gray-2 h-px m-1 w-1/2"></div>
</div>
<p <p
v-html="job.data.description" v-html="job.data.description"
class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-6" class="ProseMirror prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-outline-gray-2 prose-th:border-outline-gray-2 prose-td:relative prose-th:relative prose-th:bg-surface-gray-2 prose-sm max-w-none !whitespace-normal mt-12"
></p> ></p>
</div> </div>
<JobApplicationModal <JobApplicationModal
@@ -169,15 +144,14 @@ import { inject, ref } from 'vue'
import { sessionStore } from '../stores/session' import { sessionStore } from '../stores/session'
import JobApplicationModal from '@/components/Modals/JobApplicationModal.vue' import JobApplicationModal from '@/components/Modals/JobApplicationModal.vue'
import { import {
MapPin,
Check, Check,
SendHorizonal, SendHorizonal,
Pencil, Pencil,
Building2,
CalendarDays, CalendarDays,
ClipboardType,
SquareUserRound, SquareUserRound,
SquareArrowOutUpRight, SquareArrowOutUpRight,
FileText,
ClipboardType,
} from 'lucide-vue-next' } from 'lucide-vue-next'
const user = inject('$user') const user = inject('$user')
@@ -252,3 +226,12 @@ usePageMeta(() => {
} }
}) })
</script> </script>
<style>
p {
margin-bottom: 0.5rem !important;
line-height: 1.5;
}
p span {
line-height: 1.5;
}
</style>