@extends('layouts.app') @use('Illuminate\Support\Str') @php $u = auth()->user(); $isStudent = $u?->isStudent() ?? false; $emp = $job->employer; $isOpen = $job->isOpen(); $posted = $job->posted_at ?? $job->created_at; $salary = $job->salaryLabel(); $skills = $job->skills; $levels = ['Entry' => 'Entry (0–2 years)', 'Mid' => 'Mid (2–5 years)', 'Senior' => 'Senior (5+ years)']; $lines = fn ($t) => collect(preg_split('/\R+/', trim((string) $t)))->map(fn ($l) => trim(ltrim(trim($l), "-•*· ")))->filter()->values(); $paras = collect(preg_split('/\R{2,}/', trim((string) $job->description)))->map(fn ($p) => trim($p))->filter()->values(); $duties = $lines($job->responsibilities); $reqs = $lines($job->requirements); $perks = $lines($job->benefits); $daysLeft = $job->closes_at ? (int) now()->startOfDay()->diffInDays($job->closes_at->copy()->startOfDay(), false) : null; $closedOn = $job->closes_at && $job->closes_at->isPast() ? $job->closes_at : null; $levelWord = Str::lower($job->experience_level).'-level'; $summary = $job->title.' is '.(preg_match('/^[aeiou]/i', $levelWord) ? 'an' : 'a').' '.$levelWord.' '.Str::lower($job->employment_type).' position at '.$emp->company_name .($job->location ? ' in '.$job->location : '').' ('.Str::lower($job->work_mode).'). ' .($salary ? 'Pay is '.$salary.'. ' : '') .(! $isOpen ? 'This role is now closed to new applications.' : ($job->closes_at ? 'Applications close on '.$job->closes_at->format('d M Y').'.' : 'Applications stay open until the role is filled.')) .($skills->isNotEmpty() ? ' Key skills: '.$skills->take(4)->pluck('name')->implode(', ').'.' : ''); $avail = collect(['Immediately', 'Within 2 weeks', 'Within 1 month', 'Within 2 months', 'After I finish my current course'])->mapWithKeys(fn ($a) => [$a => $a])->all(); $portfolioUrl = $isStudent ? ($u->portfolio?->is_public ? route('portfolio.show', $u->portfolio->slug) : ($u->linkedin_url ?: $u->github_url)) : null; $next = '/'.ltrim(request()->path(), '/'); $shareUrl = route('careers.show', $job->slug); $shareText = $job->title.' at '.$emp->company_name.' — INFOTICS career portal'; $maxMb = config('infotics.careers.resume_max_mb'); $mimes = config('infotics.careers.resume_mimes'); @endphp @section('content') {{ $summary }}
@if(! $isOpen) Closed Browse open roles @elseif($application) You applied View your application @else Apply now @if($job->apply_url)Apply on employer site @endif @endif @if($isStudent)
@csrf
@endif
{{ $emp->company_name }}{{ collect([$emp->industry, $emp->location])->filter()->implode(' · ') }}
@if($emp->company_size)
Company size
{{ $emp->company_size }} people
@endif
Open roles
{{ $employerOpenCount }} on this portal
@if($emp->website)
Website
{{ preg_replace('#^https?://(www\.)?#', '', rtrim($emp->website, '/')) }}
@endif
@unless($isOpen)
This role is closed. {{ $closedOn ? 'Applications closed on '.$closedOn->format('d M Y').'.' : 'The employer is no longer accepting applications.' }} Browse the open roles or see similar jobs below.
@endunless

About the role

@foreach($paras as $p)

{!! nl2br(e($p)) !!}

@endforeach
@if($duties->isNotEmpty())

What you will do

    @foreach($duties as $d)
  • {{ $d }}
  • @endforeach
@endif @if($reqs->isNotEmpty())

What you need

    @foreach($reqs as $d)
  • {{ $d }}
  • @endforeach
@endif @if($perks->isNotEmpty())

What you get

    @foreach($perks as $d)
  • {{ $d }}
  • @endforeach
@endif @if($skills->isNotEmpty())

Skills for this role

Employers look for these on your verified profile. Select a skill to see other roles that use it.

@endif

About {{ $emp->company_name }}

@if($emp->description)

{{ Str::limit($emp->description, 320) }}

@endif

{{ collect([$emp->industry, $emp->location, $emp->company_size ? $emp->company_size.' people' : null])->filter()->implode(' · ') }}@if($employerOpenCount > 1) · {{ $employerOpenCount }} open roles@endif

INFOTICS reviews employers and their postings before they go live.

{{-- Apply --}} @if($isOpen)
@if(! $u)

Log in to apply

Applications are sent from your INFOTICS learner account, so {{ $emp->company_name }} can see your profile and verified credentials.

  • Your CV ({{ strtoupper(implode(', ', $mimes)) }}, up to {{ $maxMb }} MB)
  • A phone number
  • A short cover letter (optional)
@elseif(! $isStudent)

Applications are made from learner accounts

You are signed in as {{ Str::of($u->role)->headline() }}. Log in with a learner account to apply for this role.

@elseif($application)

You applied for this role

Sent on {{ $application->created_at->format('d M Y') }}@if($application->status_changed_at && $application->status_changed_at->gt($application->created_at->copy()->addMinutes(2))) · status updated {{ $application->status_changed_at->diffForHumans() }}@endif

{{ $emp->company_name }} can see your application, profile and verified credentials. We emailed you a confirmation, and you will get an email when the status changes.

Track application
@else

Apply for this role

It takes about two minutes. {{ $emp->company_name }} is notified as soon as you send it.

{{ $job->title }}{{ $emp->company_name }}@if($job->location) · {{ $job->location }}@endif
@if($errors->any()) @endif
@csrf
CV / resume @unless($hasResume)*@endunless @if($hasResume)
Your profile CV will be sentTo send a different CV with this application, choose a file below.
Open
@endif
{{ $hasResume ? 'Optional: upload a different CV' : 'Choose your CV or drag it here' }}
{{ strtoupper(implode(', ', $mimes)) }} · up to {{ $maxMb }} MB
@unless($hasResume)
We also save this CV to your profile, so you will not need to upload it again.
@endunless @error('resume')
{{ $message }}
@enderror
@error('consent')
{{ $message }}
@enderror

You will get a confirmation email, and you can follow the status under My applications.

@endif
@endif @if($related->isNotEmpty())
@endif

Posted {{ $posted->format('d M Y') }} · Last updated {{ $job->updated_at->format('d M Y') }} · All INFOTICS career portal jobs

@if($errors->any()) @push('scripts') @endpush @endif @endsection