fix: prefills provider preference on filter
This commit is contained in:
@@ -73,7 +73,7 @@ export default class extends Controller {
|
||||
.map((language) => {
|
||||
const preferred = this.languageTarget.dataset.preferred;
|
||||
if (preferred === language) {
|
||||
return '<option value="'+preferred+'" selected>'+preferred+'</option>';
|
||||
return;
|
||||
}
|
||||
return '<option value="'+language+'">'+language+'</option>';
|
||||
})
|
||||
@@ -85,9 +85,22 @@ export default class extends Controller {
|
||||
this.providers.push(props['provider']);
|
||||
}
|
||||
|
||||
this.providerTarget.innerHTML = '<option value="">n/a</option>';
|
||||
const preferred = this.providerTarget.dataset.preferred;
|
||||
if (preferred) {
|
||||
this.providerTarget.innerHTML = '<option value="'+preferred+'" selected>'+preferred+'</option>';
|
||||
this.providerTarget.innerHTML += '<option value="">n/a</option>';
|
||||
} else {
|
||||
this.providerTarget.innerHTML = '<option value="">n/a</option>';
|
||||
}
|
||||
|
||||
this.providerTarget.innerHTML += this.providers.sort()
|
||||
.map((provider) => '<option value="'+provider+'">'+provider+'</option>')
|
||||
.map((provider) => {
|
||||
const preferred = this.languageTarget.dataset.preferred;
|
||||
if (preferred === provider) {
|
||||
return;
|
||||
}
|
||||
return '<option value="' + provider + '">' + provider + '</option>'
|
||||
})
|
||||
.join();
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ use App\User\Framework\Entity\UserPreference;
|
||||
use App\User\Framework\Repository\PreferencesRepository;
|
||||
use App\Util\CountryCodes;
|
||||
use App\Util\CountryLanguages;
|
||||
use App\Util\ProviderList;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Bundle\SecurityBundle\Security;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
@@ -45,7 +46,7 @@ class PreferencesController extends AbstractController
|
||||
[
|
||||
'preferences' => $this->preferencesRepository->findEnabled(),
|
||||
'languages' => $languages,
|
||||
'providers' => ['test' => 'Test'],
|
||||
'providers' => ProviderList::$providers,
|
||||
'userPreferences' => $userPreferences->toArray(),
|
||||
]
|
||||
);
|
||||
@@ -67,7 +68,7 @@ class PreferencesController extends AbstractController
|
||||
[
|
||||
'preferences' => $this->preferencesRepository->findEnabled(),
|
||||
'languages' => $languages,
|
||||
'providers' => ['test' => 'Test'],
|
||||
'providers' => ProviderList::$providers,
|
||||
'userPreferences' => $userPreferences->toArray(),
|
||||
]
|
||||
);
|
||||
|
||||
26
src/Util/ProviderList.php
Normal file
26
src/Util/ProviderList.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Util;
|
||||
|
||||
class ProviderList
|
||||
{
|
||||
public static $providers = [
|
||||
'1337x',
|
||||
'Comando',
|
||||
'EZTV',
|
||||
'ilCorSaRoNeRo',
|
||||
'MagnetDL',
|
||||
'MejorTorrent',
|
||||
'RARBG',
|
||||
'Rutor',
|
||||
'Rutracker',
|
||||
'ThePirateBay',
|
||||
'Torrent9',
|
||||
'TorrentGalaxy',
|
||||
];
|
||||
|
||||
public static function getProviders()
|
||||
{
|
||||
return self::$providers;
|
||||
}
|
||||
}
|
||||
@@ -45,8 +45,13 @@
|
||||
</label>
|
||||
<label for="provider">
|
||||
Provider
|
||||
<select id="provider" data-result-filter-target="provider" class="px-1 py-0.5 bg-stone-100 text-gray-800 rounded-md">
|
||||
<option selected value="">n/a</option>
|
||||
<select id="provider"
|
||||
data-result-filter-target="provider"
|
||||
class="px-1 py-0.5 bg-stone-100 text-gray-800 rounded-md"
|
||||
{% if this.userPreferences['provider'] != null %}
|
||||
data-preferred="{{ this.userPreferences['provider'] }}"
|
||||
{% endif %}
|
||||
>
|
||||
</select>
|
||||
</label>
|
||||
{% if results.media.mediaType == "tvshows" %}
|
||||
|
||||
@@ -30,11 +30,14 @@
|
||||
|
||||
<label class="text-gray-50" for="provider">Provider</label>
|
||||
<select class="p-1.5 rounded-md mb-2" name="provider" id="provider" value="{{ userPreferences['provider'].getPreferenceValue() }}">
|
||||
{% for key, value in providers %}
|
||||
<option class="text-gray-800" value=""
|
||||
{{ "" == userPreferences['provider'].getPreferenceValue() ? "selected" }}
|
||||
>n/a</option>
|
||||
{% for provider in providers %}
|
||||
<option class="text-gray-800"
|
||||
value="{{ key }}"
|
||||
{{ key == userPreferences['provider'].getPreferenceValue() ? "selected" }}
|
||||
>{{ value }}</option>
|
||||
value="{{ provider }}"
|
||||
{{ provider == userPreferences['provider'].getPreferenceValue() ? "selected" }}
|
||||
>{{ provider }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user