diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 18b05c0b260e7b27e79c0c2ee8b1dea543e63975..cbc5b2c8312943d69c51857dc55bfa376eee39bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ variables: APP_NAME: 'murena-dashboard' - TO_PACKAGE: 'appinfo l10n lib templates js' + TO_PACKAGE: 'appinfo l10n lib templates js css' include: - project: "e/infra/ecloud/nextcloud-apps/ci-templates" diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 9881c6883af9b6d89c4a1dfa9e2d7c8e2b10faf3..c4254a6623523c1dc76718a9ced1346364b8cac7 100755 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -3,10 +3,23 @@ namespace OCA\MurenaDashboard\AppInfo; use OCP\AppFramework\App; +use OCP\AppFramework\Bootstrap\IBootstrap; +use OCP\AppFramework\Bootstrap\IRegistrationContext; +use OCP\AppFramework\Bootstrap\IBootContext; +use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; +use OCA\MurenaDashboard\Listeners\BeforeTemplateRenderedListener; -class Application extends App { - public function __construct(array $urlParams = array()) { - $appName = "murena-dashboard"; - parent::__construct($appName, $urlParams); +class Application extends App implements IBootstrap { + public const APP_ID = 'murena-dashboard'; + + public function __construct(array $urlParams = []) { + parent::__construct(self::APP_ID, $urlParams); + } + + public function register(IRegistrationContext $context): void { + $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); + } + + public function boot(IBootContext $context): void { } } diff --git a/lib/Listeners/BeforeTemplateRenderedListener.php b/lib/Listeners/BeforeTemplateRenderedListener.php new file mode 100644 index 0000000000000000000000000000000000000000..150df8e278bd92945a9f0370d6f6abb870654465 --- /dev/null +++ b/lib/Listeners/BeforeTemplateRenderedListener.php @@ -0,0 +1,31 @@ +appName = $appName; + $this->util = $util; + $this->userSession = $userSession; + } + + public function handle(Event $event): void { + if (!($event instanceof BeforeTemplateRenderedEvent)) { + return; + } + if ($this->userSession->isLoggedIn()) { + $this->util->addStyle($this->appName, 'murena-dashboard'); + } + } +} diff --git a/package.json b/package.json index 89eb2b0515f587378b96fb687426c1d3b96a9adc..09b691de97ed11676e9684954615ada1172423bc 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,9 @@ "description": "Place this app in **nextcloud/custom_apps/**", "main": "js/main.js", "scripts": { - "build": "NODE_ENV=production webpack --progress", - "dev": "NODE_ENV=development webpack --progress", + "build-scss": "sass scss:css --style compressed --no-source-map", + "build": "npm run build-scss && NODE_ENV=production webpack --progress", + "dev": "npm run build-scss && NODE_ENV=development webpack --progress", "watch": "NODE_ENV=development webpack --progress --watch", "lint": "eslint --ext .js,.vue src", "lint:fix": "eslint --ext .js,.vue src --fix", diff --git a/scss/murena-dashboard.scss b/scss/murena-dashboard.scss new file mode 100644 index 0000000000000000000000000000000000000000..551651fea37da5e9cc465014ddbcc2f4da8ca95c --- /dev/null +++ b/scss/murena-dashboard.scss @@ -0,0 +1,3 @@ +#content.app-murena-dashboard { + overflow: scroll; +}