From effd0203a3bc1c1219a1692c80a7f0d7ea65169a Mon Sep 17 00:00:00 2001 From: Rico van Zelst Date: Thu, 21 Mar 2024 00:47:41 +0100 Subject: [PATCH 01/10] feat: Add Streamer and StreamerPanel controllers, Streamer model - Added StreamerController with index and show methods - Added StreamerPanelController with index, create, store, edit, update, and destroy methods - Created Streamer model with fillable attributes and platform-specific URL generation logic - Implemented migration for creating the streamers table --- app/Http/Controllers/StreamerController.php | 25 ++++++++ .../Controllers/StreamerPanelController.php | 57 +++++++++++++++++++ app/Models/Streamer.php | 42 ++++++++++++++ ...24_03_20_233357_create_streamers_table.php | 31 ++++++++++ 4 files changed, 155 insertions(+) create mode 100644 app/Http/Controllers/StreamerController.php create mode 100644 app/Http/Controllers/StreamerPanelController.php create mode 100644 app/Models/Streamer.php create mode 100644 database/migrations/2024_03_20_233357_create_streamers_table.php diff --git a/app/Http/Controllers/StreamerController.php b/app/Http/Controllers/StreamerController.php new file mode 100644 index 0000000..789e9d2 --- /dev/null +++ b/app/Http/Controllers/StreamerController.php @@ -0,0 +1,25 @@ +belongsTo(Champion::class); + } + + public function getPlatformAttribute($value): string + { + $platforms = [ + 'twitch' => 'Twitch', + 'youtube' => 'YouTube', + 'kick' => 'Kick', + 'douyu' => 'Douyu', + 'huya' => 'Huya', + ]; + + return $platforms[$value]; + } + + public function getStreamerUrlAttribute(): string + { + return match ($this->platform) { + 'Twitch' => "https://www.twitch.tv/{$this->username}", + 'YouTube' => "https://www.youtube.com/@{$this->username}", + 'Kick' => "https://kick.com/{$this->username}", + 'Douyu' => "https://www.douyu.com/{$this->username}", + 'Huya' => "https://www.huya.com/{$this->username}", + }; + } +} diff --git a/database/migrations/2024_03_20_233357_create_streamers_table.php b/database/migrations/2024_03_20_233357_create_streamers_table.php new file mode 100644 index 0000000..a69f5d8 --- /dev/null +++ b/database/migrations/2024_03_20_233357_create_streamers_table.php @@ -0,0 +1,31 @@ +id(); + $table->foreignId('champion_id')->constrained(); + $table->enum('platform', ['twitch', 'youtube', 'kick', 'douyu', 'huya']); + $table->string('username'); + $table->string('displayname'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('streamers'); + } +}; From 236ff32acca4a1e5026559bf159a55847446ca15 Mon Sep 17 00:00:00 2001 From: Rico van Zelst Date: Thu, 21 Mar 2024 01:10:43 +0100 Subject: [PATCH 02/10] feat: Update AWS SDK and Laravel Package Tools versions - Updated AWS SDK version to 3.301.4 - Updated Laravel Package Tools version to 1.16.4 --- .../Controllers/StreamerPanelController.php | 4 +- composer.lock | 60 +++++++++---------- resources/views/components/navbar.blade.php | 48 +++++++-------- .../views/components/panel-navbar.blade.php | 34 +++++++++++ .../views/layouts/streamerpanel.blade.php | 58 ++++++++++++++++++ resources/views/streamerpanel/index.blade.php | 8 +++ routes/web.php | 3 + 7 files changed, 160 insertions(+), 55 deletions(-) create mode 100644 resources/views/components/panel-navbar.blade.php create mode 100644 resources/views/layouts/streamerpanel.blade.php create mode 100644 resources/views/streamerpanel/index.blade.php diff --git a/app/Http/Controllers/StreamerPanelController.php b/app/Http/Controllers/StreamerPanelController.php index bf73d91..46e276a 100644 --- a/app/Http/Controllers/StreamerPanelController.php +++ b/app/Http/Controllers/StreamerPanelController.php @@ -12,7 +12,9 @@ class StreamerPanelController extends Controller */ public function index() { - // + return view('streamerpanel.index', [ + 'streamers' => Streamer::all(), + ]); } /** diff --git a/composer.lock b/composer.lock index 8e546b8..3be4300 100644 --- a/composer.lock +++ b/composer.lock @@ -118,16 +118,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.301.1", + "version": "3.301.4", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "0a910d2b35e7087337cdf3569dc9b6ce232aafba" + "reference": "1d04b11a621eaceb389d2cfbd82bcdc423903796" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0a910d2b35e7087337cdf3569dc9b6ce232aafba", - "reference": "0a910d2b35e7087337cdf3569dc9b6ce232aafba", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1d04b11a621eaceb389d2cfbd82bcdc423903796", + "reference": "1d04b11a621eaceb389d2cfbd82bcdc423903796", "shasum": "" }, "require": { @@ -207,9 +207,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.301.1" + "source": "https://github.com/aws/aws-sdk-php/tree/3.301.4" }, - "time": "2024-03-15T18:14:42+00:00" + "time": "2024-03-20T18:16:55+00:00" }, { "name": "blade-ui-kit/blade-icons", @@ -5036,16 +5036,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.16.3", + "version": "1.16.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "59db18c2e20d49a0b6d447bb1c654f6c123beb9e" + "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/59db18c2e20d49a0b6d447bb1c654f6c123beb9e", - "reference": "59db18c2e20d49a0b6d447bb1c654f6c123beb9e", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", + "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", "shasum": "" }, "require": { @@ -5084,7 +5084,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.3" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4" }, "funding": [ { @@ -5092,7 +5092,7 @@ "type": "github" } ], - "time": "2024-03-07T07:35:57+00:00" + "time": "2024-03-20T07:29:11+00:00" }, { "name": "spatie/laravel-query-builder", @@ -8726,16 +8726,16 @@ }, { "name": "composer/pcre", - "version": "3.1.2", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace" + "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace", - "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace", + "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", + "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", "shasum": "" }, "require": { @@ -8777,7 +8777,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.2" + "source": "https://github.com/composer/pcre/tree/3.1.3" }, "funding": [ { @@ -8793,7 +8793,7 @@ "type": "tidelift" } ], - "time": "2024-03-07T15:38:35+00:00" + "time": "2024-03-19T10:26:25+00:00" }, { "name": "doctrine/deprecations", @@ -9223,16 +9223,16 @@ }, { "name": "mockery/mockery", - "version": "1.6.9", + "version": "1.6.10", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06" + "reference": "47065d1be1fa05def58dc14c03cf831d3884ef0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", - "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "url": "https://api.github.com/repos/mockery/mockery/zipball/47065d1be1fa05def58dc14c03cf831d3884ef0b", + "reference": "47065d1be1fa05def58dc14c03cf831d3884ef0b", "shasum": "" }, "require": { @@ -9244,8 +9244,8 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.6.10", - "symplify/easy-coding-standard": "^12.0.8" + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" }, "type": "library", "autoload": { @@ -9302,7 +9302,7 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2023-12-10T02:24:34+00:00" + "time": "2024-03-19T16:15:45+00:00" }, { "name": "myclabs/deep-copy", @@ -9738,16 +9738,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.62", + "version": "1.10.63", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9" + "reference": "ad12836d9ca227301f5fb9960979574ed8628339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd5c8a1660ed3540b211407c77abf4af193a6af9", - "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ad12836d9ca227301f5fb9960979574ed8628339", + "reference": "ad12836d9ca227301f5fb9960979574ed8628339", "shasum": "" }, "require": { @@ -9796,7 +9796,7 @@ "type": "tidelift" } ], - "time": "2024-03-13T12:27:20+00:00" + "time": "2024-03-18T16:53:53+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/resources/views/components/navbar.blade.php b/resources/views/components/navbar.blade.php index 540c44d..656a0a5 100644 --- a/resources/views/components/navbar.blade.php +++ b/resources/views/components/navbar.blade.php @@ -1,77 +1,77 @@