From cd64d762e7b7ff779b44d028035fddf45ed7a55c Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 18 Jan 2019 15:21:50 +0000 Subject: [PATCH] additions to search --- app/Http/Controllers/SearchController.php | 26 +++++++ app/Http/Controllers/SettingsController.php | 6 ++ app/Item.php | 2 +- app/Search.php | 77 ++++++++++++++++++++- app/Setting.php | 37 ---------- public/css/app.css | 2 +- public/mix-manifest.json | 2 +- resources/assets/sass/_app.scss | 10 ++- resources/lang/en/app.php | 1 + resources/views/partials/search.blade.php | 2 +- routes/web.php | 2 + 11 files changed, 123 insertions(+), 44 deletions(-) create mode 100644 app/Http/Controllers/SearchController.php diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php new file mode 100644 index 00000000..5b0b048a --- /dev/null +++ b/app/Http/Controllers/SearchController.php @@ -0,0 +1,26 @@ +input('provider'); + $query = $request->input('q'); + + $provider = Search::providerDetails($requestprovider); + + if($provider->type == 'external') { + return redirect($provider->url.'?'.$provider->var.'='.urlencode($query)); + } else { + // get results + } + + //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 10f00045..1769a4d1 100644 --- a/app/Item.php +++ b/app/Item.php @@ -166,7 +166,7 @@ class Item extends Model public static function isSearchProvider($class) { $app = new $class; - return ((bool)($app instanceof \App\EnhancedApps)) ? $app : false; + return ((bool)($app instanceof \App\SearchInterface)) ? $app : false; } public function enabled() diff --git a/app/Search.php b/app/Search.php index 04391d45..9924d72b 100644 --- a/app/Search.php +++ b/app/Search.php @@ -3,6 +3,9 @@ use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\Client; use App\Item; +use App\Setting; +use Form; +use Cache; abstract class Search { @@ -10,8 +13,9 @@ abstract class Search public static function providers() { $providers = self::standardProviders(); + $providers = $providers + self::appProviders(); // Need something to add in none standard providers - + //die(print_r($providers)); return $providers; } @@ -28,20 +32,40 @@ abstract class Search 'url' => 'https://www.google.com/search', 'var' => 'q', 'method' => 'get', + 'type' => 'external', ], 'ddg' => [ 'url' => 'https://duckduckgo.com/', 'var' => 'q', 'method' => 'get', + 'type' => 'external', ], 'bing' => [ 'url' => 'https://www.bing.com/search', 'var' => 'q', 'method' => 'get', + 'type' => 'external', ], ]; } + 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, + ]; + + } + } + return $providers; + } + public static function storeSearchProvider($class, $app) { if(!empty($class)) { @@ -52,10 +76,59 @@ abstract class Search $search = new $class; $providers[strtolower($name)] = [ - 'method' => $search->method, + 'url' => '', + 'var' => '', + 'type' => $search->type, + ]; } } } + + /** + * @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; + 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) { + + if((bool)$user_search_provider) { + $name = 'app.options.'.$user_search_provider; + $provider = self::providerDetails($user_search_provider); + + $output .= '
'; + $output .= Form::open(['url' => 'search', 'method' => 'get']); + $output .= '
'; + $output .= ''; + $output .= Form::text('q', null, ['class' => 'homesearch', 'autofocus' => 'autofocus', 'placeholder' => __('app.settings.search').'...']); + $output .= ''; + $output .= '
'; + $output .= Form::close(); + $output .= '
'; + } + } + return $output; + } + + } \ No newline at end of file diff --git a/app/Setting.php b/app/Setting.php index ce400550..e1f8bf40 100644 --- a/app/Setting.php +++ b/app/Setting.php @@ -217,43 +217,6 @@ class Setting extends Model return array_key_exists($key, Setting::$cache); } - /** - * @return html - */ - public static function search() - { - $output = ''; - $homepage_search = self::fetch('homepage_search'); - $search_provider = self::where('key', '=', 'search_provider')->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) { - - if((bool)$user_search_provider) { - $name = 'app.options.'.$user_search_provider; - $provider = Search::providerDetails($user_search_provider); - - $output .= '
'; - $output .= Form::open(['url' => $provider->url, 'method' => $provider->method]); - $output .= '
'; - $output .= Form::text($provider->var, null, ['class' => 'homesearch', 'autofocus' => 'autofocus', 'placeholder' => __($name).' '.__('app.settings.search').'...']); - $output .= ''; - $output .= '
'; - $output .= Form::close(); - $output .= '
'; - } - } - return $output; - } /** * The users that belong to the setting. diff --git a/public/css/app.css b/public/css/app.css index 01c26af7..e6452c1f 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 c49c8b7b..76ac54ed 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,4 +1,4 @@ { - "/css/app.css": "/css/app.css?id=d346be37404d0fda1d66", + "/css/app.css": "/css/app.css?id=550061ee14223568c451", "/js/app.js": "/js/app.js?id=0db2e72b5cd42d83e306" } 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(); });