<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Config;

use App\Models\{Site,User,UserOauth};

class SocialLink extends Mailable
{
	use Queueable, SerializesModels;

	public string $token;
	public Site $site;
	public ?User $user;

	/**
	 * Create a new message instance.
	 *
	 * @param UserOauth $o
	 */
	public function __construct(UserOauth $o)
	{
		$this->site = $o->site;
		$this->token = $o->link_token;
		$this->user = $o->user;
	}

	/**
	 * Build the message.
	 *
	 * @return $this
	 */
	public function build()
	{
		Config::set('site',$this->site);

		return $this
			->markdown('mail.system.social_link')
			->subject('Link your Account')
			->with([
				'site'=>$this->site,
			]);
	}
}