aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
authorLibravatar Vijay Aravamudhan <vraravam@users.noreply.github.com>2023-05-27 18:48:38 +0530
committerLibravatar GitHub <noreply@github.com>2023-05-27 18:48:38 +0530
commiteaa8e80efadc55d42462af0a5381f2552acc3c88 (patch)
treeb54868af925e2db3fc6d5444475cd14bd3255f1c /src/components
parentupdate react version to 18.2.0 and it related changes (diff)
downloadferdium-app-eaa8e80efadc55d42462af0a5381f2552acc3c88.tar.gz
ferdium-app-eaa8e80efadc55d42462af0a5381f2552acc3c88.tar.zst
ferdium-app-eaa8e80efadc55d42462af0a5381f2552acc3c88.zip
Expose "Clear service cache" in the service settings screen and the sidebar context menu for individual services (#1053)
Diffstat (limited to 'src/components')
-rw-r--r--src/components/layout/Sidebar.tsx2
-rw-r--r--src/components/services/tabs/TabBarSortableList.tsx3
-rw-r--r--src/components/services/tabs/TabItem.tsx7
-rw-r--r--src/components/services/tabs/Tabbar.tsx3
-rw-r--r--src/components/settings/services/EditServiceForm.tsx12
-rw-r--r--src/components/settings/settings/EditSettingsForm.tsx6
6 files changed, 28 insertions, 5 deletions
diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx
index 4eb18485f..fac424477 100644
--- a/src/components/layout/Sidebar.tsx
+++ b/src/components/layout/Sidebar.tsx
@@ -98,6 +98,7 @@ interface IProps extends WrappedComponentProps {
98 toggleAudio: (args: { serviceId: string }) => void; 98 toggleAudio: (args: { serviceId: string }) => void;
99 toggleDarkMode: (args: { serviceId: string }) => void; 99 toggleDarkMode: (args: { serviceId: string }) => void;
100 deleteService: (args: { serviceId: string }) => void; 100 deleteService: (args: { serviceId: string }) => void;
101 clearCache: (args: { serviceId: string }) => void;
101 hibernateService: (args: { serviceId: string }) => void; 102 hibernateService: (args: { serviceId: string }) => void;
102 wakeUpService: (args: { serviceId: string }) => void; 103 wakeUpService: (args: { serviceId: string }) => void;
103 updateService: (args: { 104 updateService: (args: {
@@ -204,6 +205,7 @@ class Sidebar extends Component<IProps, IState> {
204 toggleDarkMode={this.props.toggleDarkMode} 205 toggleDarkMode={this.props.toggleDarkMode}
205 deleteService={this.props.deleteService} 206 deleteService={this.props.deleteService}
206 updateService={this.props.updateService} 207 updateService={this.props.updateService}
208 clearCache={this.props.clearCache}
207 hibernateService={this.props.hibernateService} 209 hibernateService={this.props.hibernateService}
208 wakeUpService={this.props.wakeUpService} 210 wakeUpService={this.props.wakeUpService}
209 /> 211 />
diff --git a/src/components/services/tabs/TabBarSortableList.tsx b/src/components/services/tabs/TabBarSortableList.tsx
index bb889ebef..5f711c30d 100644
--- a/src/components/services/tabs/TabBarSortableList.tsx
+++ b/src/components/services/tabs/TabBarSortableList.tsx
@@ -17,6 +17,7 @@ interface IProps {
17 toggleAudio: (args: { serviceId: string }) => void; 17 toggleAudio: (args: { serviceId: string }) => void;
18 toggleDarkMode: (args: { serviceId: string }) => void; 18 toggleDarkMode: (args: { serviceId: string }) => void;
19 deleteService: (args: { serviceId: string }) => void; 19 deleteService: (args: { serviceId: string }) => void;
20 clearCache: (args: { serviceId: string }) => void;
20 disableService: (args: { serviceId: string }) => void; 21 disableService: (args: { serviceId: string }) => void;
21 enableService: (args: { serviceId: string }) => void; 22 enableService: (args: { serviceId: string }) => void;
22 hibernateService: (args: { serviceId: string }) => void; 23 hibernateService: (args: { serviceId: string }) => void;
@@ -34,6 +35,7 @@ class TabBarSortableList extends Component<IProps> {
34 toggleAudio, 35 toggleAudio,
35 toggleDarkMode, 36 toggleDarkMode,
36 deleteService, 37 deleteService,
38 clearCache,
37 disableService, 39 disableService,
38 enableService, 40 enableService,
39 hibernateService, 41 hibernateService,
@@ -61,6 +63,7 @@ class TabBarSortableList extends Component<IProps> {
61 toggleAudio={() => toggleAudio({ serviceId: service.id })} 63 toggleAudio={() => toggleAudio({ serviceId: service.id })}
62 toggleDarkMode={() => toggleDarkMode({ serviceId: service.id })} 64 toggleDarkMode={() => toggleDarkMode({ serviceId: service.id })}
63 deleteService={() => deleteService({ serviceId: service.id })} 65 deleteService={() => deleteService({ serviceId: service.id })}
66 clearCache={() => clearCache({ serviceId: service.id })}
64 disableService={() => disableService({ serviceId: service.id })} 67 disableService={() => disableService({ serviceId: service.id })}
65 enableService={() => enableService({ serviceId: service.id })} 68 enableService={() => enableService({ serviceId: service.id })}
66 hibernateService={() => hibernateService({ serviceId: service.id })} 69 hibernateService={() => hibernateService({ serviceId: service.id })}
diff --git a/src/components/services/tabs/TabItem.tsx b/src/components/services/tabs/TabItem.tsx
index 2ed595919..289597db9 100644
--- a/src/components/services/tabs/TabItem.tsx
+++ b/src/components/services/tabs/TabItem.tsx
@@ -129,6 +129,7 @@ interface IProps extends WrappedComponentProps, WithStylesProps<typeof styles> {
129 toggleDarkMode: () => void; 129 toggleDarkMode: () => void;
130 openSettings: (args: { path: string }) => void; 130 openSettings: (args: { path: string }) => void;
131 deleteService: () => void; 131 deleteService: () => void;
132 clearCache: () => void;
132 disableService: () => void; 133 disableService: () => void;
133 enableService: () => void; 134 enableService: () => void;
134 hibernateService: () => void; 135 hibernateService: () => void;
@@ -220,6 +221,7 @@ class TabItem extends Component<IProps, IState> {
220 toggleAudio, 221 toggleAudio,
221 toggleDarkMode, 222 toggleDarkMode,
222 deleteService, 223 deleteService,
224 clearCache,
223 disableService, 225 disableService,
224 enableService, 226 enableService,
225 hibernateService, 227 hibernateService,
@@ -298,6 +300,11 @@ class TabItem extends Component<IProps, IState> {
298 enabled: service.isEnabled && service.canHibernate, 300 enabled: service.isEnabled && service.canHibernate,
299 }, 301 },
300 { 302 {
303 label: intl.formatMessage(globalMessages.clearCache),
304 click: () => clearCache(),
305 enabled: service.isEnabled,
306 },
307 {
301 type: 'separator', 308 type: 'separator',
302 }, 309 },
303 { 310 {
diff --git a/src/components/services/tabs/Tabbar.tsx b/src/components/services/tabs/Tabbar.tsx
index e3b5a7ba9..f09877b2f 100644
--- a/src/components/services/tabs/Tabbar.tsx
+++ b/src/components/services/tabs/Tabbar.tsx
@@ -20,6 +20,7 @@ interface IProps {
20 toggleAudio: (args: { serviceId: string }) => void; 20 toggleAudio: (args: { serviceId: string }) => void;
21 toggleDarkMode: (args: { serviceId: string }) => void; 21 toggleDarkMode: (args: { serviceId: string }) => void;
22 deleteService: (args: { serviceId: string }) => void; 22 deleteService: (args: { serviceId: string }) => void;
23 clearCache: (args: { serviceId: string }) => void;
23 hibernateService: (args: { serviceId: string }) => void; 24 hibernateService: (args: { serviceId: string }) => void;
24 wakeUpService: (args: { serviceId: string }) => void; 25 wakeUpService: (args: { serviceId: string }) => void;
25 updateService: (args: { 26 updateService: (args: {
@@ -86,6 +87,7 @@ class TabBar extends Component<IProps> {
86 toggleAudio, 87 toggleAudio,
87 toggleDarkMode, 88 toggleDarkMode,
88 deleteService, 89 deleteService,
90 clearCache,
89 useHorizontalStyle, 91 useHorizontalStyle,
90 showMessageBadgeWhenMutedSetting, 92 showMessageBadgeWhenMutedSetting,
91 showServiceNameSetting, 93 showServiceNameSetting,
@@ -108,6 +110,7 @@ class TabBar extends Component<IProps> {
108 toggleAudio={toggleAudio} 110 toggleAudio={toggleAudio}
109 toggleDarkMode={toggleDarkMode} 111 toggleDarkMode={toggleDarkMode}
110 deleteService={deleteService} 112 deleteService={deleteService}
113 clearCache={clearCache}
111 disableService={args => this.disableService(args)} 114 disableService={args => this.disableService(args)}
112 enableService={args => this.enableService(args)} 115 enableService={args => this.enableService(args)}
113 hibernateService={args => this.hibernateService(args)} 116 hibernateService={args => this.hibernateService(args)}
diff --git a/src/components/settings/services/EditServiceForm.tsx b/src/components/settings/services/EditServiceForm.tsx
index c04a53b50..520cb3c46 100644
--- a/src/components/settings/services/EditServiceForm.tsx
+++ b/src/components/settings/services/EditServiceForm.tsx
@@ -156,6 +156,7 @@ interface IProps extends WrappedComponentProps {
156 form: Form; 156 form: Form;
157 onSubmit: (...args: any[]) => void; 157 onSubmit: (...args: any[]) => void;
158 onDelete: () => void; 158 onDelete: () => void;
159 onClearCache: () => void;
159 openRecipeFile: (recipeFile: string) => void; 160 openRecipeFile: (recipeFile: string) => void;
160 isSaving: boolean; 161 isSaving: boolean;
161 isDeleting: boolean; 162 isDeleting: boolean;
@@ -223,6 +224,7 @@ class EditServiceForm extends Component<IProps, IState> {
223 isSaving, 224 isSaving,
224 isDeleting, 225 isDeleting,
225 onDelete, 226 onDelete,
227 onClearCache,
226 openRecipeFile, 228 openRecipeFile,
227 isProxyFeatureEnabled, 229 isProxyFeatureEnabled,
228 intl, 230 intl,
@@ -246,6 +248,15 @@ class EditServiceForm extends Component<IProps, IState> {
246 /> 248 />
247 ); 249 );
248 250
251 const clearCacheButton = (
252 <Button
253 buttonType="secondary"
254 label={intl.formatMessage(globalMessages.clearCache)}
255 className="settings__open-settings-cache-button"
256 onClick={onClearCache}
257 />
258 );
259
249 let activeTabIndex = 0; 260 let activeTabIndex = 0;
250 if (recipe.hasHostedOption && service?.team) { 261 if (recipe.hasHostedOption && service?.team) {
251 activeTabIndex = 1; 262 activeTabIndex = 1;
@@ -502,6 +513,7 @@ class EditServiceForm extends Component<IProps, IState> {
502 <div className="settings__controls"> 513 <div className="settings__controls">
503 {/* Delete Button */} 514 {/* Delete Button */}
504 <div>{action === 'edit' && deleteButton}</div> 515 <div>{action === 'edit' && deleteButton}</div>
516 <div>{action === 'edit' && clearCacheButton}</div>
505 517
506 {/* Save Button */} 518 {/* Save Button */}
507 {isSaving || isValidatingCustomUrl ? ( 519 {isSaving || isValidatingCustomUrl ? (
diff --git a/src/components/settings/settings/EditSettingsForm.tsx b/src/components/settings/settings/EditSettingsForm.tsx
index 49798dd92..39c25f529 100644
--- a/src/components/settings/settings/EditSettingsForm.tsx
+++ b/src/components/settings/settings/EditSettingsForm.tsx
@@ -189,10 +189,6 @@ const messages = defineMessages({
189 id: 'settings.app.cacheNotCleared', 189 id: 'settings.app.cacheNotCleared',
190 defaultMessage: "Couldn't clear all cache", 190 defaultMessage: "Couldn't clear all cache",
191 }, 191 },
192 buttonClearAllCache: {
193 id: 'settings.app.buttonClearAllCache',
194 defaultMessage: 'Clear cache',
195 },
196 subheadlineFerdiumProfile: { 192 subheadlineFerdiumProfile: {
197 id: 'settings.app.subheadlineFerdiumProfile', 193 id: 'settings.app.subheadlineFerdiumProfile',
198 defaultMessage: 'Ferdium Profile', 194 defaultMessage: 'Ferdium Profile',
@@ -974,7 +970,7 @@ class EditSettingsForm extends Component<IProps, IState> {
974 <div className="settings__open-settings-cache-container"> 970 <div className="settings__open-settings-cache-container">
975 <Button 971 <Button
976 buttonType="secondary" 972 buttonType="secondary"
977 label={intl.formatMessage(messages.buttonClearAllCache)} 973 label={intl.formatMessage(globalMessages.clearCache)}
978 className="settings__open-settings-cache-button" 974 className="settings__open-settings-cache-button"
979 onClick={() => { 975 onClick={() => {
980 onClearAllCache(); 976 onClearAllCache();