diff --git a/appinfo/app.php b/appinfo/app.php index aad5dc5..6a27b9d 100644 --- a/appinfo/app.php +++ b/appinfo/app.php @@ -36,7 +36,8 @@ Util::addHeader( [ 'href' => $stylesheet, 'rel' => 'stylesheet' - ], '' + ], + '' ); Util::addScript('side_menu', 'main'); diff --git a/appinfo/routes.php b/appinfo/routes.php index 021def5..cdbcf44 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -19,6 +19,6 @@ return [ 'routes' => [ - ['name' => 'Css#stylesheet', 'url' => '/css/stylesheet', 'verb' => 'GET'], + ['name' => 'Css#stylesheet', 'url' => '/css/stylesheet.css', 'verb' => 'GET'], ], ]; diff --git a/lib/Controller/CssController.php b/lib/Controller/CssController.php index 136659c..f201547 100644 --- a/lib/Controller/CssController.php +++ b/lib/Controller/CssController.php @@ -19,7 +19,7 @@ namespace OCA\SideMenu\Controller; use OCP\AppFramework\Controller; -use OCP\AppFramework\Http\DataDownloadResponse; +use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Http\Response; use OCP\IConfig; use OCP\IRequest; @@ -51,24 +51,18 @@ class CssController extends Controller public function stylesheet() { $parameters = [ - '--side-menu-background-color' => $this->config->getAppValue('side_menu', 'background-color', '#333333'), - '--side-menu-current-app-background-color' => $this->config->getAppValue('side_menu', 'current-app-background-color', '#444444'), - '--side-menu-text-color' => $this->config->getAppValue('side_menu', 'text-color', '#FFFFFF'), - '--side-menu-opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'), + 'vars' => [ + 'background-color' => $this->config->getAppValue('side_menu', 'background-color', '#333333'), + 'current-app-background-color' => $this->config->getAppValue('side_menu', 'current-app-background-color', '#444444'), + 'text-color' => $this->config->getAppValue('side_menu', 'text-color', '#FFFFFF'), + 'opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'), + ], + 'display-logo' => (bool) $this->config->getAppValue('side_menu', 'display-logo', 1), ]; - $css = ''; + $response = new TemplateResponse('side_menu', 'css/stylesheet', $parameters, 'blank'); + $response->addHeader('Content-Type', 'text/css'); - foreach ($parameters as $key => $value) { - if ($key === '--side-menu-opener') { - $value = sprintf("url('../img/%s.svg')", $value); - } - - $css.= sprintf('%s: %s;', $key, $value); - } - - $css = sprintf(':root { %s }', $css); - - return new DataDownloadResponse($css, 'stylesheet', 'text/css'); + return $response; } } diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php index 2c02c7a..4922dce 100644 --- a/lib/Settings/Admin.php +++ b/lib/Settings/Admin.php @@ -53,6 +53,7 @@ class Admin implements ISettings 'text-color' => $this->config->getAppValue('side_menu', 'text-color', '#FFFFFF'), 'cache' => $this->config->getAppValue('side_menu', 'cache', '0'), 'opener' => $this->config->getAppValue('side_menu', 'opener', 'side-menu-opener'), + 'display-logo' => $this->config->getAppValue('side_menu', 'display-logo', '1'), ]; return new TemplateResponse('side_menu', 'settings/admin-form', $parameters, ''); diff --git a/src/admin.js b/src/admin.js index 258ddc7..47c2778 100644 --- a/src/admin.js +++ b/src/admin.js @@ -20,6 +20,7 @@ const elements = [ 'side-menu-current-app-background-color', 'side-menu-text-color', 'side-menu-opener', + 'side-menu-display-logo', 'side-menu-cache', ]; diff --git a/templates/css/stylesheet.php b/templates/css/stylesheet.php new file mode 100644 index 0000000..d347ae0 --- /dev/null +++ b/templates/css/stylesheet.php @@ -0,0 +1,24 @@ +:root { + $value): ?> + + --side-menu-: url('../img/.svg'); + + --side-menu-: ; + + +} + + +.side-menu-logo { + display: none; +} + +.side-menu-header { + height: 50px; +} + +.side-menu-apps-list { + height: calc(100vh - 60px); + top: 60px; +} + diff --git a/templates/settings/admin-form.php b/templates/settings/admin-form.php index 3a608a1..0790934 100644 --- a/templates/settings/admin-form.php +++ b/templates/settings/admin-form.php @@ -86,6 +86,29 @@ style('side_menu', 'admin'); +
+ +
+ + '1', + 'No' => '0', + ]; + ?> + +
+ +
+