<?php namespace App\View\Components\Links; use Carbon\Exceptions\InvalidFormatException; use Illuminate\Support\Carbon; use Illuminate\View\Component; class VideoLink extends Component { /** * @var string */ public $bvid; /** * @var int|string */ public $part; /** * @var string|null */ public $time; /** * @var int|string|null */ public $sec; /** * Create a new component instance. * * @return void */ public function __construct(string $bvid, $part = 1, $time = null, $sec=null) { $this->bvid = $bvid; $this->part = $part; if ($sec == null) { try { $sec = Carbon::createFromFormat("H:i:s", $time)->secondsSinceMidnight(); } catch (InvalidFormatException $ex) { $time = null; } } $this->time = $time; $this->sec = $sec; } /** * Get the view / contents that represent the component. * * @return \Illuminate\Contracts\View\View|\Closure|string */ public function render() { return view('components.links.video_link'); } }