diff options
Diffstat (limited to 'src/components/settings/recipes')
-rw-r--r-- | src/components/settings/recipes/RecipeItem.js | 3 | ||||
-rw-r--r-- | src/components/settings/recipes/RecipesDashboard.js | 50 |
2 files changed, 25 insertions, 28 deletions
diff --git a/src/components/settings/recipes/RecipeItem.js b/src/components/settings/recipes/RecipeItem.js index 1e910e6dc..df5b42222 100644 --- a/src/components/settings/recipes/RecipeItem.js +++ b/src/components/settings/recipes/RecipeItem.js | |||
@@ -4,7 +4,6 @@ import { observer } from 'mobx-react'; | |||
4 | 4 | ||
5 | import RecipePreviewModel from '../../../models/RecipePreview'; | 5 | import RecipePreviewModel from '../../../models/RecipePreview'; |
6 | 6 | ||
7 | @observer | ||
8 | class RecipeItem extends Component { | 7 | class RecipeItem extends Component { |
9 | static propTypes = { | 8 | static propTypes = { |
10 | recipe: PropTypes.instanceOf(RecipePreviewModel).isRequired, | 9 | recipe: PropTypes.instanceOf(RecipePreviewModel).isRequired, |
@@ -31,4 +30,4 @@ class RecipeItem extends Component { | |||
31 | } | 30 | } |
32 | } | 31 | } |
33 | 32 | ||
34 | export default RecipeItem; | 33 | export default observer(RecipeItem); |
diff --git a/src/components/settings/recipes/RecipesDashboard.js b/src/components/settings/recipes/RecipesDashboard.js index dcf7a4784..0ba295369 100644 --- a/src/components/settings/recipes/RecipesDashboard.js +++ b/src/components/settings/recipes/RecipesDashboard.js | |||
@@ -51,7 +51,8 @@ const messages = defineMessages({ | |||
51 | }, | 51 | }, |
52 | customRecipeIntro: { | 52 | customRecipeIntro: { |
53 | id: 'settings.recipes.customService.intro', | 53 | id: 'settings.recipes.customService.intro', |
54 | defaultMessage: 'To add a custom service, copy the service recipe to:', | 54 | defaultMessage: |
55 | 'To add a custom service, copy the service recipe folder inside:', | ||
55 | }, | 56 | }, |
56 | openFolder: { | 57 | openFolder: { |
57 | id: 'settings.recipes.customService.openFolder', | 58 | id: 'settings.recipes.customService.openFolder', |
@@ -104,8 +105,6 @@ const styles = { | |||
104 | }, | 105 | }, |
105 | }; | 106 | }; |
106 | 107 | ||
107 | @injectSheet(styles) | ||
108 | @observer | ||
109 | class RecipesDashboard extends Component { | 108 | class RecipesDashboard extends Component { |
110 | static propTypes = { | 109 | static propTypes = { |
111 | recipes: MobxPropTypes.arrayOrObservableArray.isRequired, | 110 | recipes: MobxPropTypes.arrayOrObservableArray.isRequired, |
@@ -236,28 +235,6 @@ class RecipesDashboard extends Component { | |||
236 | <H3>{intl.formatMessage(messages.headlineCommunityRecipes)}</H3> | 235 | <H3>{intl.formatMessage(messages.headlineCommunityRecipes)}</H3> |
237 | )} | 236 | )} |
238 | <div className="recipes__list"> | 237 | <div className="recipes__list"> |
239 | {recipes.length === 0 && recipeFilter !== 'dev' && ( | ||
240 | <div className="align-middle settings__empty-state"> | ||
241 | <span className="emoji"> | ||
242 | <img src="./assets/images/emoji/dontknow.png" alt="" /> | ||
243 | </span> | ||
244 | |||
245 | <p className="settings__empty-state-text"> | ||
246 | {intl.formatMessage(messages.nothingFound)} | ||
247 | </p> | ||
248 | |||
249 | <RecipeItem | ||
250 | key={customWebsiteRecipe.id} | ||
251 | recipe={customWebsiteRecipe} | ||
252 | onClick={() => | ||
253 | isLoggedIn && | ||
254 | showAddServiceInterface({ | ||
255 | recipeId: customWebsiteRecipe.id, | ||
256 | }) | ||
257 | } | ||
258 | /> | ||
259 | </div> | ||
260 | )} | ||
261 | {communityRecipes.map(recipe => ( | 238 | {communityRecipes.map(recipe => ( |
262 | <RecipeItem | 239 | <RecipeItem |
263 | key={recipe.id} | 240 | key={recipe.id} |
@@ -269,6 +246,25 @@ class RecipesDashboard extends Component { | |||
269 | /> | 246 | /> |
270 | ))} | 247 | ))} |
271 | </div> | 248 | </div> |
249 | {recipes.length === 0 && recipeFilter !== 'dev' && ( | ||
250 | <div className="align-middle settings__empty-state"> | ||
251 | {customWebsiteRecipe && customWebsiteRecipe.id && ( | ||
252 | <RecipeItem | ||
253 | key={customWebsiteRecipe.id} | ||
254 | recipe={customWebsiteRecipe} | ||
255 | onClick={() => | ||
256 | isLoggedIn && | ||
257 | showAddServiceInterface({ | ||
258 | recipeId: customWebsiteRecipe.id, | ||
259 | }) | ||
260 | } | ||
261 | /> | ||
262 | )} | ||
263 | <p className="settings__empty-state-text"> | ||
264 | {intl.formatMessage(messages.nothingFound)} | ||
265 | </p> | ||
266 | </div> | ||
267 | )} | ||
272 | {recipeFilter === 'dev' && devRecipes.length > 0 && ( | 268 | {recipeFilter === 'dev' && devRecipes.length > 0 && ( |
273 | <div className={classes.devRecipeList}> | 269 | <div className={classes.devRecipeList}> |
274 | <H3>{intl.formatMessage(messages.headlineDevRecipes)}</H3> | 270 | <H3>{intl.formatMessage(messages.headlineDevRecipes)}</H3> |
@@ -294,4 +290,6 @@ class RecipesDashboard extends Component { | |||
294 | } | 290 | } |
295 | } | 291 | } |
296 | 292 | ||
297 | export default injectIntl(RecipesDashboard); | 293 | export default injectIntl( |
294 | injectSheet(styles, { injectTheme: true })(observer(RecipesDashboard)), | ||
295 | ); | ||