diff options
| author | Developer | 2026-06-27 02:47:40 +0200 |
|---|---|---|
| committer | Developer | 2026-06-27 02:47:40 +0200 |
| commit | 34ee983becfa088d0c39c4f0d9b35f038b351a78 (patch) | |
| tree | 25737516a97c596b8b88d2da8dfb0ded5a76a1b6 /routes | |
| download | curious-34ee983becfa088d0c39c4f0d9b35f038b351a78.tar.gz | |
feat: add cinema module for browsing movies from hncrawler DB
- Add 'cinema' database connection (hncrawler DB) to config/database.php
- Create CinemaController with cinema(), show(), search() methods
- Add /cinema, /cinema/movie/{imdb_id}, /cinema/search routes
- Create cinema.blade.php (grid listing with posters, ratings, pagination)
- Create cinema-show.blade.php (detail page with cast, genres, synopsis)
- Add Cinema link to navbar
- Update page title logic for cinema routes
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/api.php | 19 | ||||
| -rw-r--r-- | routes/channels.php | 18 | ||||
| -rw-r--r-- | routes/console.php | 19 | ||||
| -rw-r--r-- | routes/web.php | 38 |
4 files changed, 94 insertions, 0 deletions
diff --git a/routes/api.php b/routes/api.php new file mode 100644 index 0000000..bcb8b18 --- /dev/null +++ b/routes/api.php @@ -0,0 +1,19 @@ +<?php + +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Route; + +/* +|-------------------------------------------------------------------------- +| API Routes +|-------------------------------------------------------------------------- +| +| Here is where you can register API routes for your application. These +| routes are loaded by the RouteServiceProvider within a group which +| is assigned the "api" middleware group. Enjoy building your API! +| +*/ + +Route::middleware('auth:api')->get('/user', function (Request $request) { + return $request->user(); +}); diff --git a/routes/channels.php b/routes/channels.php new file mode 100644 index 0000000..963b0d2 --- /dev/null +++ b/routes/channels.php @@ -0,0 +1,18 @@ +<?php + +use Illuminate\Support\Facades\Broadcast; + +/* +|-------------------------------------------------------------------------- +| Broadcast Channels +|-------------------------------------------------------------------------- +| +| Here you may register all of the event broadcasting channels that your +| application supports. The given channel authorization callbacks are +| used to check if an authenticated user can listen to the channel. +| +*/ + +Broadcast::channel('App.User.{id}', function ($user, $id) { + return (int) $user->id === (int) $id; +}); diff --git a/routes/console.php b/routes/console.php new file mode 100644 index 0000000..da55196 --- /dev/null +++ b/routes/console.php @@ -0,0 +1,19 @@ +<?php + +use Illuminate\Foundation\Inspiring; +use Illuminate\Support\Facades\Artisan; + +/* +|-------------------------------------------------------------------------- +| Console Routes +|-------------------------------------------------------------------------- +| +| This file is where you may define all of your Closure based console +| commands. Each Closure is bound to a command instance allowing a +| simple approach to interacting with each command's IO methods. +| +*/ + +Artisan::command('inspire', function () { + $this->comment(Inspiring::quote()); +})->describe('Display an inspiring quote'); diff --git a/routes/web.php b/routes/web.php new file mode 100644 index 0000000..95ac094 --- /dev/null +++ b/routes/web.php @@ -0,0 +1,38 @@ +<?php + +use Illuminate\Support\Facades\Route; + +/* +|-------------------------------------------------------------------------- +| Web Routes +|-------------------------------------------------------------------------- +| +| Here is where you can register web routes for your application. These +| routes are loaded by the RouteServiceProvider within a group which +| contains the "web" middleware group. Now create something great! +| +*/ + +Route::get('/', 'IndexController@index')->name('index'); +Route::get('/topic/{topic}', 'IndexController@topic')->name('topic')->where('topic', '(.+)'); +Route::get('/topics/', 'IndexController@topicindex')->name('topic_index'); +Route::get('/topic/', function() { return redirect()->route('topic_index'); })->name('topic_redir'); +Route::get('/new', 'IndexController@new')->name('new'); +Route::get('/search', 'IndexController@search')->name('search'); +Route::get('/popular/topics', 'IndexController@populartopics')->name('popular_topics'); +Route::get('/popular', 'IndexController@popular')->name('popular'); +Route::get('/random', 'IndexController@random')->name('random'); +Route::get('/article/{id}', 'IndexController@show')->name('show')->where('id', '[0-9]+'); + +Route::get('/feed/new', 'FeedController@new')->name('feed_new'); +Route::get('/feed/mastodon', 'FeedController@mastodon')->name('feed_mastodon'); +Route::get('/feed/mastodon_test', 'FeedController@mastodon_test')->name('feed_mastodon_test'); +Route::get('/feed/popular', 'FeedController@popular')->name('feed_popular'); +Route::get('/feed/search', 'FeedController@search')->name('feed_search'); + +#Auth::routes(); + +Route::get('/cinema', 'CinemaController@cinema')->name('cinema.index'); +Route::get('/cinema/movie/{imdb_id}', 'CinemaController@show')->name('cinema.show'); +Route::get('/cinema/search', 'CinemaController@search')->name('cinema.search'); +Route::get('/about', 'IndexController@about')->name('about'); |
