forked from MapComplete/MapComplete
		
	Small tweaks to attribution panel
This commit is contained in:
		
							parent
							
								
									c78f8f6cdc
								
							
						
					
					
						commit
						d072552043
					
				
					 7 changed files with 27 additions and 56 deletions
				
			
		|  | @ -9,6 +9,7 @@ import {Utils} from "../../Utils"; | |||
| export default class LayoutConfig { | ||||
|     public readonly id: string; | ||||
|     public readonly maintainer: string; | ||||
|     public readonly credits?: string; | ||||
|     public readonly changesetmessage?: string; | ||||
|     public readonly version: string; | ||||
|     public readonly language: string[]; | ||||
|  | @ -48,6 +49,7 @@ export default class LayoutConfig { | |||
|         this.id = json.id; | ||||
|         context = (context ?? "") + "." + this.id; | ||||
|         this.maintainer = json.maintainer; | ||||
|         this.credits = json.credits; | ||||
|         this.changesetmessage = json.changesetmessage; | ||||
|         this.version = json.version; | ||||
|         this.language = []; | ||||
|  |  | |||
|  | @ -24,6 +24,12 @@ export interface LayoutConfigJson { | |||
|      * 'cyclestreets' which become 'cyclestreets.html' | ||||
|      */ | ||||
|     id: string; | ||||
| 
 | ||||
|     /** | ||||
|      * Who helped to create this theme and should be attributed? | ||||
|      */ | ||||
|     credits?: string; | ||||
|      | ||||
|     /** | ||||
|      * Who does maintian this preset? | ||||
|      */ | ||||
|  |  | |||
|  | @ -297,7 +297,7 @@ export class InitUiElements { | |||
|                 copyrightNotice, | ||||
|                 new MapControlButton(Svg.osm_copyright_svg()), | ||||
|                 copyrightNotice.isShown | ||||
|             ).SetClass("p-0.5 md:hidden") | ||||
|             ).SetClass("p-0.5") | ||||
| 
 | ||||
|             new Combine([copyrightButton, checkbox]) | ||||
|                 .AttachTo("bottom-left"); | ||||
|  |  | |||
							
								
								
									
										56
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										56
									
								
								README.md
									
										
									
									
									
								
							|  | @ -142,49 +142,9 @@ Whenever a change is made -even adding a single tag- the change is uploaded into | |||
| 
 | ||||
| Note that changesets are closed automatically after one hour of inactivity, so we don't have to worry about closing them.  | ||||
| 
 | ||||
| ### Query parameters | ||||
| # Documentation | ||||
| 
 | ||||
| By adding extra query parameters, more options are available to influence: | ||||
| 
 | ||||
| **test**: If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the console instead of actually uploaded to osm.org (default value: _false_) | ||||
| 
 | ||||
| **layout**: The layout to load into MapComplete (default value: _bookcases_) | ||||
| 
 | ||||
| **userlayout**: undefined (default value: _false_) | ||||
| 
 | ||||
| **layer-control-toggle**: Wether or not the layer control is shown (default value: _false_) | ||||
| 
 | ||||
| **tab**: The tab that is shown in the welcome-message. 0 = the explanation of the theme,1 = OSM-credits, 2 = sharescreen, 3 = more themes, 4 = about mapcomplete (user must be logged in and have >200 changesets) (default value: _0_) | ||||
| 
 | ||||
| **z**: The initial/current zoom level (default value: _1_) | ||||
| 
 | ||||
| **lat**: The initial/current latitude (default value: _0_) | ||||
| 
 | ||||
| **lon**: The initial/current longitude of the app (default value: _0_) | ||||
| 
 | ||||
| **fs-userbadge**: Disables/Enables the userbadge (and thus disables login capabilities) (default value: _true_) | ||||
| 
 | ||||
| **fs-search**: Disables/Enables the search bar (default value: _true_) | ||||
| 
 | ||||
| **fs-layers**: Disables/Enables the layer control (default value: _true_) | ||||
| 
 | ||||
| **fs-add-new**: Disables/Enables the 'add new feature'-popup. (A theme without presets might not have it in the first place) (default value: _true_) | ||||
| 
 | ||||
| **fs-welcome-message**: undefined (default value: _true_) | ||||
| 
 | ||||
| **fs-iframe**: Disables/Enables the iframe-popup (default value: _false_) | ||||
| 
 | ||||
| **fs-more-quests**: Disables/Enables the 'More Quests'-tab in the welcome message (default value: _true_) | ||||
| 
 | ||||
| **fs-share-screen**: Disables/Enables the 'Share-screen'-tab in the welcome message (default value: _true_) | ||||
| 
 | ||||
| **fs-geolocation**: Disables/Enables the geolocation button (default value: _true_) | ||||
| 
 | ||||
| **oauth_token**: Used to complete the login (default value: _undefined_) | ||||
| 
 | ||||
| **background**: The id of the background layer to start with (default value: _undefined_) | ||||
| 
 | ||||
| **layer-bookcases**: Wehter or not layer bookcases is shown (default value: _true_) index.ts:104:8 | ||||
| All documentation can be found in [here](Docs/) | ||||
| 
 | ||||
| # Privacy | ||||
| 
 | ||||
|  | @ -195,12 +155,16 @@ Geolocation is available on mobile only throught hte device's GPS location (so n | |||
| TODO: erase cookies of third party websites and API's | ||||
| 
 | ||||
| 
 | ||||
| # Attributions | ||||
| # Attribution | ||||
| 
 | ||||
| Data from OpenStreetMap | ||||
| 
 | ||||
| Background layer selection: curated by https://github.com/osmlab/editor-layer-index | ||||
| 
 | ||||
| Icons are attributed in various 'license_info.json'-files and can be found in the app. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| https://commons.wikimedia.org/wiki/File:Camera_font_awesome.svg | ||||
| Camera Icon, Dave Gandy, CC-BY-SA 3.0 | ||||
| 
 | ||||
|  | @ -212,11 +176,5 @@ Bicycle logo,  	Scott de Jonge | |||
| 
 | ||||
| Park icon via http://www.onlinewebfonts.com/icon/425974, CC BY 3.0 (@sterankofrank) | ||||
| 
 | ||||
| Forest icon via https://www.onlinewebfonts.com/icon/498112, CC BY | ||||
| 
 | ||||
| Shower icon (used in 'bike_cleaning.svg'): | ||||
| https://commons.wikimedia.org/wiki/File:Shower_symbol.svg | ||||
| 
 | ||||
| Bench icons from StreetComplete: https://github.com/westnordost/StreetComplete/tree/v25.0-beta1/res/graphics/quest%20icons, GPLv3.0 | ||||
| 
 | ||||
| Urinal icon: https://thenounproject.com/term/urinal/1307984/ | ||||
|  | @ -21,7 +21,9 @@ export default class AttributionPanel extends Combine { | |||
|     constructor(layoutToUse: UIEventSource<LayoutConfig>) { | ||||
|         super([ | ||||
|             Translations.t.general.attribution.attributionContent, | ||||
|             Translations.t.general.attribution.themeBy.Subs({author: layoutToUse.data.maintainer}), | ||||
| 
 | ||||
|             ((layoutToUse.data.maintainer ?? "") == "") ? "" : Translations.t.general.attribution.themeBy.Subs({author: layoutToUse.data.maintainer}), | ||||
|             layoutToUse.data.credits , | ||||
|             "<br/>", | ||||
|             new Attribution(undefined, undefined, State.state.layoutToUse, undefined), | ||||
|             "<br/>", | ||||
|  | @ -50,7 +52,7 @@ export default class AttributionPanel extends Combine { | |||
|             new Combine([ | ||||
|                 new FixedUiElement(license.authors.join("; ")).SetClass("font-bold"), | ||||
|                 new Combine([license.license,  license.sources.length > 0 ? " - " : "",  | ||||
|                     ...license.sources.map(link => `<a href='${link}'>${new URL(link).hostname}</a> `)]).SetClass("block") | ||||
|                     ...license.sources.map(link => `<a href='${link}' target="_blank">${new URL(link).hostname}</a> `)]).SetClass("block") | ||||
|             ]).SetClass("flex flex-col") | ||||
|         ]).SetClass("flex") | ||||
|     } | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 175 KiB | 
|  | @ -28,7 +28,6 @@ function readDirRecSync(path): string[] { | |||
| function generateLicenseInfos(paths: string[]): SmallLicense[] { | ||||
|     const licenses = [] | ||||
|     for (const path of paths) { | ||||
|         console.log("Reading info from " + path) | ||||
|         const parsed = JSON.parse(readFileSync(path, "UTF-8")) | ||||
|         if (Array.isArray(parsed)) { | ||||
|             const l: SmallLicense[] = parsed | ||||
|  | @ -166,7 +165,7 @@ writeFileSync("./assets/generated/license_info.json", JSON.stringify(licenseInfo | |||
| const artwork = contents.filter(pth => pth.match(/(.svg|.png|.jpg)$/i) != null) | ||||
| const missingLicenses = missingLicenseInfos(licenseInfos, artwork) | ||||
| 
 | ||||
| console.log(`There are ${missingLicenses.length} licenses missing.`) | ||||
| console.log(`There are ${missingLicenses.length} licenses missing.`, missingLicenses) | ||||
| 
 | ||||
| // shuffle(missingLicenses)
 | ||||
| 
 | ||||
|  | @ -178,6 +177,10 @@ process.on('SIGINT', function() { | |||
| let i = 1; | ||||
| for (const missingLicens of missingLicenses) { | ||||
|     console.log(i + " / " + missingLicenses.length) | ||||
|     createLicenseInfoFor(missingLicens) | ||||
|     i++; | ||||
|     if(i < missingLicenses.length - 5){ | ||||
|     //    continue
 | ||||
|     } | ||||
|     createLicenseInfoFor(missingLicens) | ||||
|      | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue