mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-31 02:03:35 -04:00 
			
		
		
		
	Release v0.1.0 Candidate (#85)
* Changed uvicorn port to 80 * Changed port in docker-compose to match dockerfile * Readded environment variables in docker-compose * production image rework * Use opengraph metadata to make basic recipe cards when full recipe metadata is not available * fixed instrucitons on parse * add last_recipe * automated testing * roadmap update * Sqlite (#75) * file structure * auto-test * take 2 * refactor ap scheduler and startup process * fixed scraper error * database abstraction * database abstraction * port recipes over to new schema * meal migration * start settings migration * finale mongo port * backup improvements * migration imports to new DB structure * unused import cleanup * docs strings * settings and theme import logic * cleanup * fixed tinydb error * requirements * fuzzy search * remove scratch file * sqlalchemy models * improved search ui * recipe models almost done * sql modal population * del scratch * rewrite database model mixins * mostly grabage * recipe updates * working sqllite * remove old files and reorganize * final cleanup Co-authored-by: Hayden <hay-kot@pm.me> * Backup card (#78) * backup / import dialog * upgrade to new tag method * New import card * rename settings.py to app_config.py * migrate to poetry for development * fix failing test Co-authored-by: Hayden <hay-kot@pm.me> * added mkdocs to docker-compose * Translations (#72) * Translations + danish * changed back proxy target to use ENV * Resolved more merge conflicts * Removed test in translation * Documentation of translations * Updated translations * removed old packages Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com> * fail to start bug fixes * feature: prep/cook/total time slots (#80) Co-authored-by: Hayden <hay-kot@pm.me> * missing bind attributes * Bug fixes (#81) * fix: url remains after succesful import * docs: changelog + update todos * arm image * arm compose * compose updates * update poetry * arm support Co-authored-by: Hayden <hay-kot@pm.me> * dockerfile hotfix * dockerfile hotfix * Version Release Final Touches (#84) * Remove slim * bug: opacity issues * bug: startup failure with no database * ci/cd on dev branch * formatting * v0.1.0 documentation Co-authored-by: Hayden <hay-kot@pm.me> * db init hotfix * bug: fix crash in mongo * fix mongo bug * fixed version notifier * finale changelog Co-authored-by: kentora <=> Co-authored-by: Hayden <hay-kot@pm.me> Co-authored-by: Richard Mitic <richard.h.mitic@gmail.com> Co-authored-by: kentora <kentora@kentora.dk>
This commit is contained in:
		
							
								
								
									
										107
									
								
								frontend/src/components/Recipe/RecipeTimeCard.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								frontend/src/components/Recipe/RecipeTimeCard.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,107 @@ | ||||
| <template> | ||||
|   <v-card | ||||
|     color="accent" | ||||
|     class="custom-transparent" | ||||
|     tile | ||||
|     :width="`${timeCardWidth}`" | ||||
|   > | ||||
|     <v-card-text | ||||
|       class="text-caption white--text" | ||||
|       v-if="totalTime || prepTime || performTime" | ||||
|     > | ||||
|       <v-row align="center" dense> | ||||
|         <v-col :cols="iconColumn"> | ||||
|           <v-icon large color="white"> mdi-clock-outline </v-icon> | ||||
|         </v-col> | ||||
|         <v-divider | ||||
|           vertical | ||||
|           color="white" | ||||
|           class="my-1" | ||||
|           v-if="totalTime" | ||||
|         ></v-divider> | ||||
|         <v-col v-if="totalTime"> | ||||
|           <div><strong> Total Time </strong></div> | ||||
|           <div>{{ totalTime }}</div> | ||||
|         </v-col> | ||||
|         <v-divider | ||||
|           vertical | ||||
|           color="white" | ||||
|           class="my-1" | ||||
|           v-if="prepTime" | ||||
|         ></v-divider> | ||||
|         <v-col v-if="prepTime"> | ||||
|           <div><strong> Prep Time </strong></div> | ||||
|           <div>{{ prepTime }}</div> | ||||
|         </v-col> | ||||
|         <v-divider | ||||
|           vertical | ||||
|           color="white" | ||||
|           class="my-1" | ||||
|           v-if="performTime" | ||||
|         ></v-divider> | ||||
|         <v-col v-if="performTime"> | ||||
|           <div><strong> Cook Time </strong></div> | ||||
|           <div>{{ performTime }}</div> | ||||
|         </v-col> | ||||
|       </v-row> | ||||
|     </v-card-text> | ||||
|   </v-card> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|   props: { | ||||
|     prepTime: String, | ||||
|     totalTime: String, | ||||
|     performTime: String, | ||||
|   }, | ||||
|   computed: { | ||||
|     timeLength() { | ||||
|       let times = []; | ||||
|       let timeArray = [this.totalTime, this.prepTime, this.performTime]; | ||||
|       timeArray.forEach((element) => { | ||||
|         if (element) { | ||||
|           times.push(element); | ||||
|         } | ||||
|       }); | ||||
|  | ||||
|       return times.length; | ||||
|     }, | ||||
|     iconColumn() { | ||||
|       switch (this.timeLength) { | ||||
|         case 0: | ||||
|           return null; | ||||
|         case 1: | ||||
|           return 4; | ||||
|         case 2: | ||||
|           return 3; | ||||
|         case 3: | ||||
|           return 2; | ||||
|         default: | ||||
|           return 1; | ||||
|       } | ||||
|     }, | ||||
|     timeCardWidth() { | ||||
|       let timeArray = [this.totalTime, this.prepTime, this.performTime]; | ||||
|       let width = 120; | ||||
|       timeArray.forEach((element) => { | ||||
|         if (element) { | ||||
|           width += 70; | ||||
|         } | ||||
|       }); | ||||
|  | ||||
|       if (this.$vuetify.breakpoint.name === "xs") { | ||||
|         return "100%"; | ||||
|       } | ||||
|  | ||||
|       return `${width}px`; | ||||
|     }, | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
|  | ||||
| <style scoped> | ||||
| .custom-transparent { | ||||
|   opacity: 0.7; | ||||
| } | ||||
| </style> | ||||
		Reference in New Issue
	
	Block a user