From 4322491143d85bbefcc9b2905810b36fde29c3b9 Mon Sep 17 00:00:00 2001 From: Mischa Spelt Date: Sat, 25 Jan 2020 01:50:48 +0100 Subject: [PATCH] Now playing en mega menu --- website/app/Http/Controllers/Controller.php | 9 +- .../app/Http/Controllers/RadioController.php | 2 +- website/public/css/nhgooi.css | 56 ++++++++++- .../resources/views/layouts/master.blade.php | 57 +++++++++++- website/resources/views/listen.blade.php | 17 ++-- website/resources/views/newslist.blade.php | 6 +- .../views/widgets/laatstepodcasts.blade.php | 4 +- .../resources/views/widgets/menu.blade.php | 92 ++++++++++++++++++- .../views/widgets/nustraks.blade.php | 7 +- website/routes/web.php | 4 +- 10 files changed, 232 insertions(+), 22 deletions(-) diff --git a/website/app/Http/Controllers/Controller.php b/website/app/Http/Controllers/Controller.php index efb4f6f8..97d8af6b 100644 --- a/website/app/Http/Controllers/Controller.php +++ b/website/app/Http/Controllers/Controller.php @@ -17,7 +17,7 @@ class Controller extends BaseController protected $API_URL; - private function getDataFromFileAndConvert($file, $path, $class) + private function getDataFromFileAndConvert($file, $path, $class, $maxItems = 0) { $data = json_decode(Storage::disk('local')->get($file)); foreach($path as $subobject) { $data = $data->$subobject; } @@ -25,6 +25,7 @@ class Controller extends BaseController foreach($data as $item_data) { $items[] = new $class($item_data); + if($maxItems && count($items) == $maxItems) { break; } } return $items; @@ -33,6 +34,7 @@ class Controller extends BaseController public function __construct() { View::share('apiUrl', $this->API_URL = env('API_URL', 'http://api.6fm.nl/')); + //View::share('onAir', file_get_contents(url('onair'))); View::composer('widgets.laatstenieuws', function($view) { $view->with('data', $this->getDataFromFileAndConvert('laatste_nieuws.json', ['news'], '\Model\NewsItem')); }); @@ -55,6 +57,11 @@ class Controller extends BaseController View::composer('widgets.laatstepodcasts', function($view) { $view->with('data', $this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast')); }); + View::composer('widgets.menu', function($view) { + $view->with('news', $this->getDataFromFileAndConvert('laatste_nieuws.json', ['news'], '\Model\NewsItem')) + ->with('popular', $this->getDataFromFileAndConvert('populair_nieuws.json', [], '\Model\NewsItem', 3)) + ->with('podcasts', $this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast')); + }); } protected function registerView(Request $request, $type, $id) diff --git a/website/app/Http/Controllers/RadioController.php b/website/app/Http/Controllers/RadioController.php index e346948b..dc0902fa 100644 --- a/website/app/Http/Controllers/RadioController.php +++ b/website/app/Http/Controllers/RadioController.php @@ -29,7 +29,7 @@ class RadioController extends Controller public function onair() { - return $this->API('programma/schema/onair')->current->name; + return response()->json($this->API('programma/schema/onair?nonstop=1')); } public function program($id) diff --git a/website/public/css/nhgooi.css b/website/public/css/nhgooi.css index ae6782cc..1f5b9504 100644 --- a/website/public/css/nhgooi.css +++ b/website/public/css/nhgooi.css @@ -9,12 +9,66 @@ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a } -@media screen and (max-width:479px) { +@media screen and (max-width:1069px) { .row .column { width: 100%; } + + .header .placeholder .controls li a { + width: 30px; + } + + .header .placeholder .controls li a label { + display: none; + } } +.header .placeholder { + display: block; + position: relative; + margin: 0; + padding-top: 10px; + padding-bottom: 10px; + height: 90px; +} + + .header .placeholder .title, + .header .placeholder .artist { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .header .placeholder .title { + font-weight: bold; + } + + .header .placeholder .controls { + font-size: 75%; + bottom: 0; + position: absolute; + width: 100%; + } + + .header .placeholder .controls li { + display: inline-block; + } + + .header .placeholder .controls li a { + line-height: 120%; + font-size: 80%; + color: #ABABAB; + display: block; + padding: 4px; + margin-left: 5px; + margin-right: 5px; + } + + .header .placeholder .controls li a:hover { + background-color: #E0E0E0; + transition: 500ms; + } + .page_header_left { width: auto; float: none; diff --git a/website/resources/views/layouts/master.blade.php b/website/resources/views/layouts/master.blade.php index 7f217899..b6bdc372 100644 --- a/website/resources/views/layouts/master.blade.php +++ b/website/resources/views/layouts/master.blade.php @@ -269,10 +269,33 @@

Pressroom

News and Magazine Template

--> - +
- On air: Vroeger of Later +
{{Formatter::fullDate(new \DateTimeImmutable(), 'd m y')}}
+
+
@@ -541,6 +564,36 @@ + @stack('scripts') diff --git a/website/resources/views/listen.blade.php b/website/resources/views/listen.blade.php index c42e17bd..8115159b 100644 --- a/website/resources/views/listen.blade.php +++ b/website/resources/views/listen.blade.php @@ -31,14 +31,19 @@

Nu op NH Gooi: - {{file_get_contents(url('onair'))}} + @if(!$isStream)
Luister live diff --git a/website/resources/views/newslist.blade.php b/website/resources/views/newslist.blade.php index b949e919..33e44997 100644 --- a/website/resources/views/newslist.blade.php +++ b/website/resources/views/newslist.blade.php @@ -172,9 +172,11 @@

+

  Meest gelezen

@include('widgets.populairnieuws') + @include('widgets.nustraks')

  Laatste podcasts

@include('widgets.laatstepodcasts') @@ -194,10 +196,10 @@ @endif diff --git a/website/resources/views/widgets/laatstepodcasts.blade.php b/website/resources/views/widgets/laatstepodcasts.blade.php index c1dfa767..06523e36 100644 --- a/website/resources/views/widgets/laatstepodcasts.blade.php +++ b/website/resources/views/widgets/laatstepodcasts.blade.php @@ -6,10 +6,10 @@
- {{$podcast->title}} + {{$podcast->title}}
    -
  • {{$podcast->program->name}}
  • +
  • {{$podcast->program->name}}
  • {{Formatter::relativeDate($podcast->created)}}
  • diff --git a/website/resources/views/widgets/menu.blade.php b/website/resources/views/widgets/menu.blade.php index a68310f4..54aa4cd5 100644 --- a/website/resources/views/widgets/menu.blade.php +++ b/website/resources/views/widgets/menu.blade.php @@ -1,5 +1,4 @@ "/nieuws", "Radio" => array( "" => "/radio", "Luister live" => "/luister/live", @@ -12,6 +11,7 @@ "Regioagenda" => "/agenda", "Contact" => "/contact"); ?> +@php($imgBase = 'https://nhgooi.nl') diff --git a/website/resources/views/widgets/nustraks.blade.php b/website/resources/views/widgets/nustraks.blade.php index 3a58262c..365edc82 100644 --- a/website/resources/views/widgets/nustraks.blade.php +++ b/website/resources/views/widgets/nustraks.blade.php @@ -1,4 +1,4 @@ -

      Nu op NH Gooi Radio

    +

      Nu op NH Gooi Radio

    @@ -25,9 +25,9 @@ @php($startDay = $program->start->format('d')) @foreach($data as $program) @php($isToday = $program->start->format('d') == $startDay) - @if($loop->index > 10) + @if($loop->index > 5) @break - @elseif(($loop->index > 3) && (!$isToday) && $program->nonstop) + @elseif(($loop->index >= 3) && $program->nonstop) @break @elseif(!$loop->first)
  • @@ -37,6 +37,7 @@ @if($program->tagline)
  • {{$program->tagline}}
  • @endif + @endif @endforeach
diff --git a/website/routes/web.php b/website/routes/web.php index db1a950f..b8fe258b 100644 --- a/website/routes/web.php +++ b/website/routes/web.php @@ -25,11 +25,11 @@ Route::get('/nieuws/zoeken', function(Illuminate\Http\Request $request) { return redirect('/nieuws'); }); +Route::get('/onair', 'RadioController@onair'); + Route::get('/agenda', 'CalendarController@overview'); Route::get('/agenda/{id}/{title}', 'CalendarController@show')->where(['id' => '\d+']); -Route::get('/onair', 'RadioController@onair'); - Route::get('/radio/gids/{shift?}', 'RadioController@schedule')->where(['shift' => '-?\d+']); Route::get('/radio/programma/{id}/{title}', 'RadioController@program')->where(['id' => '\d+']);