aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/settings/recipes/RecipesDashboard.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/settings/recipes/RecipesDashboard.js')
-rw-r--r--src/components/settings/recipes/RecipesDashboard.js58
1 files changed, 23 insertions, 35 deletions
diff --git a/src/components/settings/recipes/RecipesDashboard.js b/src/components/settings/recipes/RecipesDashboard.js
index b4e2fc05c..e82324cff 100644
--- a/src/components/settings/recipes/RecipesDashboard.js
+++ b/src/components/settings/recipes/RecipesDashboard.js
@@ -13,8 +13,6 @@ import RecipeItem from './RecipeItem';
13import Loader from '../../ui/Loader'; 13import Loader from '../../ui/Loader';
14import Appear from '../../ui/effects/Appear'; 14import Appear from '../../ui/effects/Appear';
15import { FRANZ_SERVICE_REQUEST } from '../../../config'; 15import { FRANZ_SERVICE_REQUEST } from '../../../config';
16import LimitReachedInfobox from '../../../features/serviceLimit/components/LimitReachedInfobox';
17import PremiumFeatureContainer from '../../ui/PremiumFeatureContainer';
18import RecipePreview from '../../../models/RecipePreview'; 16import RecipePreview from '../../../models/RecipePreview';
19 17
20const messages = defineMessages({ 18const messages = defineMessages({
@@ -120,7 +118,6 @@ export default @injectSheet(styles) @observer class RecipesDashboard extends Com
120 openRecipeDirectory: PropTypes.func.isRequired, 118 openRecipeDirectory: PropTypes.func.isRequired,
121 openDevDocs: PropTypes.func.isRequired, 119 openDevDocs: PropTypes.func.isRequired,
122 classes: PropTypes.object.isRequired, 120 classes: PropTypes.object.isRequired,
123 isCommunityRecipesIncludedInCurrentPlan: PropTypes.bool.isRequired,
124 }; 121 };
125 122
126 static defaultProps = { 123 static defaultProps = {
@@ -148,7 +145,6 @@ export default @injectSheet(styles) @observer class RecipesDashboard extends Com
148 openRecipeDirectory, 145 openRecipeDirectory,
149 openDevDocs, 146 openDevDocs,
150 classes, 147 classes,
151 isCommunityRecipesIncludedInCurrentPlan,
152 } = this.props; 148 } = this.props;
153 const { intl } = this.context; 149 const { intl } = this.context;
154 150
@@ -163,7 +159,6 @@ export default @injectSheet(styles) @observer class RecipesDashboard extends Com
163 <div className="settings__header"> 159 <div className="settings__header">
164 <h1>{intl.formatMessage(messages.headline)}</h1> 160 <h1>{intl.formatMessage(messages.headline)}</h1>
165 </div> 161 </div>
166 <LimitReachedInfobox />
167 <div className="settings__body recipes"> 162 <div className="settings__body recipes">
168 {serviceStatus.length > 0 && serviceStatus.includes('created') && ( 163 {serviceStatus.length > 0 && serviceStatus.includes('created') && (
169 <Appear> 164 <Appear>
@@ -223,9 +218,6 @@ export default @injectSheet(styles) @observer class RecipesDashboard extends Com
223 <> 218 <>
224 <H2> 219 <H2>
225 {intl.formatMessage(messages.headlineCustomRecipes)} 220 {intl.formatMessage(messages.headlineCustomRecipes)}
226 {!isCommunityRecipesIncludedInCurrentPlan && (
227 <ProBadge className={classes.proBadge} />
228 )}
229 </H2> 221 </H2>
230 <div className={classes.devRecipeIntroContainer}> 222 <div className={classes.devRecipeIntroContainer}>
231 <p> 223 <p>
@@ -251,37 +243,33 @@ export default @injectSheet(styles) @observer class RecipesDashboard extends Com
251 </div> 243 </div>
252 </> 244 </>
253 )} 245 )}
254 <PremiumFeatureContainer 246 {recipeFilter === 'dev' && communityRecipes.length > 0 && (
255 condition={(recipeFilter === 'dev' && communityRecipes.length > 0) && !isCommunityRecipesIncludedInCurrentPlan} 247 <H3>{intl.formatMessage(messages.headlineCommunityRecipes)}</H3>
256 > 248 )}
257 {recipeFilter === 'dev' && communityRecipes.length > 0 && ( 249 <div className="recipes__list">
258 <H3>{intl.formatMessage(messages.headlineCommunityRecipes)}</H3> 250 {hasLoadedRecipes && recipes.length === 0 && recipeFilter !== 'dev' && (
259 )} 251 <div className="align-middle settings__empty-state">
260 <div className="recipes__list"> 252 <span className="emoji">
261 {hasLoadedRecipes && recipes.length === 0 && recipeFilter !== 'dev' && ( 253 <img src="./assets/images/emoji/dontknow.png" alt="" />
262 <div className="align-middle settings__empty-state"> 254 </span>
263 <span className="emoji">
264 <img src="./assets/images/emoji/dontknow.png" alt="" />
265 </span>
266 255
267 <p className="settings__empty-state-text">{intl.formatMessage(messages.nothingFound)}</p> 256 <p className="settings__empty-state-text">{intl.formatMessage(messages.nothingFound)}</p>
268 257
269 <RecipeItem
270 key={customWebsiteRecipe.id}
271 recipe={customWebsiteRecipe}
272 onClick={() => isLoggedIn && showAddServiceInterface({ recipeId: customWebsiteRecipe.id })}
273 />
274 </div>
275 )}
276 {communityRecipes.map(recipe => (
277 <RecipeItem 258 <RecipeItem
278 key={recipe.id} 259 key={customWebsiteRecipe.id}
279 recipe={recipe} 260 recipe={customWebsiteRecipe}
280 onClick={() => isLoggedIn && showAddServiceInterface({ recipeId: recipe.id })} 261 onClick={() => isLoggedIn && showAddServiceInterface({ recipeId: customWebsiteRecipe.id })}
281 /> 262 />
282 ))} 263 </div>
283 </div> 264 )}
284 </PremiumFeatureContainer> 265 {communityRecipes.map(recipe => (
266 <RecipeItem
267 key={recipe.id}
268 recipe={recipe}
269 onClick={() => isLoggedIn && showAddServiceInterface({ recipeId: recipe.id })}
270 />
271 ))}
272 </div>
285 {recipeFilter === 'dev' && devRecipes.length > 0 && ( 273 {recipeFilter === 'dev' && devRecipes.length > 0 && (
286 <div className={classes.devRecipeList}> 274 <div className={classes.devRecipeList}>
287 <H3>{intl.formatMessage(messages.headlineDevRecipes)}</H3> 275 <H3>{intl.formatMessage(messages.headlineDevRecipes)}</H3>