forked from MapComplete/MapComplete
		
	UX: show 'upload image from device' on desktop, add icon, attempt to fix "open camera" on ddg-browser, see #2406
This commit is contained in:
		
							parent
							
								
									c8d39f466e
								
							
						
					
					
						commit
						1b64774b3b
					
				
					 2 changed files with 50 additions and 14 deletions
				
			
		|  | @ -8781,6 +8781,11 @@ svg.apply-fill path { | |||
|     padding-right: 0.5rem; | ||||
|   } | ||||
| 
 | ||||
|   .md\:text-2xl { | ||||
|     font-size: 1.5rem; | ||||
|     line-height: 2rem; | ||||
|   } | ||||
| 
 | ||||
|   .md\:text-6xl { | ||||
|     font-size: 3.75rem; | ||||
|     line-height: 1; | ||||
|  |  | |||
|  | @ -15,6 +15,7 @@ | |||
|   import { Translation } from "../i18n/Translation" | ||||
|   import type { Feature } from "geojson" | ||||
|   import Camera from "@babeard/svelte-heroicons/mini/Camera" | ||||
|   import ArrowUpTray from "@babeard/svelte-heroicons/solid/ArrowUpTray" | ||||
| 
 | ||||
|   export let state: SpecialVisualizationState | ||||
| 
 | ||||
|  | @ -79,10 +80,11 @@ | |||
|       {#each $errors as error} | ||||
|         <Tr t={error} cls="alert" /> | ||||
|       {/each} | ||||
|       <!-- Take picture selector.  Must have image/*, capture=environment to work on DDG-browser/chromium based browsers --> | ||||
|       <FileSelector | ||||
|         accept=".jpg,.jpeg,image/jpeg" | ||||
|         accept="image/*" | ||||
|         capture="environment" | ||||
|         cls="button border-2 flex flex-col" | ||||
|         cls="button border-2 flex flex-col md:hidden" | ||||
|         multiple={true} | ||||
|         on:submit={(e) => { | ||||
|           handleFiles(e.detail) | ||||
|  | @ -92,27 +94,28 @@ | |||
|       > | ||||
|         <div class="flex w-full items-center justify-center text-2xl"> | ||||
|           {#if image !== undefined} | ||||
|             <img src={image} aria-hidden="true" /> | ||||
|             <img src={image} alt="" aria-hidden="true" /> | ||||
|           {:else} | ||||
|             <Camera class="h-12 w-12 p-1" aria-hidden="true" /> | ||||
|           {/if} | ||||
|           {#if labelText} | ||||
|             {labelText} | ||||
|           {:else} | ||||
|             <div class="flex flex-col"> | ||||
|           <div class="flex flex-col"> | ||||
|             {#if labelText} | ||||
|               {labelText} | ||||
|             {:else} | ||||
|               <Tr t={t.addPicture} /> | ||||
|               {#if noBlur} | ||||
|             {/if} | ||||
|             {#if noBlur} | ||||
|                 <span class="subtle text-sm"> | ||||
|                   <Tr t={t.upload.noBlur} /> | ||||
|                 </span> | ||||
|               {/if} | ||||
|             </div> | ||||
|           {/if} | ||||
|             {/if} | ||||
|           </div> | ||||
|         </div> | ||||
|       </FileSelector> | ||||
|       <!-- "Select images from device" - shown on desktop --> | ||||
|       <FileSelector | ||||
|         accept=".jpg, .jpeg" | ||||
|         cls="flex justify-center md:hidden button" | ||||
|         accept=".jpg, .jpeg, image/jpeg" | ||||
|         cls="flex justify-center button" | ||||
|         multiple={true} | ||||
|         on:submit={(e) => { | ||||
|           e.preventDefault() | ||||
|  | @ -120,8 +123,36 @@ | |||
|           return handleFiles(e.detail, true) | ||||
|         }} | ||||
|       > | ||||
|         <Tr t={t.selectFile} /> | ||||
|         <div class="hidden md:block"> | ||||
| 
 | ||||
|           <div class="flex w-full"> | ||||
|             {#if image !== undefined} | ||||
|               <img alt="" src={image} aria-hidden="true" /> | ||||
|             {:else} | ||||
|               <Camera class="h-12 w-12 p-1" aria-hidden="true" /> | ||||
|             {/if} | ||||
|             <ArrowUpTray class="w-6 h-6  p-0.5 bg-white rounded-full self-end" style="margin-left: -1rem" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="flex flex-col "> | ||||
| 
 | ||||
|           {#if labelText} | ||||
|             <div class="md:text-2xl text-center "> | ||||
|               {labelText} | ||||
|             </div> | ||||
|             <Tr t={t.selectFile} /> | ||||
|           {:else} | ||||
|             <Tr cls="md:text-2xl text-center" t={t.selectFile} /> | ||||
|           {/if} | ||||
|           {#if noBlur} | ||||
|                 <span class="subtle text-sm"> | ||||
|                   <Tr t={t.upload.noBlur} /> | ||||
|                 </span> | ||||
|           {/if} | ||||
|         </div> | ||||
| 
 | ||||
|       </FileSelector> | ||||
| 
 | ||||
|       <div class="subtle text-xs italic"> | ||||
|         <Tr t={Translations.t.general.attribution.panoramaxLicenseCCBYSA} /> | ||||
|         <span class="mx-1">—</span> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue