forked from MapComplete/MapComplete
		
	Fix landscape mode
This commit is contained in:
		
							parent
							
								
									593ac5381a
								
							
						
					
					
						commit
						1b73f0a43a
					
				
					 9 changed files with 43 additions and 98 deletions
				
			
		|  | @ -10,9 +10,11 @@ export default class Ornament extends UIElement { | ||||||
|     constructor(index = undefined) { |     constructor(index = undefined) { | ||||||
|         super(); |         super(); | ||||||
|         index = index ?? State.state.osmConnection.GetPreference("ornament"); |         index = index ?? State.state.osmConnection.GetPreference("ornament"); | ||||||
|  | 
 | ||||||
|  |         this.SetClass("pt-3 pb-3 flex justify-center box-border") | ||||||
|  | 
 | ||||||
|         this.ListenTo(index); |         this.ListenTo(index); | ||||||
|         this._index = index; |         this._index = index; | ||||||
|         this.SetClass("ornament") |  | ||||||
|         const self = this; |         const self = this; | ||||||
|         this.onClick(() => { |         this.onClick(() => { | ||||||
|             let c = Number(index.data); |             let c = Number(index.data); | ||||||
|  |  | ||||||
|  | @ -17,8 +17,8 @@ export default class ScrollableFullScreen extends UIElement { | ||||||
|         } |         } | ||||||
|         const returnToTheMap = |         const returnToTheMap = | ||||||
|             new Combine([ |             new Combine([ | ||||||
|                 Svg.back_svg().SetClass("block sm:hidden"), |                 Svg.back_svg().SetClass("block md:hidden"), | ||||||
|                 Svg.close_svg().SetClass("hidden sm:block") |                 Svg.close_svg().SetClass("hidden md:block") | ||||||
|             ]) |             ]) | ||||||
|                 .onClick(() => { |                 .onClick(() => { | ||||||
|                     ScrollableFullScreen.RestoreLeaflet(); |                     ScrollableFullScreen.RestoreLeaflet(); | ||||||
|  | @ -31,19 +31,19 @@ export default class ScrollableFullScreen extends UIElement { | ||||||
| 
 | 
 | ||||||
|         title.SetClass("block w-full text-2xl font-bold p-2 pl-4") |         title.SetClass("block w-full text-2xl font-bold p-2 pl-4") | ||||||
|         const ornament = new Combine([new Ornament().SetStyle("height:5em;")]) |         const ornament = new Combine([new Ornament().SetStyle("height:5em;")]) | ||||||
|             .SetClass("block sm:hidden h-5") |             .SetClass("md:hidden h-5") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         this._component = |         this._component = | ||||||
|             new Combine([ |             new Combine([ | ||||||
|                 new Combine([ |                 new Combine([ | ||||||
|                     new Combine([returnToTheMap, title]) |                     new Combine([returnToTheMap, title]) | ||||||
|                         .SetClass("border-b-2 border-black shadow sm:shadow-none bg-white p-2 pb-0 sm:p-0 flex overflow-x-hidden flex-shrink-0 max-h-20vh"), |                         .SetClass("border-b-2 border-black shadow md:shadow-none bg-white p-2 pb-0 md:p-0 flex overflow-x-hidden flex-shrink-0 max-h-20vh"), | ||||||
|                     new Combine(["<span>", content, "</span>", ornament]) |                     new Combine([content, ornament]) | ||||||
|                         .SetClass("block p-2 sm:pt-4 w-full h-screen landscape:h-screen  sm:h-full sm:w-full overflow-y-auto overflow-x-hidden"), |                         .SetClass("p-2 md:pt-4 w-full h-full overflow-y-auto overflow-x-hidden md:max-h-65vh"), | ||||||
|                     // We add an ornament which takes around 5em. This is in order to make sure the Web UI doesn't hide
 |                     // We add an ornament which takes around 5em. This is in order to make sure the Web UI doesn't hide
 | ||||||
|                 ]).SetClass("block flex flex-col  relative bg-white") |                 ]).SetClass("flex flex-col h-full relative bg-white") | ||||||
|             ]).SetClass("fixed top-0 left-0 right-0 h-screen w-screen sm:max-h-65vh sm:w-auto sm:relative"); |             ]).SetClass("fixed top-0 left-0 right-0 h-screen w-screen md:max-h-65vh md:w-auto md:relative"); | ||||||
| 
 | 
 | ||||||
|         this.dumbMode = false; |         this.dumbMode = false; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -69,7 +69,7 @@ export default class SearchAndGo extends UIElement { | ||||||
|                     [bb[1], bb[3]] |                     [bb[1], bb[3]] | ||||||
|                 ] |                 ] | ||||||
|             State.state.selectedElement. setData(undefined); |             State.state.selectedElement. setData(undefined); | ||||||
|                 Hash.hash.setData(poi.osm_type+"_"+poi.osm_id); |                 Hash.hash.setData(poi.osm_type+"/"+poi.osm_id); | ||||||
|                 State.state.leafletMap.data.fitBounds(bounds); |                 State.state.leafletMap.data.fitBounds(bounds); | ||||||
|                 self._placeholder.setData(Translations.t.general.search.search); |                 self._placeholder.setData(Translations.t.general.search.search); | ||||||
|             }, |             }, | ||||||
|  |  | ||||||
|  | @ -62,7 +62,6 @@ export default class FeatureInfoBox extends UIElement { | ||||||
|             } |             } | ||||||
|             return new EditableTagRendering(tags, tr); |             return new EditableTagRendering(tags, tr); | ||||||
|         }); |         }); | ||||||
|         renderings[0]?.SetClass("first-rendering"); |  | ||||||
|         if (!questionBoxIsUsed) { |         if (!questionBoxIsUsed) { | ||||||
|             renderings.push(questionBox); |             renderings.push(questionBox); | ||||||
|         } |         } | ||||||
|  | @ -72,7 +71,7 @@ export default class FeatureInfoBox extends UIElement { | ||||||
|                 ...renderings, |                 ...renderings, | ||||||
|                 tail.SetClass("featureinfobox-tail") |                 tail.SetClass("featureinfobox-tail") | ||||||
|             ] |             ] | ||||||
|         ).SetClass("block sm:max-h-65vh") |         ).SetClass("block") | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -49,20 +49,6 @@ Contains tweaks for small screens | ||||||
|         width: 100vw; |         width: 100vw; | ||||||
|         height: 100vh; |         height: 100vh; | ||||||
|     } |     } | ||||||
| 
 |  | ||||||
|     #welcomeMessage { |  | ||||||
|         display: inline-block; |  | ||||||
|         background-color: var(--background-color); |  | ||||||
|         border-radius: 0; |  | ||||||
|         width: 100%; |  | ||||||
|         max-width: 100%; |  | ||||||
|         margin: 0; |  | ||||||
|         padding: 0; |  | ||||||
|         box-sizing: border-box; |  | ||||||
|         max-height: max-content; |  | ||||||
|         box-shadow: unset; |  | ||||||
|         overflow-y: unset; |  | ||||||
|     } |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media only screen and (max-width: 600px) { | @media only screen and (max-width: 600px) { | ||||||
|  |  | ||||||
|  | @ -1,31 +1,3 @@ | ||||||
| @media only screen and (max-height: 600px) and (min-width: 600px) { |  | ||||||
|     /* landscape mode: the first tagrendering of the infobox gets a special treatment and is placed on the right*/ |  | ||||||
|     .landscape\:max-h-screen { |  | ||||||
|         max-height: 100vh; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .landscape\:w-1\/2 { |  | ||||||
|         width: 50% |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .landscape\:p-2 { |  | ||||||
|         padding: 0.5rem; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .question { |  | ||||||
|         max-width: 48% !important; |  | ||||||
|         padding-right: 0.3em; |  | ||||||
|         box-sizing: border-box; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .first-rendering { |  | ||||||
|         position: absolute; |  | ||||||
|         left: 50%; |  | ||||||
|         width: 94%; |  | ||||||
|         padding-right: 0.3em; |  | ||||||
|         box-sizing: border-box; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| .question .form-text-field > input { | .question .form-text-field > input { | ||||||
|     width: 100%; |     width: 100%; | ||||||
|  |  | ||||||
							
								
								
									
										23
									
								
								index.css
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								index.css
									
										
									
									
									
								
							|  | @ -42,7 +42,7 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media only screen and (max-width: 640px) { | @media only screen and (max-width: 768px) { | ||||||
|     .no-transform { |     .no-transform { | ||||||
|         /*This is a workaround to let popup contents escape the popup on mobile - see scrollableFullScreen.ts*/ |         /*This is a workaround to let popup contents escape the popup on mobile - see scrollableFullScreen.ts*/ | ||||||
|         transform: none !important; |         transform: none !important; | ||||||
|  | @ -519,24 +519,3 @@ a { | ||||||
|     max-width: 1em; |     max-width: 1em; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| .ornament { |  | ||||||
|     padding-top: 1em; |  | ||||||
|     padding-bottom: 1em; |  | ||||||
|     display: flex; |  | ||||||
|     justify-content: center; |  | ||||||
|     box-sizing: border-box; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .ornament svg { |  | ||||||
|     height: 2.5em; |  | ||||||
|     width: 100%; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .ornament svg path { |  | ||||||
|     stroke: var(--subtle-detail-color-light-contrast); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .ornament svg polygon { |  | ||||||
|     fill: var(--subtle-detail-color-light-contrast); |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  | @ -50,7 +50,6 @@ | ||||||
|         <div id="searchbox" class="shadow rounded-3xl overflow-hidden"></div> |         <div id="searchbox" class="shadow rounded-3xl overflow-hidden"></div> | ||||||
|     </div> |     </div> | ||||||
|     <div id="messagesbox" class="rounded-3xl overflow-hidden ml-3"></div> |     <div id="messagesbox" class="rounded-3xl overflow-hidden ml-3"></div> | ||||||
|     <div id="help-button-mobile"></div> |  | ||||||
| </div> | </div> | ||||||
| 
 | 
 | ||||||
| <div id="layer-selection" class="absolute bottom-3 left-3 rounded-3xl overflow-hidden clutter"></div> | <div id="layer-selection" class="absolute bottom-3 left-3 rounded-3xl overflow-hidden clutter"></div> | ||||||
|  |  | ||||||
|  | @ -1,24 +1,32 @@ | ||||||
|  | const plugin = require('tailwindcss/plugin') | ||||||
|  | 
 | ||||||
| module.exports = { | module.exports = { | ||||||
|   purge: [ |     purge: [ | ||||||
|     // './**/*.html',
 |         // './**/*.html',
 | ||||||
|     // './**/*.js',
 |         // './**/*.js',
 | ||||||
|   ], |     ], | ||||||
|   darkMode: false, // or 'media' or 'class'
 |     darkMode: false, // or 'media' or 'class'
 | ||||||
|   theme: { |     theme: { | ||||||
|     extend: { |         extend: { | ||||||
|       maxHeight: { |             maxHeight: { | ||||||
|         '65vh': '65vh', |                 '65vh': '65vh', | ||||||
|         '20vh': '20vh', |                 '20vh': '20vh', | ||||||
|       }, |             } | ||||||
|       screens: { |         }, | ||||||
|         'landscape': { 'raw': '(max-height: 600px) and (min-width: 600px)' }, |  | ||||||
|       }, |  | ||||||
|     }, |     }, | ||||||
|   }, |     variants: { | ||||||
|   variants: { |         extend: { | ||||||
|     extend: { |             ringColor: ['hover'], | ||||||
|       ringColor: ['hover'], |         } | ||||||
|     } |     }, | ||||||
|   }, |     plugins: [ | ||||||
|   plugins: [], |         plugin(function ({addVariant, e}) { | ||||||
|  |             addVariant('landscape', ({modifySelectors, separator}) => { | ||||||
|  |                 modifySelectors(({className}) => { | ||||||
|  |                     return `.${e(`landscape${separator}${className}`)}:landscape` | ||||||
|  |                 }) | ||||||
|  |             }) | ||||||
|  |         }) | ||||||
|  | 
 | ||||||
|  |     ] | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue