<?php

namespace App\Notifications;

use App\Broadcasting\PushNotification;
use App\User;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;

class SendToOwnerWhenOtherInteractRenter extends Notification {
	use Queueable;

	/**
	 * Create a new notification instance.
	 *
	 * @return void
	 */
	protected $userId;

	public function __construct( $userId ) {
		//
		$this->userId = $userId;
	}

	/**
	 * Get the notification's delivery channels.
	 *
	 * @param mixed $notifiable
	 *
	 * @return array
	 */
	public function via( $notifiable ) {
		return [ PushNotification::class ];
	}

	/**
	 * Get the mail representation of the notification.
	 *
	 * @param mixed $notifiable
	 *
	 * @return \Illuminate\Notifications\Messages\MailMessage
	 */
	public function toMail( $notifiable ) {
		return ( new MailMessage )
			->line( 'The introduction to the notification.' )
			->action( 'Notification Action', url( '/' ) )
			->line( 'Thank you for using our application!' );
	}

	public function toPush( $notifiable ) {
		$userId = $this->userId;
		$user   = User::find( $userId );

		return [
			'type'  => 'SEARCH',
			'body'  => 'Khách hàng ' . $user->name_text . ' mà bạn đang tiếp cận đang được các chủ nhà khác tiếp cận. Hãy tích cực trao đổi và đưa ra khuyến mại cho khách để tăng khả năng thuê nhé',
			'title' => '🆘Bạn cần hành động nhanh hơn nữa 🆘',
		];
	}

	/**
	 * Get the array representation of the notification.
	 *
	 * @param mixed $notifiable
	 *
	 * @return array
	 */
	public function toArray( $notifiable ) {
		return [
			//
		];
	}
}
