| 
									
										
										
										
											2023-01-29 13:10:57 +01:00
										 |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2023-02-03 15:13:05 +01:00
										 |  |  |   // A contact link indicates how a mapper can contact their local community | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  |   // The _properties_ of a community feature | 
					
						
							| 
									
										
										
										
											2023-02-03 15:13:05 +01:00
										 |  |  |   import Locale from "../i18n/Locale.js" | 
					
						
							|  |  |  |   import Translations from "../i18n/Translations" | 
					
						
							|  |  |  |   import ToSvelte from "../Base/ToSvelte.svelte" | 
					
						
							|  |  |  |   import * as native from "../../assets/language_native.json" | 
					
						
							|  |  |  |   import { TypedTranslation } from "../i18n/Translation" | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-03 15:13:05 +01:00
										 |  |  |   const availableTranslationTyped: TypedTranslation<{ native: string }> = | 
					
						
							|  |  |  |     Translations.t.communityIndex.available | 
					
						
							|  |  |  |   const availableTranslation = availableTranslationTyped.OnEveryLanguage((s, ln) => | 
					
						
							|  |  |  |     s.replace("{native}", native[ln] ?? ln) | 
					
						
							|  |  |  |   ) | 
					
						
							|  |  |  |   export let country: { resources; nameEn: string } | 
					
						
							|  |  |  |   let resources: { | 
					
						
							|  |  |  |     id: string | 
					
						
							|  |  |  |     resolved: Record<string, string> | 
					
						
							|  |  |  |     languageCodes: string[] | 
					
						
							|  |  |  |     type: string | 
					
						
							|  |  |  |   }[] = [] | 
					
						
							|  |  |  |   $: resources = Array.from(Object.values(country?.resources ?? {})) | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-03 15:13:05 +01:00
										 |  |  |   const language = Locale.language | 
					
						
							| 
									
										
										
										
											2023-01-29 13:10:57 +01:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <div> | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  |   {#if country?.nameEn} | 
					
						
							|  |  |  |     <h3>{country?.nameEn}</h3> | 
					
						
							|  |  |  |   {/if} | 
					
						
							|  |  |  |   {#each resources as resource} | 
					
						
							|  |  |  |     <div class="flex link-underline items-center my-4"> | 
					
						
							|  |  |  |       <img | 
					
						
							|  |  |  |         class="w-8 h-8 m-2" | 
					
						
							| 
									
										
										
										
											2023-02-08 02:08:17 +01:00
										 |  |  |         src={`https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/community_index/${resource.type}.svg`} | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  |       /> | 
					
						
							|  |  |  |       <div class="flex flex-col"> | 
					
						
							|  |  |  |         <a href={resource.resolved.url} target="_blank" rel="noreferrer nofollow" class="font-bold"> | 
					
						
							|  |  |  |           {resource.resolved.name ?? resource.resolved.url} | 
					
						
							|  |  |  |         </a> | 
					
						
							|  |  |  |         {resource.resolved?.description} | 
					
						
							| 
									
										
										
										
											2023-02-03 15:13:05 +01:00
										 |  |  |         {#if resource.languageCodes?.indexOf($language) >= 0} | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  |           <span class="border-2 rounded-full border-lime-500 text-sm w-fit px-2"> | 
					
						
							| 
									
										
										
										
											2023-02-03 15:13:05 +01:00
										 |  |  |             <ToSvelte construct={() => availableTranslation.Clone()} /> | 
					
						
							| 
									
										
										
										
											2023-02-02 17:57:07 +01:00
										 |  |  |           </span> | 
					
						
							|  |  |  |         {/if} | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   {/each} | 
					
						
							| 
									
										
										
										
											2023-01-29 13:10:57 +01:00
										 |  |  | </div> |