aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar Vijay Aravamudhan <vraravam@users.noreply.github.com>2022-06-19 13:54:06 +0530
committerLibravatar GitHub <noreply@github.com>2022-06-19 08:24:06 +0000
commit8599af64bc5893ea8e74367dfc9b6d9d6f54c428 (patch)
treefd0dbe82c4fce58b15b002ba03fcd16e05ed7925 /src
parentAdd manual trigger for GH workflow to publsih homebrew tap [skip ci] (diff)
downloadferdium-app-8599af64bc5893ea8e74367dfc9b6d9d6f54c428.tar.gz
ferdium-app-8599af64bc5893ea8e74367dfc9b6d9d6f54c428.tar.zst
ferdium-app-8599af64bc5893ea8e74367dfc9b6d9d6f54c428.zip
Add ability to enable the progressbar for each service (#301)
Diffstat (limited to 'src')
-rw-r--r--src/components/services/content/ServiceView.js4
-rw-r--r--src/components/settings/services/EditServiceForm.js1
-rw-r--r--src/config.ts1
-rw-r--r--src/containers/settings/EditServiceScreen.js9
-rw-r--r--src/i18n/locales/en-US.json1
-rw-r--r--src/internal-server/app/Controllers/Http/ServiceController.js3
-rw-r--r--src/models/Service.js7
-rw-r--r--src/stores/AppStore.js1
-rw-r--r--src/stores/ServicesStore.js1
9 files changed, 26 insertions, 2 deletions
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js
index 39f1176f3..5ff059f52 100644
--- a/src/components/services/content/ServiceView.js
+++ b/src/components/services/content/ServiceView.js
@@ -114,8 +114,8 @@ class ServiceView extends Component {
114 !service.isServiceAccessRestricted && ( 114 !service.isServiceAccessRestricted && (
115 <WebviewLoader loaded={false} name={service.name} /> 115 <WebviewLoader loaded={false} name={service.name} />
116 )} 116 )}
117 {service.isLoadingPage && !service.isFirstLoad && ( 117 {service.isProgressbarEnabled && service.isLoadingPage && !service.isFirstLoad && (
118 <TopBarProgress /> 118 <TopBarProgress />
119 )} 119 )}
120 {service.isError && ( 120 {service.isError && (
121 <WebviewErrorHandler 121 <WebviewErrorHandler
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js
index 4190052fe..abab49f77 100644
--- a/src/components/settings/services/EditServiceForm.js
+++ b/src/components/settings/services/EditServiceForm.js
@@ -390,6 +390,7 @@ class EditServiceForm extends Component {
390 <Slider field={form.$('darkReaderSepia')} /> 390 <Slider field={form.$('darkReaderSepia')} />
391 </> 391 </>
392 )} 392 )}
393 <Toggle field={form.$('isProgressbarEnabled')} />
393 </div> 394 </div>
394 </div> 395 </div>
395 <div className="service-icon"> 396 <div className="service-icon">
diff --git a/src/config.ts b/src/config.ts
index 2aad2e931..8b61b5698 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -282,6 +282,7 @@ export const DEFAULT_SERVICE_SETTINGS = {
282 isMuted: false, 282 isMuted: false,
283 customIcon: false, 283 customIcon: false,
284 isDarkModeEnabled: false, 284 isDarkModeEnabled: false,
285 isProgressbarEnabled: true,
285 // Note: Do NOT change these default values. If they change, then the corresponding changes in the recipes needs to be done 286 // Note: Do NOT change these default values. If they change, then the corresponding changes in the recipes needs to be done
286 hasDirectMessages: true, 287 hasDirectMessages: true,
287 hasIndirectMessages: false, 288 hasIndirectMessages: false,
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js
index db8602c10..4615a9cdf 100644
--- a/src/containers/settings/EditServiceScreen.js
+++ b/src/containers/settings/EditServiceScreen.js
@@ -85,6 +85,10 @@ const messages = defineMessages({
85 id: 'settings.service.form.darkReaderSepia', 85 id: 'settings.service.form.darkReaderSepia',
86 defaultMessage: 'Dark Reader Sepia', 86 defaultMessage: 'Dark Reader Sepia',
87 }, 87 },
88 enableProgressbar: {
89 id: 'settings.service.form.enableProgressbar',
90 defaultMessage: 'Enable Progress bar',
91 },
88 trapLinkClicks: { 92 trapLinkClicks: {
89 id: 'settings.service.form.trapLinkClicks', 93 id: 'settings.service.form.trapLinkClicks',
90 defaultMessage: 'Open URLs within Ferdium', 94 defaultMessage: 'Open URLs within Ferdium',
@@ -244,6 +248,11 @@ class EditServiceScreen extends Component {
244 : undefined, 248 : undefined,
245 default: 10, 249 default: 10,
246 }, 250 },
251 isProgressbarEnabled: {
252 label: intl.formatMessage(messages.enableProgressbar),
253 value: service.isProgressbarEnabled,
254 default: DEFAULT_SERVICE_SETTINGS.isProgressbarEnabled,
255 },
247 spellcheckerLanguage: { 256 spellcheckerLanguage: {
248 label: intl.formatMessage(globalMessages.spellcheckerLanguage), 257 label: intl.formatMessage(globalMessages.spellcheckerLanguage),
249 value: service.spellcheckerLanguage, 258 value: service.spellcheckerLanguage,
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index fa54fcd35..297f941b9 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -323,6 +323,7 @@
323 "settings.service.form.enableDarkMode": "Enable Dark Mode", 323 "settings.service.form.enableDarkMode": "Enable Dark Mode",
324 "settings.service.form.enableHibernation": "Enable hibernation", 324 "settings.service.form.enableHibernation": "Enable hibernation",
325 "settings.service.form.enableNotification": "Enable notifications", 325 "settings.service.form.enableNotification": "Enable notifications",
326 "settings.service.form.enableProgressbar": "Enable Progress bar",
326 "settings.service.form.enableService": "Enable service", 327 "settings.service.form.enableService": "Enable service",
327 "settings.service.form.enableWakeUp": "Enable wake up", 328 "settings.service.form.enableWakeUp": "Enable wake up",
328 "settings.service.form.headlineAppearance": "Appearance", 329 "settings.service.form.headlineAppearance": "Appearance",
diff --git a/src/internal-server/app/Controllers/Http/ServiceController.js b/src/internal-server/app/Controllers/Http/ServiceController.js
index 4b26f4747..89091aa57 100644
--- a/src/internal-server/app/Controllers/Http/ServiceController.js
+++ b/src/internal-server/app/Controllers/Http/ServiceController.js
@@ -51,6 +51,7 @@ class ServiceController {
51 trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks, 51 trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks,
52 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted, 52 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted,
53 isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work. 53 isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work.
54 isProgressbarEnabled: DEFAULT_SERVICE_SETTINGS.isProgressbarEnabled,
54 spellcheckerLanguage: '', 55 spellcheckerLanguage: '',
55 order: DEFAULT_SERVICE_ORDER, 56 order: DEFAULT_SERVICE_ORDER,
56 customRecipe: false, 57 customRecipe: false,
@@ -79,6 +80,7 @@ class ServiceController {
79 isBadgeEnabled: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled, 80 isBadgeEnabled: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled,
80 trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks, 81 trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks,
81 isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work. 82 isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work.
83 isProgressbarEnabled: DEFAULT_SERVICE_SETTINGS.isProgressbarEnabled,
82 isEnabled: DEFAULT_SERVICE_SETTINGS.isEnabled, 84 isEnabled: DEFAULT_SERVICE_SETTINGS.isEnabled,
83 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted, 85 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted,
84 isNotificationEnabled: DEFAULT_SERVICE_SETTINGS.isNotificationEnabled, 86 isNotificationEnabled: DEFAULT_SERVICE_SETTINGS.isNotificationEnabled,
@@ -223,6 +225,7 @@ class ServiceController {
223 isBadgeEnabled: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled, 225 isBadgeEnabled: DEFAULT_SERVICE_SETTINGS.isBadgeEnabled,
224 trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks, 226 trapLinkClicks: DEFAULT_SERVICE_SETTINGS.trapLinkClicks,
225 isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work. 227 isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work.
228 isProgressbarEnabled: DEFAULT_SERVICE_SETTINGS.isProgressbarEnabled,
226 isEnabled: DEFAULT_SERVICE_SETTINGS.isEnabled, 229 isEnabled: DEFAULT_SERVICE_SETTINGS.isEnabled,
227 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted, 230 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted,
228 isNotificationEnabled: DEFAULT_SERVICE_SETTINGS.isNotificationEnabled, 231 isNotificationEnabled: DEFAULT_SERVICE_SETTINGS.isNotificationEnabled,
diff --git a/src/models/Service.js b/src/models/Service.js
index ae13a063d..1adb1998b 100644
--- a/src/models/Service.js
+++ b/src/models/Service.js
@@ -66,6 +66,8 @@ export default class Service {
66 66
67 @observable isDarkModeEnabled = false; 67 @observable isDarkModeEnabled = false;
68 68
69 @observable isProgressbarEnabled = true;
70
69 @observable darkReaderSettings = { brightness: 100, contrast: 90, sepia: 10 }; 71 @observable darkReaderSettings = { brightness: 100, contrast: 90, sepia: 10 };
70 72
71 @observable spellcheckerLanguage = null; 73 @observable spellcheckerLanguage = null;
@@ -155,6 +157,10 @@ export default class Service {
155 data.darkReaderSettings, 157 data.darkReaderSettings,
156 this.darkReaderSettings, 158 this.darkReaderSettings,
157 ); 159 );
160 this.isProgressbarEnabled = ifUndefinedBoolean(
161 data.isProgressbarEnabled,
162 this.isProgressbarEnabled,
163 );
158 this.hasCustomUploadedIcon = ifUndefinedBoolean( 164 this.hasCustomUploadedIcon = ifUndefinedBoolean(
159 data.hasCustomIcon, 165 data.hasCustomIcon,
160 this.hasCustomUploadedIcon, 166 this.hasCustomUploadedIcon,
@@ -210,6 +216,7 @@ export default class Service {
210 id: this.id, 216 id: this.id,
211 spellcheckerLanguage: this.spellcheckerLanguage, 217 spellcheckerLanguage: this.spellcheckerLanguage,
212 isDarkModeEnabled: this.isDarkModeEnabled, 218 isDarkModeEnabled: this.isDarkModeEnabled,
219 isProgressbarEnabled: this.isProgressbarEnabled,
213 darkReaderSettings: this.darkReaderSettings, 220 darkReaderSettings: this.darkReaderSettings,
214 team: this.team, 221 team: this.team,
215 url: this.url, 222 url: this.url,
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js
index a9c92fe87..2d85b9ffe 100644
--- a/src/stores/AppStore.js
+++ b/src/stores/AppStore.js
@@ -295,6 +295,7 @@ export default class AppStore extends Store {
295 isHibernating: service.isHibernating, 295 isHibernating: service.isHibernating,
296 hasCrashed: service.hasCrashed, 296 hasCrashed: service.hasCrashed,
297 isDarkModeEnabled: service.isDarkModeEnabled, 297 isDarkModeEnabled: service.isDarkModeEnabled,
298 isProgressbarEnabled: service.isProgressbarEnabled,
298 })), 299 })),
299 messages: this.stores.globalError.messages, 300 messages: this.stores.globalError.messages,
300 workspaces: this.stores.workspaces.workspaces.map(workspace => ({ 301 workspaces: this.stores.workspaces.workspaces.map(workspace => ({
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 6b1ceb51f..999b48d92 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -414,6 +414,7 @@ export default class ServicesStore extends Store {
414 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted, 414 isMuted: DEFAULT_SERVICE_SETTINGS.isMuted,
415 customIcon: DEFAULT_SERVICE_SETTINGS.customIcon, 415 customIcon: DEFAULT_SERVICE_SETTINGS.customIcon,
416 isDarkModeEnabled: DEFAULT_SERVICE_SETTINGS.isDarkModeEnabled, 416 isDarkModeEnabled: DEFAULT_SERVICE_SETTINGS.isDarkModeEnabled,
417 isProgressbarEnabled: DEFAULT_SERVICE_SETTINGS.isProgressbarEnabled,
417 spellcheckerLanguage: 418 spellcheckerLanguage:
418 SPELLCHECKER_LOCALES[this.stores.settings.app.spellcheckerLanguage], 419 SPELLCHECKER_LOCALES[this.stores.settings.app.spellcheckerLanguage],
419 userAgentPref: '', 420 userAgentPref: '',