forked from MapComplete/MapComplete
		
	UI: Css tweaks
This commit is contained in:
		
							parent
							
								
									27afaf7ad8
								
							
						
					
					
						commit
						5b6434a5d2
					
				
					 10 changed files with 113 additions and 95 deletions
				
			
		|  | @ -16,8 +16,9 @@ | |||
|       "id": "images", | ||||
|       "description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images", | ||||
|       "render": { | ||||
|         "*": "{image_carousel()}{image_upload()}{nearby_images()}" | ||||
|       } | ||||
|         "*": "{image_carousel()}{image_upload()}{nearby_images():my-4}" | ||||
|       }, | ||||
|       "classes": "my-4" | ||||
|     }, | ||||
|     { | ||||
|       "id": "mapillary", | ||||
|  |  | |||
|  | @ -2499,51 +2499,6 @@ button.link:hover { | |||
|   fill: var(--foreground-color) !important; | ||||
| } | ||||
| 
 | ||||
| .neutral-label{ | ||||
|   /** This label styles as normal text. It's power comes from the many :not(.neutral-label) entries. | ||||
|      * Placed here for autocompletion | ||||
|      */ | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label) { | ||||
|   /** | ||||
|      * Label should _contain_ the input element | ||||
|      */ | ||||
|   border: 2px solid var(--interactive-background); | ||||
|   padding: 0.25rem; | ||||
|   padding-right: 0.5rem; | ||||
|   padding-left: 0.5rem; | ||||
|   border-radius: 0.5rem; | ||||
|   background-color: var(--low-interaction-background); | ||||
|   width: 100%; | ||||
|   box-sizing: border-box; | ||||
|   transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.neutral-label) { | ||||
|   background-color: var(--catch-detail-color); | ||||
|   color: var(--catch-detail-foregroundcolor); | ||||
|   border: 2px solid var(--interactive-contrast) | ||||
| } | ||||
| 
 | ||||
| label:not(.no-image-background):not(.neutral-label) img { | ||||
|   padding: 0.25rem; | ||||
|   border-radius: 0.25rem; | ||||
|   background: var(--low-interaction-background); | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label) svg path { | ||||
|   transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.no-image-background):not(.neutral-label) svg path { | ||||
|   fill: var(--catch-detail-foregroundcolor) !important; | ||||
| } | ||||
| 
 | ||||
| label.checked:not(.neutral-label) { | ||||
|   border: 2px solid var(--foreground-color); | ||||
| } | ||||
| 
 | ||||
| .links-w-full a:not(.weblate-link) { | ||||
|   display: flex; | ||||
|   -webkit-column-gap: 0.25rem; | ||||
|  | @ -2594,6 +2549,55 @@ select:hover { | |||
|   border-color: var(--catch-detail-color-contrast); | ||||
| } | ||||
| 
 | ||||
| .neutral-label{ | ||||
|   /** This label styles as normal text. It's power comes from the many :not(.neutral-label) entries. | ||||
|      * Placed here for autocompletion | ||||
|      */ | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label):not(.button) { | ||||
|   /** | ||||
|      * Label should _contain_ the input element | ||||
|      */ | ||||
|   border: 2px solid var(--interactive-background); | ||||
|   padding: 0.25rem; | ||||
|   padding-right: 0.5rem; | ||||
|   padding-left: 0.5rem; | ||||
|   border-radius: 0.5rem; | ||||
|   background-color: var(--low-interaction-background); | ||||
|   width: 100%; | ||||
|   box-sizing: border-box; | ||||
|   transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label.button { | ||||
|   width: 100%; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.neutral-label) { | ||||
|   background-color: var(--catch-detail-color); | ||||
|   color: var(--catch-detail-foregroundcolor); | ||||
|   border: 2px solid var(--interactive-contrast) | ||||
| } | ||||
| 
 | ||||
| label:not(.no-image-background):not(.neutral-label) img { | ||||
|   padding: 0.25rem; | ||||
|   border-radius: 0.25rem; | ||||
|   background: var(--low-interaction-background); | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label) svg path { | ||||
|   transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.no-image-background):not(.neutral-label) svg path { | ||||
|   fill: var(--catch-detail-foregroundcolor) !important; | ||||
| } | ||||
| 
 | ||||
| label.checked:not(.neutral-label) { | ||||
|   border: 2px solid var(--foreground-color); | ||||
| } | ||||
| 
 | ||||
| /************************* OTHER CATEGORIES ********************************/ | ||||
| 
 | ||||
| /** | ||||
|  |  | |||
|  | @ -38,6 +38,7 @@ | |||
| > | ||||
|   <label | ||||
|     class={twMerge(cls, drawAttention ? "glowing-shadow" : "")} | ||||
|     style="margin-left:0" | ||||
|     tabindex="0" | ||||
|     for={"fileinput" + id} | ||||
|     on:click={() => { | ||||
|  |  | |||
|  | @ -43,7 +43,7 @@ | |||
|     <Tr t={Translations.t.general.returnToTheMap} /> | ||||
|   </button> | ||||
| {:else} | ||||
|   <div class="flex h-full w-full flex-col gap-y-2 overflow-y-auto p-1 px-2" tabindex="-1"> | ||||
|   <div class="flex h-full w-full flex-col gap-y-2 overflow-y-auto p-1 px-4" tabindex="-1"> | ||||
|     {#each $knownTagRenderings as config (config.id)} | ||||
|       <TagRenderingEditable | ||||
|         {tags} | ||||
|  |  | |||
|  | @ -26,6 +26,7 @@ | |||
| </script> | ||||
| 
 | ||||
| <LoginToggle {state}> | ||||
|   <div class="my-4"> | ||||
|   {#if expanded} | ||||
|     <NearbyImages {tags} {state} {lon} {lat} {feature} {linkable} {layer}> | ||||
|       <button | ||||
|  | @ -42,6 +43,7 @@ | |||
|   {:else} | ||||
|     <button | ||||
|       class="flex w-full items-center" | ||||
|       style="margin-left: 0; margin-right: 0" | ||||
|       on:click={() => { | ||||
|         expanded = true | ||||
|       }} | ||||
|  | @ -51,4 +53,5 @@ | |||
|       <Tr t={t.seeNearby} /> | ||||
|     </button> | ||||
|   {/if} | ||||
|   </div> | ||||
| </LoginToggle> | ||||
|  |  | |||
|  | @ -72,12 +72,14 @@ | |||
|     <div class="text-sm"> | ||||
|       <button | ||||
|         class="link small" | ||||
|         style="margin: 0; padding: 0" | ||||
|         on:click={() => { | ||||
|           state.guistate.openUsersettings("picture-license") | ||||
|         }} | ||||
|       > | ||||
|         <Tr t={t.currentLicense.Subs({ license: $licenseStore })} /> | ||||
|       </button> | ||||
|       <br/> | ||||
|       <Tr t={t.respectPrivacy} /> | ||||
|     </div> | ||||
|   </div> | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
|   import Svg from "../../Svg" | ||||
|   import ToSvelte from "../Base/ToSvelte.svelte" | ||||
|   import { Utils } from "../../Utils" | ||||
|   import { Store } from "../../Logic/UIEventSource" | ||||
| 
 | ||||
|   export let tags: Store<OsmTags> | ||||
|   export let args: string[] | ||||
|  | @ -12,7 +13,7 @@ | |||
|     "mailto:" + to + "?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(body) | ||||
| </script> | ||||
| 
 | ||||
| <a class="button flex w-full items-center" href={url}> | ||||
| <a class="button flex w-full items-center" href={url} style="margin-left: 0"> | ||||
|   <ToSvelte construct={Svg.envelope_svg().SetClass("w-8 h-8 mr-4 shrink-0")} /> | ||||
|   {button_text} | ||||
| </a> | ||||
|  |  | |||
|  | @ -138,7 +138,7 @@ | |||
|   {:else} | ||||
|     <div> | ||||
|       {#if $showAllQuestionsAtOnce} | ||||
|         <div> | ||||
|         <div class="flex flex-col gap-y-1"> | ||||
|           {#each $questionsToAsk as question (question.id)} | ||||
|             <TagRenderingQuestion config={question} {tags} {selectedElement} {state} {layer} /> | ||||
|           {/each} | ||||
|  |  | |||
|  | @ -125,7 +125,7 @@ | |||
|       </div> | ||||
|     {/if} | ||||
|   {:else} | ||||
|     <div class="h-full w-full overflow-hidden p-2"> | ||||
|     <div class="h-full w-full overflow-hidden"> | ||||
|       <TagRenderingAnswer {config} {tags} {selectedElement} {state} {layer} /> | ||||
|     </div> | ||||
|   {/if} | ||||
|  |  | |||
|  | @ -312,50 +312,6 @@ button.link:hover { | |||
|     fill: var(--foreground-color) !important; | ||||
| } | ||||
| 
 | ||||
| .neutral-label{ | ||||
|     /** This label styles as normal text. It's power comes from the many :not(.neutral-label) entries. | ||||
|      * Placed here for autocompletion | ||||
|      */ | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label) { | ||||
|     /** | ||||
|      * Label should _contain_ the input element | ||||
|      */ | ||||
|     border: 2px solid var(--interactive-background); | ||||
|     padding: 0.25rem; | ||||
|     padding-right: 0.5rem; | ||||
|     padding-left: 0.5rem; | ||||
|     border-radius: 0.5rem; | ||||
|     background-color: var(--low-interaction-background); | ||||
|     width: 100%; | ||||
|     box-sizing: border-box; | ||||
|     transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.neutral-label) { | ||||
|     background-color: var(--catch-detail-color); | ||||
|     color: var(--catch-detail-foregroundcolor); | ||||
|     border: 2px solid var(--interactive-contrast) | ||||
| } | ||||
| 
 | ||||
| label:not(.no-image-background):not(.neutral-label) img { | ||||
|     padding: 0.25rem; | ||||
|     border-radius: 0.25rem; | ||||
|     background: var(--low-interaction-background); | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label) svg path { | ||||
|     transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.no-image-background):not(.neutral-label) svg path { | ||||
|     fill: var(--catch-detail-foregroundcolor) !important; | ||||
| } | ||||
| 
 | ||||
| label.checked:not(.neutral-label) { | ||||
|     border: 2px solid var(--foreground-color); | ||||
| } | ||||
| 
 | ||||
| .links-w-full a:not(.weblate-link) { | ||||
|     display: flex; | ||||
|  | @ -406,6 +362,56 @@ select:hover { | |||
|     border-color: var(--catch-detail-color-contrast); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .neutral-label{ | ||||
|     /** This label styles as normal text. It's power comes from the many :not(.neutral-label) entries. | ||||
|      * Placed here for autocompletion | ||||
|      */ | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label):not(.button) { | ||||
|     /** | ||||
|      * Label should _contain_ the input element | ||||
|      */ | ||||
|     border: 2px solid var(--interactive-background); | ||||
|     padding: 0.25rem; | ||||
|     padding-right: 0.5rem; | ||||
|     padding-left: 0.5rem; | ||||
|     border-radius: 0.5rem; | ||||
|     background-color: var(--low-interaction-background); | ||||
|     width: 100%; | ||||
|     box-sizing: border-box; | ||||
|     transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label.button { | ||||
|     width: 100%; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.neutral-label) { | ||||
|     background-color: var(--catch-detail-color); | ||||
|     color: var(--catch-detail-foregroundcolor); | ||||
|     border: 2px solid var(--interactive-contrast) | ||||
| } | ||||
| 
 | ||||
| label:not(.no-image-background):not(.neutral-label) img { | ||||
|     padding: 0.25rem; | ||||
|     border-radius: 0.25rem; | ||||
|     background: var(--low-interaction-background); | ||||
| } | ||||
| 
 | ||||
| label:not(.neutral-label) svg path { | ||||
|     transition: all 250ms; | ||||
| } | ||||
| 
 | ||||
| label:hover:not(.no-image-background):not(.neutral-label) svg path { | ||||
|     fill: var(--catch-detail-foregroundcolor) !important; | ||||
| } | ||||
| 
 | ||||
| label.checked:not(.neutral-label) { | ||||
|     border: 2px solid var(--foreground-color); | ||||
| } | ||||
| 
 | ||||
| /************************* OTHER CATEGORIES ********************************/ | ||||
| 
 | ||||
| /** | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue