import { db, jobs, companies } from '@workspace/db'; import { eq } from '@workspace/db/drizzle'; import Link from 'next/link'; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from '@workspace/ui/components/card'; import { Button } from '@workspace/ui/components/button'; export const dynamic = 'force-dynamic'; async function getAllJobsWithCompany() { const allJobs = await db.select().from(jobs); const allCompanies = await db.select().from(companies); return allJobs.map(job => ({ ...job, company: allCompanies.find(c => c.id === job.companyId) || null, })); } export default async function JobsListPage() { const jobsWithCompany = await getAllJobsWithCompany(); return (

All Jobs

{jobsWithCompany.length === 0 && (

No jobs found.

)} {jobsWithCompany.map((job) => ( {job.title} {job.active ? 'Active' : 'Inactive'} Company: {job.company?.name ?? 'Unknown'}
{job.company?.name}
{job.company?.name}
{job.company?.email}
Location: {job.location}
Salary: {job.salary}
Deadline: {job.applicationDeadline.toLocaleDateString()}
Min CGPA: {job.minCGPA}
Min SSC: {job.minSSC}
Min HSC: {job.minHSC}
Allow Dead KT: {job.allowDeadKT ? 'Yes' : 'No'}
Allow Live KT: {job.allowLiveKT ? 'Yes' : 'No'}
Job Link: {job.link}
Description: {job.description}
Created: {job.createdAt.toLocaleDateString()} | Updated: {job.updatedAt.toLocaleDateString()}
))}
); }