mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Update:Show prompt before marking item as finished that has progress #805
This commit is contained in:
		
							parent
							
								
									92bedeac15
								
							
						
					
					
						commit
						53cf6edd6a
					
				| @ -502,7 +502,21 @@ export default { | |||||||
|       } |       } | ||||||
|       this.$emit('edit', this.libraryItem) |       this.$emit('edit', this.libraryItem) | ||||||
|     }, |     }, | ||||||
|     toggleFinished() { |     toggleFinished(confirmed = false) { | ||||||
|  |       if (!this.itemIsFinished && this.userProgressPercent > 0 && !confirmed) { | ||||||
|  |         const payload = { | ||||||
|  |           message: `Are you sure you want to mark "${this.displayTitle}" as finished?`, | ||||||
|  |           callback: (confirmed) => { | ||||||
|  |             if (confirmed) { | ||||||
|  |               this.toggleFinished(true) | ||||||
|  |             } | ||||||
|  |           }, | ||||||
|  |           type: 'yesNo' | ||||||
|  |         } | ||||||
|  |         this.store.commit('globals/setConfirmPrompt', payload) | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       var updatePayload = { |       var updatePayload = { | ||||||
|         isFinished: !this.itemIsFinished |         isFinished: !this.itemIsFinished | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <template> | <template> | ||||||
|   <div ref="wrapper" class="modal modal-bg w-full h-full fixed top-0 left-0 bg-primary bg-opacity-75 flex items-center justify-center z-60 opacity-0"> |   <div ref="wrapper" class="modal modal-bg w-full h-full fixed top-0 left-0 bg-primary bg-opacity-75 flex items-center justify-center z-60 opacity-0"> | ||||||
|     <div class="absolute top-0 left-0 right-0 w-full h-36 bg-gradient-to-t from-transparent via-black-500 to-black-700 opacity-90 pointer-events-none" /> |     <div class="absolute top-0 left-0 right-0 w-full h-36 bg-gradient-to-t from-transparent via-black-500 to-black-700 opacity-90 pointer-events-none" /> | ||||||
|     <div ref="content" style="min-width: 400px; min-height: 200px" class="relative text-white" :style="{ height: modalHeight, width: modalWidth }" v-click-outside="clickedOutside"> |     <div ref="content" class="relative text-white" :style="{ height: modalHeight, width: modalWidth }" v-click-outside="clickedOutside"> | ||||||
|       <div class="px-4 w-full text-sm py-6 rounded-lg bg-bg shadow-lg border border-black-300"> |       <div class="px-4 w-full text-sm py-6 rounded-lg bg-bg shadow-lg border border-black-300"> | ||||||
|         <p class="text-base mb-8 mt-2 px-1">{{ message }}</p> |         <p class="text-base mb-8 mt-2 px-1">{{ message }}</p> | ||||||
|         <div class="flex px-1 items-center"> |         <div class="flex px-1 items-center"> | ||||||
|  | |||||||
| @ -124,7 +124,21 @@ export default { | |||||||
|         }) |         }) | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     toggleFinished() { |     toggleFinished(confirmed = false) { | ||||||
|  |       if (!this.userIsFinished && this.itemProgressPercent > 0 && !confirmed) { | ||||||
|  |         const payload = { | ||||||
|  |           message: `Are you sure you want to mark "${this.title}" as finished?`, | ||||||
|  |           callback: (confirmed) => { | ||||||
|  |             if (confirmed) { | ||||||
|  |               this.toggleFinished(true) | ||||||
|  |             } | ||||||
|  |           }, | ||||||
|  |           type: 'yesNo' | ||||||
|  |         } | ||||||
|  |         this.$store.commit('globals/setConfirmPrompt', payload) | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       var updatePayload = { |       var updatePayload = { | ||||||
|         isFinished: !this.userIsFinished |         isFinished: !this.userIsFinished | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <template> | <template> | ||||||
|   <div class="absolute w-36 bg-bg rounded-md border border-black-200 shadow-lg z-50" v-click-outside="clickOutsideObj" style="top: 0; left: 0"> |   <div class="absolute w-36 bg-bg rounded-md border border-black-200 shadow-lg z-50" v-click-outside="clickOutsideObj" style="top: 0; left: 0"> | ||||||
|     <template v-for="(item, index) in items"> |     <template v-for="(item, index) in items"> | ||||||
|       <div :key="index" class="flex h-7 items-center px-2 hover:bg-white hover:bg-opacity-5 text-white text-xs cursor-pointer" @click="clickAction(item.func)"> |       <div :key="index" class="flex h-7 items-center px-2 hover:bg-white hover:bg-opacity-5 text-white text-xs cursor-pointer" @click.stop="clickAction(item.func)"> | ||||||
|         <p>{{ item.text }}</p> |         <p>{{ item.text }}</p> | ||||||
|       </div> |       </div> | ||||||
|     </template> |     </template> | ||||||
|  | |||||||
| @ -488,7 +488,21 @@ export default { | |||||||
|     openEbook() { |     openEbook() { | ||||||
|       this.$store.commit('showEReader', this.libraryItem) |       this.$store.commit('showEReader', this.libraryItem) | ||||||
|     }, |     }, | ||||||
|     toggleFinished() { |     toggleFinished(confirmed = false) { | ||||||
|  |       if (!this.userIsFinished && this.progressPercent > 0 && !confirmed) { | ||||||
|  |         const payload = { | ||||||
|  |           message: `Are you sure you want to mark "${this.title}" as finished?`, | ||||||
|  |           callback: (confirmed) => { | ||||||
|  |             if (confirmed) { | ||||||
|  |               this.toggleFinished(true) | ||||||
|  |             } | ||||||
|  |           }, | ||||||
|  |           type: 'yesNo' | ||||||
|  |         } | ||||||
|  |         this.$store.commit('globals/setConfirmPrompt', payload) | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       var updatePayload = { |       var updatePayload = { | ||||||
|         isFinished: !this.userIsFinished |         isFinished: !this.userIsFinished | ||||||
|       } |       } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user