| 
									
										
										
										
											2023-04-21 16:02:36 +02:00
										 |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2023-09-21 15:29:34 +02:00
										 |  |  |   import type { FullWikipediaDetails } from "../../Logic/Web/Wikipedia" | 
					
						
							|  |  |  |   import { Store } from "../../Logic/UIEventSource" | 
					
						
							|  |  |  |   import FromHtml from "../Base/FromHtml.svelte" | 
					
						
							|  |  |  |   import Loading from "../Base/Loading.svelte" | 
					
						
							|  |  |  |   import { Disclosure, DisclosureButton, DisclosurePanel } from "@rgossiaux/svelte-headlessui" | 
					
						
							|  |  |  |   import { ChevronRightIcon } from "@rgossiaux/svelte-heroicons/solid" | 
					
						
							|  |  |  |   import ToSvelte from "../Base/ToSvelte.svelte" | 
					
						
							|  |  |  |   import WikidataPreviewBox from "./WikidataPreviewBox" | 
					
						
							|  |  |  |   import Tr from "../Base/Tr.svelte" | 
					
						
							|  |  |  |   import Translations from "../i18n/Translations" | 
					
						
							| 
									
										
										
										
											2023-04-21 16:02:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   /** | 
					
						
							| 
									
										
										
										
											2023-09-20 01:47:32 +02:00
										 |  |  |    * Shows a wikipedia-article + wikidata preview for the given item | 
					
						
							| 
									
										
										
										
											2023-04-21 16:02:36 +02:00
										 |  |  |    */ | 
					
						
							| 
									
										
										
										
											2023-09-21 15:29:34 +02:00
										 |  |  |   export let wikipediaDetails: Store<FullWikipediaDetails> | 
					
						
							| 
									
										
										
										
											2023-04-21 16:02:36 +02:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-19 14:29:11 +02:00
										 |  |  | {#if $wikipediaDetails.articleUrl} | 
					
						
							|  |  |  |   <a class="flex" href={$wikipediaDetails.articleUrl} rel="noreferrer" target="_blank"> | 
					
						
							|  |  |  |     <img class="h-6 w-6" src="./assets/svg/wikipedia.svg" /> | 
					
						
							|  |  |  |     <Tr t={Translations.t.general.wikipedia.fromWikipedia} /> | 
					
						
							|  |  |  |   </a> | 
					
						
							|  |  |  | {/if} | 
					
						
							| 
									
										
										
										
											2023-09-20 01:47:32 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-21 16:02:36 +02:00
										 |  |  | {#if $wikipediaDetails.wikidata} | 
					
						
							|  |  |  |   <ToSvelte construct={WikidataPreviewBox.WikidataResponsePreview($wikipediaDetails.wikidata)} /> | 
					
						
							|  |  |  | {/if} | 
					
						
							| 
									
										
										
										
											2023-09-20 01:47:32 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-19 14:29:11 +02:00
										 |  |  | {#if $wikipediaDetails.articleUrl} | 
					
						
							|  |  |  |   {#if $wikipediaDetails.firstParagraph === "" || $wikipediaDetails.firstParagraph === undefined} | 
					
						
							|  |  |  |     <Loading> | 
					
						
							|  |  |  |       <Tr t={Translations.t.general.wikipedia.loading} /> | 
					
						
							|  |  |  |     </Loading> | 
					
						
							|  |  |  |   {:else} | 
					
						
							| 
									
										
										
										
											2023-09-28 23:50:27 +02:00
										 |  |  |     <span class="wikipedia-article"> | 
					
						
							|  |  |  |       <FromHtml src={$wikipediaDetails.firstParagraph} /> | 
					
						
							|  |  |  |       <Disclosure let:open> | 
					
						
							|  |  |  |         <DisclosureButton> | 
					
						
							|  |  |  |           <span class="flex"> | 
					
						
							|  |  |  |             <ChevronRightIcon | 
					
						
							|  |  |  |               style={(open ? "transform: rotate(90deg); " : "") + | 
					
						
							|  |  |  |                 "  transition: all .25s linear; width: 1.5rem; height: 1.5rem"} | 
					
						
							|  |  |  |             /> | 
					
						
							|  |  |  |             <Tr t={Translations.t.general.wikipedia.readMore} /> | 
					
						
							|  |  |  |           </span> | 
					
						
							|  |  |  |         </DisclosureButton> | 
					
						
							|  |  |  |         <DisclosurePanel> | 
					
						
							|  |  |  |           <FromHtml src={$wikipediaDetails.restOfArticle} /> | 
					
						
							|  |  |  |         </DisclosurePanel> | 
					
						
							|  |  |  |       </Disclosure> | 
					
						
							|  |  |  |     </span> | 
					
						
							| 
									
										
										
										
											2023-09-19 14:29:11 +02:00
										 |  |  |   {/if} | 
					
						
							| 
									
										
										
										
											2023-04-21 16:02:36 +02:00
										 |  |  | {/if} |