fix: prefills provider preference on filter
This commit is contained in:
@@ -73,7 +73,7 @@ export default class extends Controller {
|
|||||||
.map((language) => {
|
.map((language) => {
|
||||||
const preferred = this.languageTarget.dataset.preferred;
|
const preferred = this.languageTarget.dataset.preferred;
|
||||||
if (preferred === language) {
|
if (preferred === language) {
|
||||||
return '<option value="'+preferred+'" selected>'+preferred+'</option>';
|
return;
|
||||||
}
|
}
|
||||||
return '<option value="'+language+'">'+language+'</option>';
|
return '<option value="'+language+'">'+language+'</option>';
|
||||||
})
|
})
|
||||||
@@ -85,9 +85,22 @@ export default class extends Controller {
|
|||||||
this.providers.push(props['provider']);
|
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()
|
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();
|
.join();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ use App\User\Framework\Entity\UserPreference;
|
|||||||
use App\User\Framework\Repository\PreferencesRepository;
|
use App\User\Framework\Repository\PreferencesRepository;
|
||||||
use App\Util\CountryCodes;
|
use App\Util\CountryCodes;
|
||||||
use App\Util\CountryLanguages;
|
use App\Util\CountryLanguages;
|
||||||
|
use App\Util\ProviderList;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Bundle\SecurityBundle\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
@@ -45,7 +46,7 @@ class PreferencesController extends AbstractController
|
|||||||
[
|
[
|
||||||
'preferences' => $this->preferencesRepository->findEnabled(),
|
'preferences' => $this->preferencesRepository->findEnabled(),
|
||||||
'languages' => $languages,
|
'languages' => $languages,
|
||||||
'providers' => ['test' => 'Test'],
|
'providers' => ProviderList::$providers,
|
||||||
'userPreferences' => $userPreferences->toArray(),
|
'userPreferences' => $userPreferences->toArray(),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
@@ -67,7 +68,7 @@ class PreferencesController extends AbstractController
|
|||||||
[
|
[
|
||||||
'preferences' => $this->preferencesRepository->findEnabled(),
|
'preferences' => $this->preferencesRepository->findEnabled(),
|
||||||
'languages' => $languages,
|
'languages' => $languages,
|
||||||
'providers' => ['test' => 'Test'],
|
'providers' => ProviderList::$providers,
|
||||||
'userPreferences' => $userPreferences->toArray(),
|
'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>
|
||||||
<label for="provider">
|
<label for="provider">
|
||||||
Provider
|
Provider
|
||||||
<select id="provider" data-result-filter-target="provider" class="px-1 py-0.5 bg-stone-100 text-gray-800 rounded-md">
|
<select id="provider"
|
||||||
<option selected value="">n/a</option>
|
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>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
{% if results.media.mediaType == "tvshows" %}
|
{% if results.media.mediaType == "tvshows" %}
|
||||||
|
|||||||
@@ -30,11 +30,14 @@
|
|||||||
|
|
||||||
<label class="text-gray-50" for="provider">Provider</label>
|
<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() }}">
|
<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"
|
<option class="text-gray-800"
|
||||||
value="{{ key }}"
|
value="{{ provider }}"
|
||||||
{{ key == userPreferences['provider'].getPreferenceValue() ? "selected" }}
|
{{ provider == userPreferences['provider'].getPreferenceValue() ? "selected" }}
|
||||||
>{{ value }}</option>
|
>{{ provider }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user