From 100016e38098ff389b2d6899dee76413da26f2ae Mon Sep 17 00:00:00 2001 From: Mahadevan Sreenivasan Date: Tue, 14 Apr 2020 14:56:16 +0530 Subject: Expose Dark Reader settings (#568) * feat: Expose DarkReader settings to users - In the service model, expose an object darkReaderSetting which contains brightness, contrast and sepia values. - In EditServiceScreen, provide 3 form options for brightness, contrast and Sepia. Additionally onSubmit() form, capture the darkreader settings data onto formdata.darkReaderSettings to update in the service - In EditServiceForm, if darkModeEnabled is checked, show 3 sliders for controlling darkreader settings - Create a new Slider control and customize it according to the application's theme and dark theme. - In Webview Recipe, load the darkReader settings from service settings and pass it to the darkReader library. * feat: Darkreader settings - Lint fixes * feat: DarkReader settings - refactor code in editservicescreen.js Co-Authored-By: Sampath Kumar Krishnan * feat: Darkreader settings - Fix a crash where service.darkReaderSettings is null while creating a new service - Remove isDarkModeEnabled prop to EditServiceForm as it is no longer required. * fix: Update EditServiceScreen - Set the default value of darkReader Brightness, Contrast and Sepia to undefined as per @vantezzen 's suggestion. - Updated the check provided by @mahadevans87 Co-authored-by: Sampath Kumar Krishnan Co-authored-by: Sampath Kumar Krishnan --- src/models/Service.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/models') diff --git a/src/models/Service.js b/src/models/Service.js index 12a2d4af9..f073ac9fc 100644 --- a/src/models/Service.js +++ b/src/models/Service.js @@ -56,6 +56,8 @@ export default class Service { @observable isDarkModeEnabled = false; + @observable darkReaderSettings = { brightness: 100, contrast: 90, sepia: 10 }; + @observable spellcheckerLanguage = null; @observable isFirstLoad = true; @@ -109,6 +111,8 @@ export default class Service { this.isDarkModeEnabled = data.isDarkModeEnabled !== undefined ? data.isDarkModeEnabled : this.isDarkModeEnabled; + this.darkReaderSettings = data.darkReaderSettings !== undefined ? data.darkReaderSettings : this.darkReaderSettings; + this.hasCustomUploadedIcon = data.hasCustomIcon !== undefined ? data.hasCustomIcon : this.hasCustomUploadedIcon; this.proxy = data.proxy !== undefined ? data.proxy : this.proxy; @@ -136,6 +140,7 @@ export default class Service { id: this.id, spellcheckerLanguage: this.spellcheckerLanguage, isDarkModeEnabled: this.isDarkModeEnabled, + darkReaderSettings: this.darkReaderSettings, team: this.team, url: this.url, hasCustomIcon: this.hasCustomIcon, -- cgit v1.2.3-54-g00ecf