diff --git a/app/Http/Controllers/ItemController.php b/app/Http/Controllers/ItemController.php
index abdcd9a7..e5d9175f 100644
--- a/app/Http/Controllers/ItemController.php
+++ b/app/Http/Controllers/ItemController.php
@@ -12,6 +12,7 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use App\SupportedApps;
use App\Jobs\ProcessApps;
+use App\Search;
class ItemController extends Controller
{
@@ -168,6 +169,8 @@ class ItemController extends Controller
$item = Item::create($request->all());
+ Search::storeSearchProvider($request->input('class'), $item);
+
$item->parents()->sync($request->tags);
$route = route('dash', [], false);
@@ -241,6 +244,8 @@ class ItemController extends Controller
$item = Item::find($id);
$item->update($request->all());
+ Search::storeSearchProvider($request->input('class'), $item);
+
$item->parents()->sync($request->tags);
$route = route('dash', [], false);
diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php
new file mode 100644
index 00000000..0accb89c
--- /dev/null
+++ b/app/Http/Controllers/SearchController.php
@@ -0,0 +1,28 @@
+input('provider');
+ $query = $request->input('q');
+
+ $provider = Search::providerDetails($requestprovider);
+
+ if($provider->type == 'standard') {
+ return redirect($provider->url.'?'.$provider->var.'='.urlencode($query));
+ } elseif($provider->type == 'external') {
+ $class = new $provider->class;
+ //print_r($provider);
+ return $class->getResults($query, $provider);
+ }
+
+ //print_r($provider);
+ }
+}
diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php
index be905efd..71297a5a 100644
--- a/app/Http/Controllers/SettingsController.php
+++ b/app/Http/Controllers/SettingsController.php
@@ -118,4 +118,10 @@ class SettingsController extends Controller
]);
}
+
+ public function search(Request $request)
+ {
+
+ }
+
}
diff --git a/app/Item.php b/app/Item.php
index 69953e16..1769a4d1 100644
--- a/app/Item.php
+++ b/app/Item.php
@@ -163,6 +163,12 @@ class Item extends Model
return (bool)($app instanceof \App\EnhancedApps);
}
+ public static function isSearchProvider($class)
+ {
+ $app = new $class;
+ return ((bool)($app instanceof \App\SearchInterface)) ? $app : false;
+ }
+
public function enabled()
{
if($this->enhanced()) {
diff --git a/app/Search.php b/app/Search.php
new file mode 100644
index 00000000..13437bd7
--- /dev/null
+++ b/app/Search.php
@@ -0,0 +1,135 @@
+ [
+ 'url' => 'https://www.google.com/search',
+ 'var' => 'q',
+ 'method' => 'get',
+ 'type' => 'standard',
+ ],
+ 'ddg' => [
+ 'url' => 'https://duckduckgo.com/',
+ 'var' => 'q',
+ 'method' => 'get',
+ 'type' => 'standard',
+ ],
+ 'bing' => [
+ 'url' => 'https://www.bing.com/search',
+ 'var' => 'q',
+ 'method' => 'get',
+ 'type' => 'standard',
+ ],
+ ];
+ }
+
+ /**
+ * Loops through users apps to see if app is a search provider, might be worth
+ * looking into caching this at some point
+ *
+ * @return Array
+ */
+ public static function appProviders()
+ {
+ $providers = [];
+ $userapps = Item::all();
+ foreach($userapps as $app) {
+ if(empty($app->class)) continue;
+ if(($provider = Item::isSearchProvider($app->class)) !== false) {
+ $name = Item::nameFromClass($app->class);
+ $providers[strtolower($name)] = [
+ 'type' => $provider->type,
+ 'class' => $app->class,
+ 'url' => $app->url,
+ ];
+
+ }
+ }
+ return $providers;
+ }
+
+ /**
+ * Outputs the search form
+ *
+ * @return html
+ */
+ public static function form()
+ {
+ $output = '';
+ $homepage_search = Setting::fetch('homepage_search');
+ $search_provider = Setting::where('key', '=', 'search_provider')->first();
+ $user_search_provider = Setting::fetch('search_provider');
+ //die(print_r($search_provider));
+
+ //die(var_dump($user_search_provider));
+ // return early if search isn't applicable
+ if((bool)$homepage_search !== true) return $output;
+ $user_search_provider = $user_search_provider ?? 'none';
+
+ if((bool)$homepage_search && (bool)$search_provider) {
+
+ if((bool)$user_search_provider) {
+ $name = 'app.options.'.$user_search_provider;
+ $provider = self::providerDetails($user_search_provider);
+
+ $output .= '
';
+ }
+ }
+ return $output;
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/SearchInterface.php b/app/SearchInterface.php
new file mode 100644
index 00000000..62c5e4dc
--- /dev/null
+++ b/app/SearchInterface.php
@@ -0,0 +1,10 @@
+first();
- $user_search_provider = self::fetch('search_provider');
- //die(print_r($search_provider));
-
- //die(var_dump($user_search_provider));
- // return early if search isn't applicable
- if((bool)$homepage_search !== true) return $output;
- if($user_search_provider === 'none') return $output;
- if(empty($user_search_provider)) return $output;
- if(is_null($user_search_provider)) return $output;
-
-
- if((bool)$homepage_search && (bool)$search_provider) {
-
- $options = (array)json_decode($search_provider->options);
- $name = $options[$user_search_provider];
- if((bool)$user_search_provider) {
- switch($user_search_provider) {
- case 'google':
- $url = 'https://www.google.com/search';
- $var = 'q';
- break;
- case 'ddg':
- $url = 'https://duckduckgo.com/';
- $var = 'q';
- break;
- case 'bing':
- $url = 'https://www.bing.com/search';
- $var = 'q';
- break;
- case 'startpage':
- $url = 'https://www.startpage.com/';
- $var = 'q';
- }
- $output .= '';
- }
- }
- return $output;
- }
/**
* The users that belong to the setting.
diff --git a/public/css/app.css b/public/css/app.css
index 75a25b6b..23cbdeef 100644
--- a/public/css/app.css
+++ b/public/css/app.css
@@ -1,4 +1,4 @@
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}body{background:#cfd2d4}#switchuser{background:rgba(0,0,0,.5);position:absolute;padding:10px;color:#fff;text-align:center;bottom:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:2px solid hsla(0,0%,100%,.15);border-right:2px solid hsla(0,0%,100%,.15);-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.4);box-shadow:0 0 10px 0 rgba(0,0,0,.4);border-radius:0 9px 0 0;line-height:1.5;font-size:14px}#switchuser img{width:50px;margin-bottom:5px;border-radius:50%}#switchuser .btn{font-size:13px;color:#fff;text-decoration:none;margin:8px -10px -10px;border-radius:0;width:calc(100% + 22px);background:hsla(0,0%,100%,.15);-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out}#switchuser .btn:hover{background:#d64d55}#app{min-height:100vh;background-image:url("../img/bg1.jpg");background-repeat:no-repeat;background-size:cover;background-position:bottom}#app,#app nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#app nav{height:100%;position:absolute;width:340px;left:-340px;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out;background:rgba(0,0,0,.7);color:#fff;z-index:2}#app .content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#app .content .appheader{background:rgba(0,0,0,.4);text-align:center;position:absolute;height:58px;width:100%;top:-58px;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out;z-index:1}#app .content .appheader ul{display:inline-block;list-style:none;height:58px;border-left:1px solid rgba(0,0,0,.6);border-right:1px solid hsla(0,0%,100%,.1);margin:0;padding:0}#app .content .appheader li{display:inline-block;border-right:1px solid rgba(0,0,0,.6);border-left:1px solid hsla(0,0%,100%,.1)}#app .content .appheader a{display:inline-block;color:#fff;text-decoration:none;padding:20px}#app main{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#app #sortable,#app main{padding:30px 10px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:center;align-content:center;list-style:none;margin:0}#app #sortable,#app main,#config-buttons{display:-webkit-box;display:-ms-flexbox;display:flex}#config-buttons{position:fixed;bottom:0;right:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#config-buttons a{width:50px;height:50px;background:rgba(0,0,0,.8);text-align:center;line-height:50px;color:#fff;margin-top:1px}#config-buttons a img{width:26px;height:26px;margin-top:12px}.userlist,.userlist .user{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.userlist .user{background:rgba(0,0,0,.5);padding:15px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:20px;color:#fff;text-decoration:none;border-radius:15px;border:5px solid hsla(0,0%,100%,.7);-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.4);box-shadow:0 0 10px 0 rgba(0,0,0,.4)}.userlist .user-img{width:130px;height:130px;margin-bottom:20px;border-radius:50%;margin:10px 10px 15px}.userlist #password{color:#2f313a;width:100%;padding:5px 10px;margin:15px -5px}.userlist .btn{width:100%}.userlist .forgot{color:#fff;font-size:12px;margin-top:25px}.item-container{position:relative}.item-container .item-edit{color:#fff;position:absolute;bottom:20px;left:8px;width:30px;height:30px;background:rgba(0,0,0,.7);border-radius:50%;text-align:center;line-height:30px;display:none}.black{color:#000!important}.white{color:#fff!important}.message-container,.message-container2{width:100%;padding:10px 20px}.alert{margin:30px auto;text-align:center;max-width:800px;background:#f1f4f7;padding:5px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:80px;-webkit-box-shadow:0 0 15px 3px rgba(0,0,0,.3);box-shadow:0 0 15px 3px rgba(0,0,0,.3)}.alert.alert-danger,.alert.alert-success{position:relative}.alert.alert-danger:before,.alert.alert-success:before{content:"\F00C";font-family:Font Awesome\ 5 Pro;font-weight:900;position:absolute;top:0;left:0;bottom:0;width:60px;background:#0eb584;text-align:center;color:#fff;line-height:57px;font-size:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex}.alert.alert-danger:before{content:"\F00D";background:#d64d55}.alert a{color:#91a1b3}#app.header .add-item,#app.header .item{-webkit-transform:scale(.9);transform:scale(.9);opacity:.8;margin:20px 0}#app.sidebar nav{left:0}.add-item{width:280px;height:90px;margin:20px;-webkit-box-flex:0;-ms-flex:0 0 280px;flex:0 0 280px;border-radius:6px;padding:20px;border:4px dashed hsla(0,0%,100%,.7);-webkit-box-shadow:0 0 20px 2px rgba(0,0,0,.3);box-shadow:0 0 20px 2px rgba(0,0,0,.3);color:#fff;overflow:hidden;position:relative;display:none;outline:1px solid transparent}.add-item.active,.add-item a{display:block}.add-item a{width:100%;text-align:center;line-height:40px;color:#fff;font-size:19px}.item{width:280px;height:90px;margin:20px;-webkit-box-flex:0;-ms-flex:0 0 280px;flex:0 0 280px;background-image:-webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),to(hsla(0,0%,100%,.25)));background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.25));border-radius:6px;padding:15px;padding-right:55px;color:#fff;overflow:hidden;position:relative;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out;outline:1px solid transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #333;border:1px solid #4a4a4a;border:1px solid rgba(76,76,76,.4);background-clip:padding-box}.item:after{content:"";width:90px;height:90px;border-radius:50%;position:absolute;right:-48px;top:0;background:hsla(0,0%,100%,.1);-webkit-box-shadow:0 0 40px 0 rgba(0,0,0,.2);box-shadow:0 0 40px 0 rgba(0,0,0,.2)}.item .link{position:absolute;right:0;top:0;height:100%;width:100%;text-align:right;line-height:90px;color:#fff;font-size:24px;z-index:1;padding-right:10px}.item .title{font-size:16px}.item .details{width:100%}.text-center{text-align:center!important}.module-container{-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.4);box-shadow:0 0 10px 0 rgba(0,0,0,.4);border:1px solid #cdced8;background:#f9fafd;max-width:1000px;width:100%;margin:10px 40px;border-radius:5px;overflow:hidden}.module-container footer,.module-container header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid #fff;background:#f2f3f6;font-size:16px;border-bottom:1px solid #dbdce3;height:60px;position:relative}.module-container footer .section-title,.module-container header .section-title{font-size:18px;color:#5b5b5b;margin-left:25px}.module-container footer{border-top:1px solid #dbdce3}.module-container .table{width:100%;margin:0;background:#fff}.module-container .table thead th{background:#f2f3f6;color:#767d94;border-top:1px solid #fff;text-align:left;font-size:13px;text-transform:uppercase;padding:15px 25px}.module-container .table tbody tr:hover{background:#fefbf2}.module-container .table tbody tr:hover td:first-child{position:relative}.module-container .table tbody tr:hover td:first-child:before{content:"";position:absolute;top:0;left:0;bottom:0;width:5px;background:#0eb584}.module-container .table tbody td{padding:20px 25px;font-size:13px;color:#2f313a;max-width:500px;word-break:break-word}.module-container .table tbody td.form-error{background:#e69191;color:#fff;text-align:center}.module-container .table tbody a{color:#2f313a}.homesearch{height:51px}.toggleinput{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;line-height:1;font-size:9px;font-weight:400;text-transform:uppercase;color:#ababab;padding:0 20px}.toggleinput label.name{margin-top:6px}.module-actions{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.module-actions,.module-actions .button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.module-actions .button{font-size:18px;color:#515564;padding:0 10px;border:none;border-left:1px solid #cdced8;line-height:1;position:relative;background:transparent;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:65px;height:60px;text-decoration:none;-webkit-box-sizing:border-box;box-sizing:border-box}.module-actions .button:after{position:absolute;content:"";top:0;left:0;bottom:0;border-right:1px solid #fff}.module-actions .button span{display:inline-block;line-height:1;font-size:9px;font-weight:400;text-transform:uppercase;color:#ababab;position:relative;top:4px;margin:0}div.create{padding:30px 15px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}div.create .input{width:280px;margin:20px}div.create .input label:not(.switch){width:100%;font-size:13px;color:#9094a5;margin-bottom:15px;display:block;font-weight:300}div.create .input input,div.create .input select{width:100%;border:1px solid #dedfe2;padding:10px;border-radius:6px}.app-icon{max-width:60px;margin-right:15px}.sidenav{position:relative}.sidenav .close-sidenav{position:absolute;top:20px;right:20px;font-size:24px;color:#ccc}.sidenav h2{font-weight:300;padding:20px;margin:0}.sidenav ul{list-style:none;margin:0;padding:20px}.sidenav ul li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:5px}.sidenav ul li a{color:#2b3542}.sidenav ul li a.active{color:#46b0e6}.trashed{font-size:11px;color:#91a1b3;margin-left:20px}.switch{position:relative;display:inline-block;width:36px;height:20px}.switch input{display:none}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#4a556b}.slider,.slider:before{position:absolute;-webkit-transition:.4s;transition:.4s}.slider:before{content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff}input:checked+.slider{background-color:#2196f3}input:focus+.slider{-webkit-box-shadow:0 0 1px #2196f3;box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(16px);transform:translateX(16px)}.slider.round{border-radius:20px}.slider.round:before{border-radius:50%}@-webkit-keyframes autofill{to{background:#f5f5f5;color:#2f313a;font-weight:700}}@keyframes autofill{to{background:#f5f5f5;color:#2f313a;font-weight:700}}input:-webkit-autofill{-webkit-animation-name:autofill;-webkit-animation-fill-mode:both}input:autofill{-webkit-animation-name:autofill;animation-name:autofill;-webkit-animation-fill-mode:both;animation-fill-mode:both}button.link{border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}a.settinglink{color:#2f313a;font-size:13px;margin:15px 5px;display:inline-block;font-weight:700}.setting-view-image{margin-bottom:20px;display:inline-block}.setting-view-image img{max-width:330px}.searchform{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-item-align:start;align-self:flex-start;text-align:center;margin:50px auto;padding:14px;background:rgba(0,0,0,.2);border-radius:14px;-webkit-box-shadow:inset 0 1px 6px 0 rgba(0,0,0,.3);box-shadow:inset 0 1px 6px 0 rgba(0,0,0,.3);border-top:1px solid rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.35);position:relative;width:100%;max-width:500px}.searchform form{width:100%}.searchform .input-container{background:#fff;border-radius:5px;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.4);box-shadow:0 0 5px 0 rgba(0,0,0,.4);overflow:hidden;position:relative}.searchform input{padding:17px 15px;font-size:15px;border:0 none;width:100%;background:transparent}.searchform button{position:absolute;right:0;top:0;border:none;font-size:16px;padding:7px 15px;line-height:38px;font-weight:500;border-top-right-radius:5px;border-bottom-right-radius:5px;color:#fff;text-transform:uppercase;background:#d64d55}.ui-autocomplete{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;padding:4px 0;margin:0 0 10px 25px;list-style:none;background-color:#fff;border-color:#ccc;border:1px solid rgba(0,0,0,.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px}.ui-menu-item{display:block;padding:3px 15px;clear:both;font-weight:400;line-height:18px;color:#555;white-space:nowrap;text-decoration:none}.ui-state-active,.ui-state-hover{font-weight:700}#appimage img{max-width:95px}#sapconfig,.newblock{display:none;width:100%}#sapconfig h2,.newblock h2{background:#f2f3f6;padding:2px 25px;height:60px;margin-left:-15px;width:calc(100% + 30px);border-top:1px solid #dbdce3;border-bottom:1px solid #dbdce3;font-size:18px;color:#5b5b5b;font-weight:500;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#sapconfig .items,#sapconfig h2,.newblock .items,.newblock h2{display:-webkit-box;display:-ms-flexbox;display:flex}hr{margin:23px 0 18px;height:0;border-style:none;border-width:0;border-top:1px solid #eaeaea;border-bottom:1px solid #fff}.upload-btn-wrapper{position:relative;overflow:hidden;display:inline-block}.btn{border:none;background-color:#d64d55;padding:8px 12px;border-radius:8px}.btn,.btn.test{color:#fff;font-size:16px}.btn.test{font-weight:500;border-top-right-radius:5px;border-bottom-right-radius:5px;text-transform:uppercase;padding:8px 50px;background:#207774}.upload-btn-wrapper input[type=file]{font-size:100px;position:absolute;left:0;top:0;opacity:0}.icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.icon-container img{margin-right:15px}.ui-helper-hidden-accessible{display:none}.livestats-container .livestats{margin:5px 0 0;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%}.livestats-container .livestats span{text-transform:uppercase;font-size:11px;font-weight:500;opacity:.5;text-align:left}.livestats-container .livestats span,.livestats-container .livestats strong{display:block;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.livestats-container .livestats strong{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;font-size:12px;line-height:1.2}.livestats-container .livestats strong span{margin-left:4px}.livestats-container .livestats li{text-align:center;margin:0;line-height:1}.livestats-container .livestats li.right{text-align:right}.livestats-container .livestats li.right span{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.livestats-container .livestats.flexcolumn{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.livestats-container.black .livestats strong{color:#000}input:-webkit-autofill,input:-webkit-autofill:focus input:-webkit-autofill,input:-webkit-autofill:hover,select:-webkit-autofill,select:-webkit-autofill:focus,select:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus{border:inherit;-webkit-text-fill-color:inherit;-webkit-box-shadow:inherit;-webkit-transition:inherit;transition:inherit;color:#2f313a!important}.title-marquee{width:125px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-top:2px}.title-marquee>span,.title-marquee>strong{white-space:nowrap;-webkit-transform:translate(0);transform:translate(0);-webkit-animation:marquee 8s linear;animation:marquee 8s linear}.no-marquee .title,.title-marquee .title{margin-right:4px}@-webkit-keyframes marquee{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(0);transform:translate(0)}95%{-webkit-transform:translate(-200%);transform:translate(-200%)}to{-webkit-transform:translate(-200%);transform:translate(-200%)}}@keyframes marquee{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(0);transform:translate(0)}95%{-webkit-transform:translate(-200%);transform:translate(-200%)}to{-webkit-transform:translate(-200%);transform:translate(-200%)}}
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}body{background:#cfd2d4}#switchuser{background:rgba(0,0,0,.5);position:absolute;padding:10px;color:#fff;text-align:center;bottom:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:2px solid hsla(0,0%,100%,.15);border-right:2px solid hsla(0,0%,100%,.15);-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.4);box-shadow:0 0 10px 0 rgba(0,0,0,.4);border-radius:0 9px 0 0;line-height:1.5;font-size:14px}#switchuser img{width:50px;margin-bottom:5px;border-radius:50%}#switchuser .btn{font-size:13px;color:#fff;text-decoration:none;margin:8px -10px -10px;border-radius:0;width:calc(100% + 22px);background:hsla(0,0%,100%,.15);-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out}#switchuser .btn:hover{background:#d64d55}#app{min-height:100vh;background-image:url("../img/bg1.jpg");background-repeat:no-repeat;background-size:cover;background-position:bottom}#app,#app nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#app nav{height:100%;position:absolute;width:340px;left:-340px;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out;background:rgba(0,0,0,.7);color:#fff;z-index:2}#app .content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#app .content .appheader{background:rgba(0,0,0,.4);text-align:center;position:absolute;height:58px;width:100%;top:-58px;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out;z-index:1}#app .content .appheader ul{display:inline-block;list-style:none;height:58px;border-left:1px solid rgba(0,0,0,.6);border-right:1px solid hsla(0,0%,100%,.1);margin:0;padding:0}#app .content .appheader li{display:inline-block;border-right:1px solid rgba(0,0,0,.6);border-left:1px solid hsla(0,0%,100%,.1)}#app .content .appheader a{display:inline-block;color:#fff;text-decoration:none;padding:20px}#app main{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#app #sortable,#app main{padding:30px 10px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:center;align-content:center;list-style:none;margin:0}#app #sortable,#app main,#config-buttons{display:-webkit-box;display:-ms-flexbox;display:flex}#config-buttons{position:fixed;bottom:0;right:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#config-buttons a{width:50px;height:50px;background:rgba(0,0,0,.8);text-align:center;line-height:50px;color:#fff;margin-top:1px}#config-buttons a img{width:26px;height:26px;margin-top:12px}.userlist,.userlist .user{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.userlist .user{background:rgba(0,0,0,.5);padding:15px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:20px;color:#fff;text-decoration:none;border-radius:15px;border:5px solid hsla(0,0%,100%,.7);-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.4);box-shadow:0 0 10px 0 rgba(0,0,0,.4)}.userlist .user-img{width:130px;height:130px;margin-bottom:20px;border-radius:50%;margin:10px 10px 15px}.userlist #password{color:#2f313a;width:100%;padding:5px 10px;margin:15px -5px}.userlist .btn{width:100%}.userlist .forgot{color:#fff;font-size:12px;margin-top:25px}.item-container{position:relative}.item-container .item-edit{color:#fff;position:absolute;bottom:20px;left:8px;width:30px;height:30px;background:rgba(0,0,0,.7);border-radius:50%;text-align:center;line-height:30px;display:none}.black{color:#000!important}.white{color:#fff!important}.message-container,.message-container2{width:100%;padding:10px 20px}.alert{margin:30px auto;text-align:center;max-width:800px;background:#f1f4f7;padding:5px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:80px;-webkit-box-shadow:0 0 15px 3px rgba(0,0,0,.3);box-shadow:0 0 15px 3px rgba(0,0,0,.3)}.alert.alert-danger,.alert.alert-success{position:relative}.alert.alert-danger:before,.alert.alert-success:before{content:"\F00C";font-family:Font Awesome\ 5 Pro;font-weight:900;position:absolute;top:0;left:0;bottom:0;width:60px;background:#0eb584;text-align:center;color:#fff;line-height:57px;font-size:24px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex}.alert.alert-danger:before{content:"\F00D";background:#d64d55}.alert a{color:#91a1b3}#app.header .add-item,#app.header .item{-webkit-transform:scale(.9);transform:scale(.9);opacity:.8;margin:20px 0}#app.sidebar nav{left:0}.add-item{width:280px;height:90px;margin:20px;-webkit-box-flex:0;-ms-flex:0 0 280px;flex:0 0 280px;border-radius:6px;padding:20px;border:4px dashed hsla(0,0%,100%,.7);-webkit-box-shadow:0 0 20px 2px rgba(0,0,0,.3);box-shadow:0 0 20px 2px rgba(0,0,0,.3);color:#fff;overflow:hidden;position:relative;display:none;outline:1px solid transparent}.add-item.active,.add-item a{display:block}.add-item a{width:100%;text-align:center;line-height:40px;color:#fff;font-size:19px}.item{width:280px;height:90px;margin:20px;-webkit-box-flex:0;-ms-flex:0 0 280px;flex:0 0 280px;background-image:-webkit-gradient(linear,left top,right top,from(hsla(0,0%,100%,0)),to(hsla(0,0%,100%,.25)));background-image:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.25));border-radius:6px;padding:15px;padding-right:55px;color:#fff;overflow:hidden;position:relative;-webkit-transition:all .35s ease-in-out;transition:all .35s ease-in-out;outline:1px solid transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #333;border:1px solid #4a4a4a;border:1px solid rgba(76,76,76,.4);background-clip:padding-box}.item:after{content:"";width:90px;height:90px;border-radius:50%;position:absolute;right:-48px;top:0;background:hsla(0,0%,100%,.1);-webkit-box-shadow:0 0 40px 0 rgba(0,0,0,.2);box-shadow:0 0 40px 0 rgba(0,0,0,.2)}.item .link{position:absolute;right:0;top:0;height:100%;width:100%;text-align:right;line-height:90px;color:#fff;font-size:24px;z-index:1;padding-right:10px}.item .title{font-size:16px}.item .details{width:100%}.text-center{text-align:center!important}.module-container{-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.4);box-shadow:0 0 10px 0 rgba(0,0,0,.4);border:1px solid #cdced8;background:#f9fafd;max-width:1000px;width:100%;margin:10px 40px;border-radius:5px;overflow:hidden}.module-container footer,.module-container header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-top:1px solid #fff;background:#f2f3f6;font-size:16px;border-bottom:1px solid #dbdce3;height:60px;position:relative}.module-container footer .section-title,.module-container header .section-title{font-size:18px;color:#5b5b5b;margin-left:25px}.module-container footer{border-top:1px solid #dbdce3}.module-container .table{width:100%;margin:0;background:#fff}.module-container .table thead th{background:#f2f3f6;color:#767d94;border-top:1px solid #fff;text-align:left;font-size:13px;text-transform:uppercase;padding:15px 25px}.module-container .table tbody tr:hover{background:#fefbf2}.module-container .table tbody tr:hover td:first-child{position:relative}.module-container .table tbody tr:hover td:first-child:before{content:"";position:absolute;top:0;left:0;bottom:0;width:5px;background:#0eb584}.module-container .table tbody td{padding:20px 25px;font-size:13px;color:#2f313a;max-width:500px;word-break:break-word}.module-container .table tbody td.form-error{background:#e69191;color:#fff;text-align:center}.module-container .table tbody a{color:#2f313a}.homesearch{height:51px}.toggleinput{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;line-height:1;font-size:9px;font-weight:400;text-transform:uppercase;color:#ababab;padding:0 20px}.toggleinput label.name{margin-top:6px}.module-actions{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.module-actions,.module-actions .button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.module-actions .button{font-size:18px;color:#515564;padding:0 10px;border:none;border-left:1px solid #cdced8;line-height:1;position:relative;background:transparent;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:65px;height:60px;text-decoration:none;-webkit-box-sizing:border-box;box-sizing:border-box}.module-actions .button:after{position:absolute;content:"";top:0;left:0;bottom:0;border-right:1px solid #fff}.module-actions .button span{display:inline-block;line-height:1;font-size:9px;font-weight:400;text-transform:uppercase;color:#ababab;position:relative;top:4px;margin:0}div.create{padding:30px 15px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}div.create .input{width:280px;margin:20px}div.create .input label:not(.switch){width:100%;font-size:13px;color:#9094a5;margin-bottom:15px;display:block;font-weight:300}div.create .input input,div.create .input select{width:100%;border:1px solid #dedfe2;padding:10px;border-radius:6px}.app-icon{max-width:60px;margin-right:15px}.sidenav{position:relative}.sidenav .close-sidenav{position:absolute;top:20px;right:20px;font-size:24px;color:#ccc}.sidenav h2{font-weight:300;padding:20px;margin:0}.sidenav ul{list-style:none;margin:0;padding:20px}.sidenav ul li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:5px}.sidenav ul li a{color:#2b3542}.sidenav ul li a.active{color:#46b0e6}.trashed{font-size:11px;color:#91a1b3;margin-left:20px}.switch{position:relative;display:inline-block;width:36px;height:20px}.switch input{display:none}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#4a556b}.slider,.slider:before{position:absolute;-webkit-transition:.4s;transition:.4s}.slider:before{content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff}input:checked+.slider{background-color:#2196f3}input:focus+.slider{-webkit-box-shadow:0 0 1px #2196f3;box-shadow:0 0 1px #2196f3}input:checked+.slider:before{-webkit-transform:translateX(16px);transform:translateX(16px)}.slider.round{border-radius:20px}.slider.round:before{border-radius:50%}@-webkit-keyframes autofill{to{background:#f5f5f5;color:#2f313a;font-weight:700}}@keyframes autofill{to{background:#f5f5f5;color:#2f313a;font-weight:700}}input:-webkit-autofill{-webkit-animation-name:autofill;-webkit-animation-fill-mode:both}input:autofill{-webkit-animation-name:autofill;animation-name:autofill;-webkit-animation-fill-mode:both;animation-fill-mode:both}button.link{border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}a.settinglink{color:#2f313a;font-size:13px;margin:15px 5px;display:inline-block;font-weight:700}.setting-view-image{margin-bottom:20px;display:inline-block}.setting-view-image img{max-width:330px}.searchform{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-item-align:start;align-self:flex-start;text-align:center;margin:50px auto;padding:14px;background:rgba(0,0,0,.2);border-radius:14px;-webkit-box-shadow:inset 0 1px 6px 0 rgba(0,0,0,.3);box-shadow:inset 0 1px 6px 0 rgba(0,0,0,.3);border-top:1px solid rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.35);position:relative;width:100%;max-width:620px}.searchform form{width:100%}.searchform .input-container{background:#fff;border-radius:5px;-webkit-box-shadow:0 0 5px 0 rgba(0,0,0,.4);box-shadow:0 0 5px 0 rgba(0,0,0,.4);overflow:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.searchform input{padding:17px 15px;font-size:15px;border:0 none;width:100%;background:transparent}.searchform button{position:absolute;right:0;top:0;border:none;font-size:16px;padding:7px 15px;line-height:38px;font-weight:500;border-top-right-radius:5px;border-bottom-right-radius:5px;color:#fff;text-transform:uppercase;background:#d64d55}.searchform select{padding:0 10px;background:#f5f5f5;border:none;border-right:1px solid #ddd}.ui-autocomplete{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;padding:4px 0;margin:0 0 10px 25px;list-style:none;background-color:#fff;border-color:#ccc;border:1px solid rgba(0,0,0,.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px}.ui-menu-item{display:block;padding:3px 15px;clear:both;font-weight:400;line-height:18px;color:#555;white-space:nowrap;text-decoration:none}.ui-state-active,.ui-state-hover{font-weight:700}#appimage img{max-width:95px}#sapconfig,.newblock{display:none;width:100%}#sapconfig h2,.newblock h2{background:#f2f3f6;padding:2px 25px;height:60px;margin-left:-15px;width:calc(100% + 30px);border-top:1px solid #dbdce3;border-bottom:1px solid #dbdce3;font-size:18px;color:#5b5b5b;font-weight:500;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#sapconfig .items,#sapconfig h2,.newblock .items,.newblock h2{display:-webkit-box;display:-ms-flexbox;display:flex}hr{margin:23px 0 18px;height:0;border-style:none;border-width:0;border-top:1px solid #eaeaea;border-bottom:1px solid #fff}.upload-btn-wrapper{position:relative;overflow:hidden;display:inline-block}.btn{border:none;background-color:#d64d55;padding:8px 12px;border-radius:8px}.btn,.btn.test{color:#fff;font-size:16px}.btn.test{font-weight:500;border-top-right-radius:5px;border-bottom-right-radius:5px;text-transform:uppercase;padding:8px 50px;background:#207774}.upload-btn-wrapper input[type=file]{font-size:100px;position:absolute;left:0;top:0;opacity:0}.icon-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.icon-container img{margin-right:15px}.ui-helper-hidden-accessible{display:none}.livestats-container .livestats{margin:5px 0 0;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%}.livestats-container .livestats span{text-transform:uppercase;font-size:11px;font-weight:500;opacity:.5;text-align:left}.livestats-container .livestats span,.livestats-container .livestats strong{display:block;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex}.livestats-container .livestats strong{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;font-size:12px;line-height:1.2}.livestats-container .livestats strong span{margin-left:4px}.livestats-container .livestats li{text-align:center;margin:0;line-height:1}.livestats-container .livestats li.right{text-align:right}.livestats-container .livestats li.right span{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.livestats-container .livestats.flexcolumn{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.livestats-container.black .livestats strong{color:#000}input:-webkit-autofill,input:-webkit-autofill:focus input:-webkit-autofill,input:-webkit-autofill:hover,select:-webkit-autofill,select:-webkit-autofill:focus,select:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus{border:inherit;-webkit-text-fill-color:inherit;-webkit-box-shadow:inherit;-webkit-transition:inherit;transition:inherit;color:#2f313a!important}.title-marquee{width:125px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-top:2px}.title-marquee>span,.title-marquee>strong{white-space:nowrap;-webkit-transform:translate(0);transform:translate(0);-webkit-animation:marquee 8s linear;animation:marquee 8s linear}.no-marquee .title,.title-marquee .title{margin-right:4px}@-webkit-keyframes marquee{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(0);transform:translate(0)}95%{-webkit-transform:translate(-200%);transform:translate(-200%)}to{-webkit-transform:translate(-200%);transform:translate(-200%)}}@keyframes marquee{0%{-webkit-transform:translate(0);transform:translate(0)}20%{-webkit-transform:translate(0);transform:translate(0)}95%{-webkit-transform:translate(-200%);transform:translate(-200%)}to{-webkit-transform:translate(-200%);transform:translate(-200%)}}
/*! Huebee v2.0.0
http://huebee.buzz
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index 33d6e286..52ae3aac 100644
--- a/public/mix-manifest.json
+++ b/public/mix-manifest.json
@@ -1,4 +1,4 @@
{
- "/css/app.css": "/css/app.css?id=bfa06f05dc25570a993d",
- "/js/app.js": "/js/app.js?id=0db2e72b5cd42d83e306"
+ "/css/app.css": "/css/app.css?id=c067b0b68e4516e903e1",
+ "/js/app.js": "/js/app.js?id=8dc4a6ea723d0df7469d"
}
diff --git a/resources/assets/sass/_app.scss b/resources/assets/sass/_app.scss
index c8af5258..ed9c1232 100644
--- a/resources/assets/sass/_app.scss
+++ b/resources/assets/sass/_app.scss
@@ -693,7 +693,7 @@ div.create {
border-bottom: 1px solid rgba(255,255,255,0.35);
position: relative;
width: 100%;
- max-width: 500px;
+ max-width: 620px;
form {
width: 100%;
}
@@ -703,6 +703,8 @@ div.create {
box-shadow: 0px 0px 5px 0 rgba(0,0,0,0.4);
overflow: hidden;
position: relative;
+ display: flex;
+
}
input {
padding: 17px 15px;
@@ -726,6 +728,12 @@ div.create {
text-transform: uppercase;
background: $app-red;
}
+ select {
+ padding: 0 10px;
+ background: #f5f5f5;
+ border: none;
+ border-right: 1px solid #ddd;
+ }
}
.ui-autocomplete {
diff --git a/resources/lang/en/app.php b/resources/lang/en/app.php
index 75c448b0..a82e377e 100644
--- a/resources/lang/en/app.php
+++ b/resources/lang/en/app.php
@@ -42,6 +42,7 @@ return [
'options.startpage' => 'StartPage',
'options.yes' => 'Yes',
'options.no' => 'No',
+ 'options.nzbhydra' => 'NZBHydra',
'buttons.save' => 'Save',
'buttons.cancel' => 'Cancel',
diff --git a/resources/views/partials/search.blade.php b/resources/views/partials/search.blade.php
index 3df5d38f..7809c15f 100644
--- a/resources/views/partials/search.blade.php
+++ b/resources/views/partials/search.blade.php
@@ -1 +1 @@
-{!! App\Setting::search() !!}
+{!! App\Search::form() !!}
diff --git a/routes/web.php b/routes/web.php
index 09a83256..0fb103bb 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -42,6 +42,8 @@ Route::post('appload', 'ItemController@appload')->name('appload');
Route::post('test_config', 'ItemController@testConfig')->name('test_config');
Route::get('/get_stats/{id}', 'ItemController@getStats')->name('get_stats');
+Route::get('/search', 'SearchController@index')->name('search');
+
Route::get('view/{name_view}', function ($name_view) {
return view('SupportedApps::'.$name_view)->render();
});