*/ public function toArray(Request $request): array { return [ 'id' => $this->id, // Not translated: technology names are proper nouns. 'name' => $this->name, 'slug' => $this->slug, 'category' => $this->category?->value, 'color' => $this->color, 'icon' => $this->icon, // The alt text of a logo is the name of the thing, so there is // nothing to type and nothing to get wrong. 'logo' => ImagePayload::make( $this->logo, $this->resource->relationLoaded('logoMedia') ? $this->resource->getRelation('logoMedia') : null, $this->name, ), 'website' => $this->website, // Tech radar. `ring` is null for technologies used but not placed. 'ring' => $this->radar_ring?->value, ...TranslatablePayload::resolve($this->resource, ['description', 'radar_note'], app()->getLocale()), 'projects_count' => $this->whenCounted('projects'), 'members_count' => $this->whenCounted('members'), ]; } }