@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)
@elseif (!$project->isDefaultProject())
@endif
@if (!$project->isDefaultProject())
@endif
@endif
@if ($project->description)
{{ $project->description }}
@endif
{{-- Members (shared only) --}}
@if ($project->visibility === 'shared')
Members
@if ($canEdit)
@error('user_id')
{{ $message }}
@enderror
@endif
@endif
{{-- View toggle: List | Board | Calendar --}}
@if (($currentView ?? 'list') === 'list')
{{-- Task lists (vertical sections) --}}
Task lists
@if ($canEdit)
@endif
@if ($canEdit)
@endif
@if ($canEdit)
@endif
@if ($canEdit)
@endif
@if ($canEdit)
@else
@endif
🔄
🔒
No tasks yet. Add one below.
@if ($canEdit)
@endif
@if ($canEdit)
@endif
{{-- Bulk actions floating bar --}}
Delete task(s)? This cannot be undone.
{{-- Create from Template modal --}}
Create from Template
Creates a task (and subtasks) from a template. Subtask due dates = start date + relative days.
Loading templates…
@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