aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Vishnu017 <39431453+Vishnu017@users.noreply.github.com>2021-10-26 20:37:56 +0530
committerLibravatar GitHub <noreply@github.com>2021-10-26 20:37:56 +0530
commit955f2abeb2c093515e6dd0026b4072145a2be6b6 (patch)
tree265497cf116ccf1d11fb869a95fcabcf0baacf18
parentdocs: add Vishnu017 as a contributor for code (#2142) [skip ci] (diff)
downloadferdium-app-955f2abeb2c093515e6dd0026b4072145a2be6b6.tar.gz
ferdium-app-955f2abeb2c093515e6dd0026b4072145a2be6b6.tar.zst
ferdium-app-955f2abeb2c093515e6dd0026b4072145a2be6b6.zip
Add feature to display service name under service icon when the toggle for it is enabled in the settings (#2136)
Co-authored-by: AnjithPaul <anjithpaul.mec@gmail.com>
-rw-r--r--src/components/layout/Sidebar.js1
-rw-r--r--src/components/services/tabs/TabBarSortableList.js3
-rw-r--r--src/components/services/tabs/TabItem.js11
-rw-r--r--src/components/services/tabs/Tabbar.js3
-rw-r--r--src/components/settings/settings/EditSettingsForm.js1
-rw-r--r--src/config.ts1
-rw-r--r--src/containers/layout/AppLayoutContainer.js3
-rw-r--r--src/containers/settings/EditSettingsScreen.js10
-rw-r--r--src/i18n/locales/en-US.json1
-rw-r--r--src/styles/tabs.scss18
10 files changed, 50 insertions, 2 deletions
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js
index fc33a3c58..2bae57648 100644
--- a/src/components/layout/Sidebar.js
+++ b/src/components/layout/Sidebar.js
@@ -69,6 +69,7 @@ class Sidebar extends Component {
69 toggleAudio: PropTypes.func.isRequired, 69 toggleAudio: PropTypes.func.isRequired,
70 toggleDarkMode: PropTypes.func.isRequired, 70 toggleDarkMode: PropTypes.func.isRequired,
71 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, 71 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired,
72 showServiceNameSetting: PropTypes.bool.isRequired,
72 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, 73 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired,
73 deleteService: PropTypes.func.isRequired, 74 deleteService: PropTypes.func.isRequired,
74 updateService: PropTypes.func.isRequired, 75 updateService: PropTypes.func.isRequired,
diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js
index 69a12e982..3049b6efa 100644
--- a/src/components/services/tabs/TabBarSortableList.js
+++ b/src/components/services/tabs/TabBarSortableList.js
@@ -21,6 +21,7 @@ class TabBarSortableList extends Component {
21 hibernateService: PropTypes.func.isRequired, 21 hibernateService: PropTypes.func.isRequired,
22 wakeUpService: PropTypes.func.isRequired, 22 wakeUpService: PropTypes.func.isRequired,
23 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, 23 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired,
24 showServiceNameSetting: PropTypes.bool.isRequired,
24 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, 25 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired,
25 }; 26 };
26 27
@@ -39,6 +40,7 @@ class TabBarSortableList extends Component {
39 wakeUpService, 40 wakeUpService,
40 openSettings, 41 openSettings,
41 showMessageBadgeWhenMutedSetting, 42 showMessageBadgeWhenMutedSetting,
43 showServiceNameSetting,
42 showMessageBadgesEvenWhenMuted, 44 showMessageBadgesEvenWhenMuted,
43 } = this.props; 45 } = this.props;
44 46
@@ -65,6 +67,7 @@ class TabBarSortableList extends Component {
65 openSettings={openSettings} 67 openSettings={openSettings}
66 showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting} 68 showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting}
67 showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted} 69 showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted}
70 showServiceNameSetting={showServiceNameSetting}
68 /> 71 />
69 ))} 72 ))}
70 </ul> 73 </ul>
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js
index 455d2549a..3ea6c5da2 100644
--- a/src/components/services/tabs/TabItem.js
+++ b/src/components/services/tabs/TabItem.js
@@ -132,6 +132,7 @@ class TabItem extends Component {
132 hibernateService: PropTypes.func.isRequired, 132 hibernateService: PropTypes.func.isRequired,
133 wakeUpService: PropTypes.func.isRequired, 133 wakeUpService: PropTypes.func.isRequired,
134 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, 134 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired,
135 showServiceNameSetting: PropTypes.bool.isRequired,
135 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, 136 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired,
136 stores: PropTypes.shape({ 137 stores: PropTypes.shape({
137 settings: PropTypes.instanceOf(SettingsStore).isRequired, 138 settings: PropTypes.instanceOf(SettingsStore).isRequired,
@@ -219,6 +220,7 @@ class TabItem extends Component {
219 wakeUpService, 220 wakeUpService,
220 openSettings, 221 openSettings,
221 showMessageBadgeWhenMutedSetting, 222 showMessageBadgeWhenMutedSetting,
223 showServiceNameSetting,
222 showMessageBadgesEvenWhenMuted, 224 showMessageBadgesEvenWhenMuted,
223 } = this.props; 225 } = this.props;
224 const { intl } = this.props; 226 const { intl } = this.props;
@@ -347,6 +349,7 @@ class TabItem extends Component {
347 'is-active': service.isActive, 349 'is-active': service.isActive,
348 'has-custom-icon': service.hasCustomIcon, 350 'has-custom-icon': service.hasCustomIcon,
349 'is-disabled': !service.isEnabled, 351 'is-disabled': !service.isEnabled,
352 'is-label-enabled': showServiceNameSetting,
350 })} 353 })}
351 onClick={clickHandler} 354 onClick={clickHandler}
352 onContextMenu={() => menu.popup()} 355 onContextMenu={() => menu.popup()}
@@ -356,8 +359,12 @@ class TabItem extends Component {
356 : '' 359 : ''
357 }`} 360 }`}
358 > 361 >
359 362
360 <img src={service.icon} className="tab-item__icon" alt="" /> 363 {showServiceNameSetting? <div>
364 <img src={service.icon} className="tab-item__icon" alt="" />
365 <span className="tab-item__label">{service.name}</span>
366 </div> : <img src={service.icon} className="tab-item__icon" alt="" />}
367
361 {notificationBadge} 368 {notificationBadge}
362 {errorBadge} 369 {errorBadge}
363 {IS_SERVICE_DEBUGGING_ENABLED && ( 370 {IS_SERVICE_DEBUGGING_ENABLED && (
diff --git a/src/components/services/tabs/Tabbar.js b/src/components/services/tabs/Tabbar.js
index 4ab0e8611..94d6f33c1 100644
--- a/src/components/services/tabs/Tabbar.js
+++ b/src/components/services/tabs/Tabbar.js
@@ -23,6 +23,7 @@ class TabBar extends Component {
23 wakeUpService: PropTypes.func.isRequired, 23 wakeUpService: PropTypes.func.isRequired,
24 useVerticalStyle: PropTypes.bool.isRequired, 24 useVerticalStyle: PropTypes.bool.isRequired,
25 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, 25 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired,
26 showServiceNameSetting: PropTypes.bool.isRequired,
26 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, 27 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired,
27 }; 28 };
28 29
@@ -82,6 +83,7 @@ class TabBar extends Component {
82 deleteService, 83 deleteService,
83 useVerticalStyle, 84 useVerticalStyle,
84 showMessageBadgeWhenMutedSetting, 85 showMessageBadgeWhenMutedSetting,
86 showServiceNameSetting,
85 showMessageBadgesEvenWhenMuted, 87 showMessageBadgesEvenWhenMuted,
86 } = this.props; 88 } = this.props;
87 89
@@ -110,6 +112,7 @@ class TabBar extends Component {
110 lockAxis={axis} 112 lockAxis={axis}
111 helperClass="is-reordering" 113 helperClass="is-reordering"
112 showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting} 114 showMessageBadgeWhenMutedSetting={showMessageBadgeWhenMutedSetting}
115 showServiceNameSetting={showServiceNameSetting}
113 showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted} 116 showMessageBadgesEvenWhenMuted={showMessageBadgesEvenWhenMuted}
114 /> 117 />
115 </div> 118 </div>
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 7b028b757..60bd91493 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -511,6 +511,7 @@ class EditSettingsForm extends Component {
511 {this.state.activeSetttingsTab === 'appearance' && ( 511 {this.state.activeSetttingsTab === 'appearance' && (
512 <div> 512 <div>
513 <Toggle field={form.$('showDisabledServices')} /> 513 <Toggle field={form.$('showDisabledServices')} />
514 <Toggle field={form.$('showServiceName')} />
514 <Toggle field={form.$('showMessageBadgeWhenMuted')} /> 515 <Toggle field={form.$('showMessageBadgeWhenMuted')} />
515 516
516 {isMac && <Toggle field={form.$('showDragArea')} />} 517 {isMac && <Toggle field={form.$('showDragArea')} />}
diff --git a/src/config.ts b/src/config.ts
index dfedbe6f5..15567bf66 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -193,6 +193,7 @@ export const DEFAULT_APP_SETTINGS = {
193 clipboardNotifications: true, 193 clipboardNotifications: true,
194 notifyTaskBarOnMessage: false, 194 notifyTaskBarOnMessage: false,
195 showDisabledServices: true, 195 showDisabledServices: true,
196 showServiceName: false,
196 showMessageBadgeWhenMuted: true, 197 showMessageBadgeWhenMuted: true,
197 showDragArea: false, 198 showDragArea: false,
198 enableSpellchecking: true, 199 enableSpellchecking: true,
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js
index 0d566525d..6b6f97e46 100644
--- a/src/containers/layout/AppLayoutContainer.js
+++ b/src/containers/layout/AppLayoutContainer.js
@@ -122,6 +122,9 @@ class AppLayoutContainer extends Component {
122 showMessageBadgeWhenMutedSetting={ 122 showMessageBadgeWhenMutedSetting={
123 settings.all.app.showMessageBadgeWhenMuted 123 settings.all.app.showMessageBadgeWhenMuted
124 } 124 }
125 showServiceNameSetting={
126 settings.all.app.showServiceName
127 }
125 showMessageBadgesEvenWhenMuted={ui.showMessageBadgesEvenWhenMuted} 128 showMessageBadgesEvenWhenMuted={ui.showMessageBadgesEvenWhenMuted}
126 isTodosServiceActive={services.isTodosServiceActive || false} 129 isTodosServiceActive={services.isTodosServiceActive || false}
127 /> 130 />
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index de0714870..76c525045 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -197,6 +197,10 @@ const messages = defineMessages({
197 id: 'settings.app.form.showDisabledServices', 197 id: 'settings.app.form.showDisabledServices',
198 defaultMessage: 'Display disabled services tabs', 198 defaultMessage: 'Display disabled services tabs',
199 }, 199 },
200 showServiceName: {
201 id: 'settings.app.form.showServiceName',
202 defaultMessage: 'Display service name under the icon',
203 },
200 showMessageBadgeWhenMuted: { 204 showMessageBadgeWhenMuted: {
201 id: 'settings.app.form.showMessagesBadgesWhenMuted', 205 id: 'settings.app.form.showMessagesBadgesWhenMuted',
202 defaultMessage: 'Show unread message badge when notifications are disabled', 206 defaultMessage: 'Show unread message badge when notifications are disabled',
@@ -301,6 +305,7 @@ class EditSettingsScreen extends Component {
301 settingsData.enableGlobalHideShortcut, 305 settingsData.enableGlobalHideShortcut,
302 ), 306 ),
303 showDisabledServices: Boolean(settingsData.showDisabledServices), 307 showDisabledServices: Boolean(settingsData.showDisabledServices),
308 showServiceName: Boolean(settingsData.showServiceName),
304 darkMode: Boolean(settingsData.darkMode), 309 darkMode: Boolean(settingsData.darkMode),
305 adaptableDarkMode: Boolean(settingsData.adaptableDarkMode), 310 adaptableDarkMode: Boolean(settingsData.adaptableDarkMode),
306 universalDarkMode: Boolean(settingsData.universalDarkMode), 311 universalDarkMode: Boolean(settingsData.universalDarkMode),
@@ -558,6 +563,11 @@ class EditSettingsScreen extends Component {
558 value: settings.all.app.showDisabledServices, 563 value: settings.all.app.showDisabledServices,
559 default: DEFAULT_APP_SETTINGS.showDisabledServices, 564 default: DEFAULT_APP_SETTINGS.showDisabledServices,
560 }, 565 },
566 showServiceName: {
567 label: intl.formatMessage(messages.showServiceName),
568 value: settings.all.app.showServiceName,
569 default: DEFAULT_APP_SETTINGS.showServiceName,
570 },
561 showMessageBadgeWhenMuted: { 571 showMessageBadgeWhenMuted: {
562 label: intl.formatMessage(messages.showMessageBadgeWhenMuted), 572 label: intl.formatMessage(messages.showMessageBadgeWhenMuted),
563 value: settings.all.app.showMessageBadgeWhenMuted, 573 value: settings.all.app.showMessageBadgeWhenMuted,
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index d5cf072f6..2544d2a00 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -241,6 +241,7 @@
241 "settings.app.form.showDisabledServices": "Display disabled services tabs", 241 "settings.app.form.showDisabledServices": "Display disabled services tabs",
242 "settings.app.form.showDragArea": "Show draggable area on window", 242 "settings.app.form.showDragArea": "Show draggable area on window",
243 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled", 243 "settings.app.form.showMessagesBadgesWhenMuted": "Show unread message badge when notifications are disabled",
244 "settings.app.form.showServiceName": "Display service name under the icon",
244 "settings.app.form.splitMode": "Enable Split View Mode", 245 "settings.app.form.splitMode": "Enable Split View Mode",
245 "settings.app.form.startMinimized": "Start minimized", 246 "settings.app.form.startMinimized": "Start minimized",
246 "settings.app.form.universalDarkMode": "Enable universal Dark Mode", 247 "settings.app.form.universalDarkMode": "Enable universal Dark Mode",
diff --git a/src/styles/tabs.scss b/src/styles/tabs.scss
index b7f1a9e11..ab7cee08d 100644
--- a/src/styles/tabs.scss
+++ b/src/styles/tabs.scss
@@ -1,6 +1,8 @@
1@import './config.scss'; 1@import './config.scss';
2 2
3.theme__dark .tab-item { 3.theme__dark .tab-item {
4 color: $dark-theme-text-color;
5
4 &.is-active { 6 &.is-active {
5 background: $dark-theme-gray; 7 background: $dark-theme-gray;
6 8
@@ -54,6 +56,22 @@
54 } 56 }
55 } 57 }
56 58
59 &.is-label-enabled{
60 height: min-content;
61 overflow: hidden;
62 padding-top: 8px;
63 padding-bottom: 8px;
64 }
65
66 .tab-item__label {
67 display: block;
68 margin-top: 6px;
69 font-size: 11px;
70 padding-left: 4px;
71 padding-right: 4px;
72 line-height: 13px;
73 }
74
57 &.is-disabled .tab-item__icon { 75 &.is-disabled .tab-item__icon {
58 filter: grayscale(100%) opacity(0.2); 76 filter: grayscale(100%) opacity(0.2);
59 } 77 }