forked from MapComplete/MapComplete
		
	UX: move some items behind login-toggles, add a 'login to add pictures' button again (fix #1698)
This commit is contained in:
		
							parent
							
								
									5168b42c8f
								
							
						
					
					
						commit
						4e1384c2df
					
				
					 4 changed files with 182 additions and 174 deletions
				
			
		|  | @ -1,50 +1,53 @@ | |||
| <script lang="ts"> | ||||
|   /** | ||||
|    * Shows an 'upload'-button which will start the upload for this feature | ||||
|    */ | ||||
|     /** | ||||
|      * Shows an 'upload'-button which will start the upload for this feature | ||||
|      */ | ||||
| 
 | ||||
|   import type { SpecialVisualizationState } from "../SpecialVisualization" | ||||
|   import { ImmutableStore, Store } from "../../Logic/UIEventSource" | ||||
|   import type { OsmTags } from "../../Models/OsmFeature" | ||||
|   import LoginToggle from "../Base/LoginToggle.svelte" | ||||
|   import Translations from "../i18n/Translations" | ||||
|   import Tr from "../Base/Tr.svelte" | ||||
|   import UploadingImageCounter from "./UploadingImageCounter.svelte" | ||||
|   import FileSelector from "../Base/FileSelector.svelte" | ||||
|   import Camera_plus from "../../assets/svg/Camera_plus.svelte" | ||||
|     import type { SpecialVisualizationState } from "../SpecialVisualization" | ||||
|     import { ImmutableStore, Store } from "../../Logic/UIEventSource" | ||||
|     import type { OsmTags } from "../../Models/OsmFeature" | ||||
|     import LoginToggle from "../Base/LoginToggle.svelte" | ||||
|     import Translations from "../i18n/Translations" | ||||
|     import Tr from "../Base/Tr.svelte" | ||||
|     import UploadingImageCounter from "./UploadingImageCounter.svelte" | ||||
|     import FileSelector from "../Base/FileSelector.svelte" | ||||
|     import Camera_plus from "../../assets/svg/Camera_plus.svelte" | ||||
|     import LoginButton from "../Base/LoginButton.svelte" | ||||
| 
 | ||||
|   export let state: SpecialVisualizationState | ||||
|     export let state: SpecialVisualizationState | ||||
| 
 | ||||
|   export let tags: Store<OsmTags> | ||||
|   export let targetKey: string = undefined | ||||
|   /** | ||||
|    * Image to show in the button | ||||
|    * NOT the image to upload! | ||||
|    */ | ||||
|   export let image: string = undefined | ||||
|   if (image === "") { | ||||
|     image = undefined | ||||
|   } | ||||
|   export let labelText: string = undefined | ||||
|   const t = Translations.t.image | ||||
| 
 | ||||
|   let licenseStore = state?.userRelatedState?.imageLicense ?? new ImmutableStore("CC0") | ||||
| 
 | ||||
|   function handleFiles(files: FileList) { | ||||
|     for (let i = 0; i < files.length; i++) { | ||||
|       const file = files.item(i) | ||||
|       console.log("Got file", file.name) | ||||
|       try { | ||||
|         state?.imageUploadManager.uploadImageAndApply(file, tags, targetKey) | ||||
|       } catch (e) { | ||||
|         alert(e) | ||||
|       } | ||||
|     export let tags: Store<OsmTags> | ||||
|     export let targetKey: string = undefined | ||||
|     /** | ||||
|      * Image to show in the button | ||||
|      * NOT the image to upload! | ||||
|      */ | ||||
|     export let image: string = undefined | ||||
|     if (image === "") { | ||||
|         image = undefined | ||||
|     } | ||||
|     export let labelText: string = undefined | ||||
|     const t = Translations.t.image | ||||
| 
 | ||||
|     let licenseStore = state?.userRelatedState?.imageLicense ?? new ImmutableStore("CC0") | ||||
| 
 | ||||
|     function handleFiles(files: FileList) { | ||||
|         for (let i = 0; i < files.length; i++) { | ||||
|             const file = files.item(i) | ||||
|             console.log("Got file", file.name) | ||||
|             try { | ||||
|                 state?.imageUploadManager.uploadImageAndApply(file, tags, targetKey) | ||||
|             } catch (e) { | ||||
|                 alert(e) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   } | ||||
| </script> | ||||
| 
 | ||||
| <LoginToggle {state}> | ||||
|   <Tr slot="not-logged-in" t={t.pleaseLogin} /> | ||||
|   <LoginButton slot="not-logged-in" clss="small w-full"> | ||||
|     <Tr t={Translations.t.image.pleaseLogin} /> | ||||
|   </LoginButton> | ||||
|   <div class="flex flex-col"> | ||||
|     <UploadingImageCounter {state} {tags} /> | ||||
|     <FileSelector | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue