diff --git a/app/Item.php b/app/Item.php index a80cb579..22de779f 100644 --- a/app/Item.php +++ b/app/Item.php @@ -29,6 +29,7 @@ class Item extends Model 'AirSonic' => \App\SupportedApps\AirSonic::class, 'Cardigann' => \App\SupportedApps\Cardigann::class, 'CouchPotato' => \App\SupportedApps\CouchPotato::class, + 'Booksonic' => \App\SupportedApps\Booksonic::class, 'Deluge' => \App\SupportedApps\Deluge::class, 'Dokuwiki' => \App\SupportedApps\Dokuwiki::class, 'Duplicati' => \App\SupportedApps\Duplicati::class, @@ -37,13 +38,18 @@ class Item extends Model 'Glances' => \App\SupportedApps\Glances::class, 'Grafana' => \App\SupportedApps\Grafana::class, 'Graylog' => \App\SupportedApps\Graylog::class, + 'Headphones' => \App\SupportedApps\Headphones::class, 'Home Assistant' => \App\SupportedApps\HomeAssistant::class, 'Jackett' => \App\SupportedApps\Jackett::class, 'Jdownloader' => \App\SupportedApps\Jdownloader::class, 'Krusader' => \App\SupportedApps\Krusader::class, + 'LibreNMS' => \App\SupportedApps\LibreNMS::class, + 'LazyLibrarian' => \App\SupportedApps\LazyLibrarian::class, 'Lidarr' => \App\SupportedApps\Lidarr::class, 'Mcmyadmin' => \App\SupportedApps\Mcmyadmin::class, 'Medusa' => \App\SupportedApps\Medusa::class, + 'Mylar' => \App\SupportedApps\Mylar::class, + 'MusicBrainz' => \App\SupportedApps\MusicBrainz::class, 'NZBGet' => \App\SupportedApps\Nzbget::class, 'Netdata' => \App\SupportedApps\Netdata::class, 'Nextcloud' => \App\SupportedApps\Nextcloud::class, @@ -60,6 +66,7 @@ class Item extends Model 'Portainer' => \App\SupportedApps\Portainer::class, 'Proxmox' => \App\SupportedApps\Proxmox::class, 'Radarr' => \App\SupportedApps\Radarr::class, + 'Rancher' => \App\SupportedApps\Rancher::class, 'Runeaudio' => \App\SupportedApps\Runeaudio::class, 'Sabnzbd' => \App\SupportedApps\Sabnzbd::class, 'Sickrage' => \App\SupportedApps\Sickrage::class, @@ -165,10 +172,19 @@ class Item extends Model public function getLinkTargetAttribute() { - if((int)$this->type === 1) { + if((int)$this->type === 1 ) { return ''; } else { - return ' target="heimdallapp"'; + $settings = Setting::all(); + foreach($settings as $key => $val) { + if($val['key'] === 'window_target') { + $target = $val['value']; + if($target === 'current') { + $target = ''; + } + } + } + return ' target="' . $target . '"'; } } diff --git a/database/seeds/SettingsSeeder.php b/database/seeds/SettingsSeeder.php index 272ccbd9..99e9bf0a 100644 --- a/database/seeds/SettingsSeeder.php +++ b/database/seeds/SettingsSeeder.php @@ -138,6 +138,41 @@ class SettingsSeeder extends Seeder $setting->save(); } - + if(!$setting = Setting::find(6)) { + $setting = new Setting; + $setting->id = 6; + $setting->group_id = 2; + $setting->key = 'trianglify'; + $setting->type = 'boolean'; + $setting->label = 'app.settings.trianglify'; + $setting->save(); + } else { + $setting->label = 'app.settings.trianglify'; + $setting->save(); + } + + $window_target_options = json_encode([ + 'current' => 'app.settings.window_target.current', + 'heimdall' => 'app.settings.window_target.one', + '_blank' => 'app.settings.window_target.new', + ]); + + if(!$setting = Setting::find(7)) { + + $setting = new Setting; + $setting->id = 7; + $setting->group_id = 3; + $setting->key = 'window_target'; + $setting->type = 'select'; + $setting->options = $window_target_options; + $setting->label = 'app.settings.window_target'; + $setting->value = 'heimdall'; + $setting->save(); + } else { + $setting->options = $window_target_options; + $setting->label = 'app.settings.window_target'; + $setting->save(); + } + } } diff --git a/resources/lang/en/app.php b/resources/lang/en/app.php index 52d3bafd..3a15d221 100644 --- a/resources/lang/en/app.php +++ b/resources/lang/en/app.php @@ -15,6 +15,11 @@ return [ 'settings.version' => 'Version', 'settings.background_image' => 'Background Image', + 'settings.trianglify' => 'Trianglify', + 'settings.window_target' => 'Link opens in', + 'settings.window_target.current' => 'Open in this tab', + 'settings.window_target.one' => 'Open in the same tab', + 'settings.window_target.new' => 'Open in a new tab', 'settings.homepage_search' => 'Homepage Search', 'settings.search_provider' => 'Search Provider', 'settings.language' => 'Language',