@extends('layouts.app') @section('title', $project->name . ' - ' . config('app.name')) @section('header-left')

{{ $project->name }}

@endsection @section('content') @if (session('success'))
{{ session('success') }}
@endif @if (session('error'))
{{ session('error') }}
@endif @php $canEdit = $project->created_by === auth()->id() || $project->members->contains(fn ($m) => $m->id === auth()->id() && $m->pivot->role === 'admin'); @endphp {{-- Project header --}}

{{ $project->name }}

{{ $project->visibility }} @if ($project->archived_at) Archived @endif
@if ($canEdit)
@if ($project->archived_at)
@csrf
@elseif (!$project->isDefaultProject())
@csrf
@endif @if (!$project->isDefaultProject())
@csrf @method('DELETE')
@endif
@endif
@if ($project->description)

{{ $project->description }}

@endif
{{-- Members (shared only) --}} @if ($project->visibility === 'shared')

Members

@if ($canEdit)
@csrf
@error('user_id')

{{ $message }}

@enderror @endif
@endif
{{-- View toggle: List | Board | Calendar --}}
List Board Calendar
TaskTime

No time logged yet.

@if (($currentView ?? 'list') === 'list') {{-- Task lists (vertical sections) --}}

Task lists

@if ($canEdit)
@endif
@if ($canEdit)
@endif {{-- Bulk actions floating bar --}}

Delete task(s)? This cannot be undone.

{{-- Create from Template modal --}}
@elseif (($currentView ?? 'list') === 'board') {{-- Board view --}} @php $boardLists = $project->taskLists->map(fn ($l) => [ 'id' => $l->id, 'name' => $l->name, 'position' => $l->position, 'is_default' => $l->is_default, 'tasks_count' => $l->tasks->count(), 'collapsed' => false, 'tasks' => $l->tasks->map(fn ($t) => [ 'id' => $t->id, 'title' => $t->title, 'status' => $t->status, 'priority' => $t->priority, 'due_date' => $t->due_date?->format('Y-m-d'), 'due_time' => $t->due_time, 'completed_at' => $t->completed_at?->toIso8601String(), 'recurrence_rule' => $t->recurrence_rule, 'recurrence_parent_id' => $t->recurrence_parent_id, 'blocked_by' => $t->blockedByDependencies->map(fn ($d) => ['task_id' => $d->depends_on_task_id, 'title' => $d->dependsOnTask?->title, 'status' => $d->dependsOnTask?->status])->values()->all(), 'is_blocked' => $t->blockedByDependencies->where(fn ($d) => $d->dependsOnTask && $d->dependsOnTask->status !== 'done')->isNotEmpty(), 'assignees' => $t->assignees->map(fn ($a) => [ 'id' => $a->user?->id, 'name' => $a->user?->name, 'avatar_url' => $a->user?->avatar_url, ])->all(), ])->values()->all(), ])->values()->all(); @endphp
@else {{-- Calendar view --}} @endif {{-- Edit Project Modal --}} @push('scripts') @include('partials.task-panel-script') @endpush @include('partials.task-panel', ['projectId' => $project->id]) @if (session('open_task'))
@endif @endsection