<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class MenuItemResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param \Illuminate\Http\Request $request
     * @return array
     */

    public function toArray($request)
    {
        if ($this->entry_id) {
            $url = $this->entry->uri;
        } else {
            $url = $this->url;
        }

        $out = [
            'id'                    => $this->id,
            'parentId'              => $this->parent_id,
            'menuId'                => $this->menu_id,
            'entryId'               => $this->entry_id,
            'target'                => $this->target,
            'title'                 => $this->title,
            'url'                   => lang_uri($url)?: '/',
            'menu_content'          => !empty($this->menuContent) ? new MenuContentResource($this->menuContent) : null,
            'children'              => MenuItemResource::collection($this->children),
        ];

        return $out;
    }
}
