This commit is contained in:
2025-12-19 22:13:50 +01:00
parent 9ca2f73714
commit 5461606857
6 changed files with 44 additions and 1 deletions

View File

@@ -30,7 +30,7 @@ class StreamApiController extends Controller
'poster' => $episode->gallery()->first()->image_url,
'interpolated' => $episode->interpolated,
'interpolated_uhd' => $episode->interpolated_uhd,
'stream_url' => $episode->url,
'stream_url' => $episode->dmca_takedown ? 'stuff/dmca' : $episode->url,
'stream_domains' => config('hstream.stream_domain'),
'asia_stream_domains' => config('hstream.asia_stream_domain'),
'extra_subtitles' => $subtitles

View File

@@ -74,6 +74,7 @@ class EpisodeService
$episode->interpolated = $request->input('interpolated') == 'yes';
$episode->interpolated_uhd = $request->input('downloadUHDi1') ? true : false;
$episode->is_dvd_aspect = $request->input('dvd') == 'yes';
$episode->dmca_takedown = $request->input('dmca_takedown') == 'true';
$episode->save();
// Tagging

View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('episodes', function (Blueprint $table) {
$table->boolean('dmca_takedown')->default(0)->after('interpolated_uhd');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('episodes', function (Blueprint $table) {
$table->dropColumn('dmca_takedown');
});
}
};

View File

@@ -104,6 +104,13 @@
v2 Re-Release Notification
</label>
</div>
<div class="inline-block mr-2">
<input class="w-4 h-4 text-rose-600 bg-gray-100 border-gray-300 rounded focus:ring-rose-500 dark:focus:ring-rose-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600"
type="checkbox" value="true" id="dmca_takedown" name="dmca_takedown" />
<label class="inline-block hover:cursor-pointer dark:text-white" for="dmca_takedown">
DMCA Takedown
</label>
</div>
<button type="button" class="inline-block px-6 pt-2.5 pb-2 text-xs font-medium leading-normal uppercase rounded transition duration-150 ease-in-out bg-primary-100 text-primary-700 hover:bg-primary-accent-100 focus:bg-primary-accent-100 focus:outline-none focus:ring-0 active:bg-primary-accent-200" data-te-modal-dismiss data-te-ripple-init data-te-ripple-color="light">
Cancel
</button>

View File

@@ -85,10 +85,12 @@
</div>
<div>
@if(!$episode->dmca_takedown)
<a data-te-toggle="modal" data-te-target="#modalDownload" id="reloadCaptchaModal"
class="text-xl leading-tight text-gray-800 whitespace-nowrap cursor-pointer dark:text-gray-200">
<i class="fa-solid fa-download pr-[4px]"></i> {{ __('stream.download') }}
</a>
@endif
<a data-te-toggle="modal" data-te-target="#modalShare"
class="text-xl leading-tight text-gray-800 whitespace-nowrap cursor-pointer dark:text-gray-200">

View File

@@ -1,6 +1,11 @@
<div class="block">
<div id="player-alert" class="hidden mb-4 rounded-lg bg-danger-100 px-6 py-5 text-base text-danger-700" role="alert">
</div>
@if($episode->dmca_takedown)
<div class="mb-4 rounded-lg bg-danger-400 px-6 py-5 text-base text-danger-800 mt-5" role="alert">
(╥﹏╥) This episode is unavailable! (DMCA Takedown) (╥﹏╥)
</div>
@endif
<canvas id="ambientVideo" class="decoy"></canvas>
<div class="relative w-full aspect-[16/9]">
<video id="player" playsinline controls crossorigin class="absolute inset-0 w-full h-full"></video>