mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Fix:Item edit modal for mobile landscape #754
This commit is contained in:
		
							parent
							
								
									41c016b8c7
								
							
						
					
					
						commit
						d90bd92bcc
					
				| @ -2,8 +2,8 @@ | ||||
|   <div ref="wrapper" class="modal modal-bg w-full h-full fixed top-0 left-0 bg-primary items-center justify-center opacity-0 hidden" :class="`z-${zIndex} bg-opacity-${bgOpacity}`"> | ||||
|     <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-3 right-3 md:top-5 md:right-5 h-8 w-8 md:h-12 md:w-12 flex items-center justify-center cursor-pointer text-white hover:text-gray-300" @click="clickClose"> | ||||
|       <span class="material-icons text-2xl md:text-4xl">close</span> | ||||
|     <div class="absolute top-3 right-3 landscape:top-2 landscape:right-2 md:portrait:top-5 md:portrait:right-5 lg:top-5 lg:right-5 h-8 w-8 landscape:h-8 landscape:w-8 md:portrait:h-12 md:portrait:w-12 lg:w-12 lg:h-12 flex items-center justify-center cursor-pointer text-white hover:text-gray-300" @click="clickClose"> | ||||
|       <span class="material-icons text-2xl landscape:text-2xl md:portrait:text-4xl lg:text-4xl">close</span> | ||||
|     </div> | ||||
|     <slot name="outer" /> | ||||
|     <div ref="content" style="min-width: 380px; min-height: 200px; max-width: 100vw" class="relative text-white" :style="{ height: modalHeight, width: modalWidth, marginTop: contentMarginTop + 'px' }" @mousedown="mousedownModal" @mouseup="mouseupModal" v-click-outside="clickBg"> | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| <template> | ||||
|   <modals-modal v-model="show" name="edit-book" :width="800" :height="height" :processing="processing" :content-margin-top="75"> | ||||
|   <modals-modal v-model="show" name="edit-book" :width="800" :height="height" :processing="processing" :content-margin-top="marginTop"> | ||||
|     <template #outer> | ||||
|       <div class="absolute top-0 left-0 p-4 md:p-5 w-2/3 overflow-hidden pointer-events-none"> | ||||
|         <p class="font-book text-xl md:text-3xl text-white truncate pointer-events-none">{{ title }}</p> | ||||
|       <div class="absolute top-0 left-0 p-4 landscape:px-4 landscape:py-2 md:portrait:p-5 lg:p-5 w-2/3 overflow-hidden pointer-events-none"> | ||||
|         <p class="font-book text-xl md:portrait:text-3xl md:landscape:text-lg lg:text-3xl text-white truncate pointer-events-none">{{ title }}</p> | ||||
|       </div> | ||||
|     </template> | ||||
|     <div class="absolute -top-10 left-0 z-10 w-full flex"> | ||||
| @ -30,6 +30,8 @@ export default { | ||||
|     return { | ||||
|       processing: false, | ||||
|       libraryItem: null, | ||||
|       availableHeight: 0, | ||||
|       marginTop: 0, | ||||
|       tabs: [ | ||||
|         { | ||||
|           id: 'details', | ||||
| @ -133,8 +135,7 @@ export default { | ||||
|       }) | ||||
|     }, | ||||
|     height() { | ||||
|       var maxHeightAllowed = window.innerHeight - 150 | ||||
|       return Math.min(maxHeightAllowed, 650) | ||||
|       return Math.min(this.availableHeight, 650) | ||||
|     }, | ||||
|     tabName() { | ||||
|       var _tab = this.tabs.find((t) => t.id === this.selectedTab) | ||||
| @ -246,15 +247,29 @@ export default { | ||||
|       } | ||||
|     }, | ||||
|     registerListeners() { | ||||
|       window.addEventListener('orientationchange', this.orientationChange) | ||||
|       this.$eventBus.$on('modal-hotkey', this.hotkey) | ||||
|       this.$eventBus.$on(`${this.selectedLibraryItemId}_updated`, this.libraryItemUpdated) | ||||
|     }, | ||||
|     unregisterListeners() { | ||||
|       window.removeEventListener('orientationchange', this.orientationChange) | ||||
|       this.$eventBus.$off('modal-hotkey', this.hotkey) | ||||
|       this.$eventBus.$off(`${this.selectedLibraryItemId}_updated`, this.libraryItemUpdated) | ||||
|     }, | ||||
|     orientationChange() { | ||||
|       setTimeout(this.setHeight, 50) | ||||
|     }, | ||||
|     setHeight() { | ||||
|       const smAndBelow = window.innerWidth < 1024 && window.innerWidth > window.innerHeight | ||||
| 
 | ||||
|       this.marginTop = smAndBelow ? 90 : 75 | ||||
|       const heightModifier = smAndBelow ? 95 : 150 | ||||
|       this.availableHeight = window.innerHeight - heightModifier | ||||
|     } | ||||
|   }, | ||||
|   mounted() {}, | ||||
|   mounted() { | ||||
|     this.setHeight() | ||||
|   }, | ||||
|   beforeDestroy() { | ||||
|     this.unregisterListeners() | ||||
|   } | ||||
|  | ||||
| @ -11,7 +11,7 @@ | ||||
|       </div> | ||||
| 
 | ||||
|       <div class="flex flex-wrap mt-2 -mx-1"> | ||||
|         <div class="w-full sm:w-3/4 px-1"> | ||||
|         <div class="w-full md:w-3/4 px-1"> | ||||
|           <!-- Authors filter only contains authors in this library, use query input to query all authors --> | ||||
|           <ui-multi-select-query-input ref="authorsSelect" v-model="details.authors" label="Authors" endpoint="authors/search" /> | ||||
|         </div> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user