From f4d3f4754b0b0024a351cba4ae3656570ad31c97 Mon Sep 17 00:00:00 2001 From: Behrokh Satarnejad Date: Fri, 25 Oct 2024 16:27:30 +0200 Subject: [PATCH 1/2] listen to the zenModeToggled event and set the class to the body element, and update primer-view components --- frontend/package-lock.json | 28 +++++++++---------- frontend/package.json | 4 +-- .../core/setup/globals/global-listeners.ts | 11 ++++++++ 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 06fb1a385b9b..34323ce6f775 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -47,11 +47,11 @@ "@ngneat/content-loader": "^7.0.0", "@ngx-formly/core": "^6.1.4", "@openproject/octicons-angular": "^19.19.0", - "@openproject/primer-view-components": "^0.48.1", + "@openproject/primer-view-components": "^0.48.2", "@openproject/reactivestates": "^3.0.1", "@primer/css": "^21.5.0", "@primer/primitives": "^9.1.2", - "@primer/view-components": "npm:@openproject/primer-view-components@^0.48.1", + "@primer/view-components": "npm:@openproject/primer-view-components@^0.48.2", "@types/hotwired__turbo": "^8.0.1", "@uirouter/angular": "^13.0.0", "@uirouter/core": "^6.1.0", @@ -4823,9 +4823,9 @@ } }, "node_modules/@openproject/primer-view-components": { - "version": "0.48.1", - "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.1.tgz", - "integrity": "sha512-6mQC3fNq0F48AGkRBPg/GVych006/y6q4md5tjkI5twnpm/Pf2tSpou7zPegTSM9/3mK6dwZdpyIOShcu/C+Vg==", + "version": "0.48.2", + "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.2.tgz", + "integrity": "sha512-mzc2mRRzaMq5h6TJvpvuaJM6wLpYp9kTpRToVEcCTW18SuP8PnV7/M9impsIehn2UQzP2gqFnK89Xa7CUayhjQ==", "license": "MIT", "dependencies": { "@github/auto-check-element": "^5.2.0", @@ -4910,9 +4910,9 @@ }, "node_modules/@primer/view-components": { "name": "@openproject/primer-view-components", - "version": "0.48.1", - "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.1.tgz", - "integrity": "sha512-6mQC3fNq0F48AGkRBPg/GVych006/y6q4md5tjkI5twnpm/Pf2tSpou7zPegTSM9/3mK6dwZdpyIOShcu/C+Vg==", + "version": "0.48.2", + "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.2.tgz", + "integrity": "sha512-mzc2mRRzaMq5h6TJvpvuaJM6wLpYp9kTpRToVEcCTW18SuP8PnV7/M9impsIehn2UQzP2gqFnK89Xa7CUayhjQ==", "license": "MIT", "dependencies": { "@github/auto-check-element": "^5.2.0", @@ -25278,9 +25278,9 @@ } }, "@openproject/primer-view-components": { - "version": "0.48.1", - "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.1.tgz", - "integrity": "sha512-6mQC3fNq0F48AGkRBPg/GVych006/y6q4md5tjkI5twnpm/Pf2tSpou7zPegTSM9/3mK6dwZdpyIOShcu/C+Vg==", + "version": "0.48.2", + "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.2.tgz", + "integrity": "sha512-mzc2mRRzaMq5h6TJvpvuaJM6wLpYp9kTpRToVEcCTW18SuP8PnV7/M9impsIehn2UQzP2gqFnK89Xa7CUayhjQ==", "requires": { "@github/auto-check-element": "^5.2.0", "@github/auto-complete-element": "^3.6.2", @@ -25344,9 +25344,9 @@ } }, "@primer/view-components": { - "version": "npm:@openproject/primer-view-components@0.48.1", - "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.1.tgz", - "integrity": "sha512-6mQC3fNq0F48AGkRBPg/GVych006/y6q4md5tjkI5twnpm/Pf2tSpou7zPegTSM9/3mK6dwZdpyIOShcu/C+Vg==", + "version": "npm:@openproject/primer-view-components@0.48.2", + "resolved": "https://registry.npmjs.org/@openproject/primer-view-components/-/primer-view-components-0.48.2.tgz", + "integrity": "sha512-mzc2mRRzaMq5h6TJvpvuaJM6wLpYp9kTpRToVEcCTW18SuP8PnV7/M9impsIehn2UQzP2gqFnK89Xa7CUayhjQ==", "requires": { "@github/auto-check-element": "^5.2.0", "@github/auto-complete-element": "^3.6.2", diff --git a/frontend/package.json b/frontend/package.json index 63af85a41c63..2c8f6372bd4b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -99,11 +99,11 @@ "@ngneat/content-loader": "^7.0.0", "@ngx-formly/core": "^6.1.4", "@openproject/octicons-angular": "^19.19.0", - "@openproject/primer-view-components": "^0.48.1", + "@openproject/primer-view-components": "^0.48.2", "@openproject/reactivestates": "^3.0.1", "@primer/css": "^21.5.0", "@primer/primitives": "^9.1.2", - "@primer/view-components": "npm:@openproject/primer-view-components@^0.48.1", + "@primer/view-components": "npm:@openproject/primer-view-components@^0.48.2", "@types/hotwired__turbo": "^8.0.1", "@uirouter/angular": "^13.0.0", "@uirouter/core": "^6.1.0", diff --git a/frontend/src/app/core/setup/globals/global-listeners.ts b/frontend/src/app/core/setup/globals/global-listeners.ts index cf37cfab8b76..2be75223fa5c 100644 --- a/frontend/src/app/core/setup/globals/global-listeners.ts +++ b/frontend/src/app/core/setup/globals/global-listeners.ts @@ -84,6 +84,17 @@ export function initializeGlobalListeners():void { performAnchorHijacking(evt, linkElement); }); + // Listen for 'zenModeToggled' event to toggle Zen Mode styling on the body. + // Adds 'zen-mode' class if active; removes it if not. + window.addEventListener('zenModeToggled', (event:CustomEvent) => { + const isActive = event.detail.active; + if (isActive) { + document.body.classList.add('zen-mode'); + } else { + document.body.classList.remove('zen-mode'); + } + }); + // Jump to the element given by location.hash, if present const { hash } = window.location; if (hash && hash.startsWith('#')) { From 2394afa106e37d5f5b88bdb1be3ecbb447a1d213 Mon Sep 17 00:00:00 2001 From: Behrokh Satarnejad Date: Fri, 25 Oct 2024 16:28:03 +0200 Subject: [PATCH 2/2] add gem files --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index c393b21e00f8..54a72d898474 100644 --- a/Gemfile +++ b/Gemfile @@ -399,4 +399,4 @@ end gem "openproject-octicons", "~>19.19.0" gem "openproject-octicons_helper", "~>19.19.0" -gem "openproject-primer_view_components", "~>0.48.1" +gem "openproject-primer_view_components", "~>0.48.2" diff --git a/Gemfile.lock b/Gemfile.lock index adf6a9619478..166ba20a3fd7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -808,7 +808,7 @@ GEM actionview openproject-octicons (= 19.19.0) railties - openproject-primer_view_components (0.48.1) + openproject-primer_view_components (0.48.2) actionview (>= 5.0.0) activesupport (>= 5.0.0) openproject-octicons (>= 19.17.0) @@ -1307,7 +1307,7 @@ DEPENDENCIES openproject-octicons (~> 19.19.0) openproject-octicons_helper (~> 19.19.0) openproject-openid_connect! - openproject-primer_view_components (~> 0.48.1) + openproject-primer_view_components (~> 0.48.2) openproject-recaptcha! openproject-reporting! openproject-storages!