| 
									
										
										
										
											2021-05-25 21:01:22 -07:00
										 |  |  | <template> | 
					
						
							| 
									
										
										
										
											2023-04-25 12:46:00 -05:00
										 |  |  |   <div class="mx-auto my-3 justify-center" style="display: flex;"> | 
					
						
							|  |  |  |     <div style="display: inline;"> | 
					
						
							|  |  |  |       <v-progress-circular :width="size.width" :size="size.size" color="primary lighten-2" indeterminate> | 
					
						
							|  |  |  |         <div class="text-center"> | 
					
						
							|  |  |  |           <v-icon :size="size.icon" color="primary lighten-2"> | 
					
						
							|  |  |  |             {{ $globals.icons.primary }} | 
					
						
							|  |  |  |           </v-icon> | 
					
						
							|  |  |  |           <div v-if="large" class="text-small"> | 
					
						
							|  |  |  |             <slot> | 
					
						
							|  |  |  |               {{ small ? "" : waitingText }} | 
					
						
							|  |  |  |             </slot> | 
					
						
							|  |  |  |           </div> | 
					
						
							| 
									
										
										
										
											2021-05-29 15:54:18 -08:00
										 |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2023-04-25 12:46:00 -05:00
										 |  |  |       </v-progress-circular> | 
					
						
							|  |  |  |       <div v-if="!large" class="text-small"> | 
					
						
							|  |  |  |         <slot> | 
					
						
							|  |  |  |           {{ small ? "" : waitingTextCalculated }} | 
					
						
							|  |  |  |         </slot> | 
					
						
							| 
									
										
										
										
											2021-05-25 21:01:22 -07:00
										 |  |  |       </div> | 
					
						
							|  |  |  |     </div> | 
					
						
							| 
									
										
										
										
											2021-05-29 15:54:18 -08:00
										 |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2021-05-25 21:01:22 -07:00
										 |  |  | </template> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-09 07:15:23 +01:00
										 |  |  | <script lang="ts"> | 
					
						
							|  |  |  | import { computed, defineComponent, useContext } from "@nuxtjs/composition-api"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default defineComponent({ | 
					
						
							| 
									
										
										
										
											2021-05-25 21:01:22 -07:00
										 |  |  |   props: { | 
					
						
							|  |  |  |     loading: { | 
					
						
							| 
									
										
										
										
											2021-08-07 16:49:55 -08:00
										 |  |  |       type: Boolean, | 
					
						
							| 
									
										
										
										
											2021-05-25 21:01:22 -07:00
										 |  |  |       default: true, | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2021-05-29 15:54:18 -08:00
										 |  |  |     small: { | 
					
						
							|  |  |  |       type: Boolean, | 
					
						
							|  |  |  |       default: false, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     medium: { | 
					
						
							|  |  |  |       type: Boolean, | 
					
						
							|  |  |  |       default: true, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     large: { | 
					
						
							|  |  |  |       type: Boolean, | 
					
						
							|  |  |  |       default: false, | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2023-04-25 12:46:00 -05:00
										 |  |  |     waitingText: { | 
					
						
							|  |  |  |       type: String, | 
					
						
							|  |  |  |       default: undefined, | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-05-29 15:54:18 -08:00
										 |  |  |   }, | 
					
						
							| 
									
										
										
										
											2022-01-09 07:15:23 +01:00
										 |  |  |   setup(props) { | 
					
						
							|  |  |  |     const size = computed(() => { | 
					
						
							|  |  |  |       if (props.small) { | 
					
						
							| 
									
										
										
										
											2021-05-29 15:54:18 -08:00
										 |  |  |         return { | 
					
						
							|  |  |  |           width: 2, | 
					
						
							|  |  |  |           icon: 30, | 
					
						
							|  |  |  |           size: 50, | 
					
						
							|  |  |  |         }; | 
					
						
							| 
									
										
										
										
											2022-01-09 07:15:23 +01:00
										 |  |  |       } else if (props.large) { | 
					
						
							| 
									
										
										
										
											2021-05-29 15:54:18 -08:00
										 |  |  |         return { | 
					
						
							|  |  |  |           width: 4, | 
					
						
							|  |  |  |           icon: 120, | 
					
						
							|  |  |  |           size: 200, | 
					
						
							|  |  |  |         }; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       return { | 
					
						
							|  |  |  |         width: 3, | 
					
						
							|  |  |  |         icon: 75, | 
					
						
							|  |  |  |         size: 125, | 
					
						
							|  |  |  |       }; | 
					
						
							| 
									
										
										
										
											2022-01-09 07:15:23 +01:00
										 |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const { i18n } = useContext(); | 
					
						
							| 
									
										
										
										
											2023-04-25 12:46:00 -05:00
										 |  |  |     const waitingTextCalculated = props.waitingText == null ? i18n.t("general.loading-recipes") : props.waitingText; | 
					
						
							| 
									
										
										
										
											2022-01-09 07:15:23 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |       size, | 
					
						
							| 
									
										
										
										
											2023-04-25 12:46:00 -05:00
										 |  |  |       waitingTextCalculated, | 
					
						
							| 
									
										
										
										
											2022-01-09 07:15:23 +01:00
										 |  |  |     }; | 
					
						
							| 
									
										
										
										
											2021-05-25 21:01:22 -07:00
										 |  |  |   }, | 
					
						
							| 
									
										
										
										
											2022-01-09 07:15:23 +01:00
										 |  |  | }); | 
					
						
							| 
									
										
										
										
											2021-05-25 21:01:22 -07:00
										 |  |  | </script> |