diff --git a/src/cards/CategoryCard.svelte b/src/cards/CategoryCard.svelte index 1b9c1f2ff9f261522e7ba9ee1cfd92aaaad68d22..80a8e61594b429f8665c2770a6cbe42101b9a5c6 100644 --- a/src/cards/CategoryCard.svelte +++ b/src/cards/CategoryCard.svelte @@ -1,11 +1,13 @@ <script lang="ts"> + import { getContext } from 'svelte' import Ripple from '@smui/ripple' import Card, { Content } from '@smui/card' import CategoryHeading from '../elements/CategoryHeading.svelte' export let category: any - export let urlShowList: string - export let renderHtml: boolean // Attention: to avoid XSS attack vectors use with trusted API sources only + + const context: { [name: string]: any } = getContext('category') + const urlShowList = context.urlShowList </script> <style lang="scss"> @@ -20,7 +22,7 @@ <Card class="aura-card category cat-{category.id}"> <div use:Ripple={{ surface: true }}> <Content class="category-content"> - <CategoryHeading {category} {renderHtml} headingLevel={2} /> + <CategoryHeading headingLevel={2} {category} /> </Content> </div> </Card> diff --git a/src/cards/EpisodeCardBig.svelte b/src/cards/EpisodeCardBig.svelte index 1f1c663911405f26e6d739ed30a8d9bcb77e758e..ddfd12f7b642d1ef5b1c7c36f4ffa9a6a585a7be 100644 --- a/src/cards/EpisodeCardBig.svelte +++ b/src/cards/EpisodeCardBig.svelte @@ -1,4 +1,5 @@ <script> + import { getContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import Card, { Content } from '@smui/card' import LayoutGrid, { Cell } from '@smui/layout-grid' @@ -8,12 +9,14 @@ import EpisodePlayMedia from '../elements/EpisodePlayMedia.svelte' export let embedCbaPlayer = true - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only export let show = undefined export let episode = undefined export let urlShowDetail = undefined export let labelPlay = undefined export let labelLinkArchive = undefined + + const context = getContext('episode') + const renderHtml = context.renderHtml </script> <style lang="scss"> diff --git a/src/cards/EpisodeCardSmall.svelte b/src/cards/EpisodeCardSmall.svelte index a196d25ebffb5686b26d3f1e3862cd0448e563cd..655158013e1fa90dc48f698375ff4366e2c6d025 100644 --- a/src/cards/EpisodeCardSmall.svelte +++ b/src/cards/EpisodeCardSmall.svelte @@ -1,5 +1,5 @@ <script> - import { onMount } from 'svelte' + import { onMount, getContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import Ripple from '@smui/ripple' import Card, { Content } from '@smui/card' @@ -9,7 +9,9 @@ export let episode = undefined export let urlEpisodeDetail = undefined - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + + const context = getContext('episode') + const renderHtml = context.renderHtml /* Initialize the component */ onMount(() => {}) diff --git a/src/cards/HostCardAvatar.svelte b/src/cards/HostCardAvatar.svelte index 905fa7991107572e57a99af548809b75369c8ab7..c541739372967a8202e147df9cdecbd3cbb315a7 100644 --- a/src/cards/HostCardAvatar.svelte +++ b/src/cards/HostCardAvatar.svelte @@ -1,12 +1,15 @@ <script> + import { getContext } from 'svelte' import Ripple from '@smui/ripple' import Card, { Media } from '@smui/card' import Display from '../common/Display.svelte' export let host = undefined export let urlHostDetail = undefined - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only export let displayOverlay = false + + const context = getContext('host') + const renderHtml = context.renderHtml </script> <style lang="scss"> diff --git a/src/cards/HostCardBig.svelte b/src/cards/HostCardBig.svelte index 322851bc6a5182ac41bde2da639320449fce16ac..6ef3c29e20943b10fcbcec6ac896fc334818ef0b 100644 --- a/src/cards/HostCardBig.svelte +++ b/src/cards/HostCardBig.svelte @@ -1,5 +1,5 @@ <script> - import { onMount } from 'svelte' + import { onMount, getContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import Card, { Content } from '@smui/card' import LayoutGrid, { Cell } from '@smui/layout-grid' @@ -8,12 +8,14 @@ import HostCardAvatar from './HostCardAvatar.svelte' import ShowCardSmall from './ShowCardSmall.svelte' - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only export let labelShows = 'Shows' export let host = undefined export let shows = undefined export let urlShowDetail = undefined + const context = getContext('host') + const renderHtml = context.renderHtml + /* Initialize the component */ onMount(() => {}) </script> @@ -98,7 +100,7 @@ <Cell span={4}> <div class="card-cell cell-right"> <div class="card-container detail"> - <HostCardAvatar {host} {renderHtml} /> + <HostCardAvatar {host} /> </div> </div> </Cell> @@ -110,7 +112,7 @@ <h2>{labelShows}</h2> <div class="show-list-small card-container list contained"> {#each shows as show} - <ShowCardSmall {show} {urlShowDetail} {renderHtml} /> + <ShowCardSmall {show} {urlShowDetail} /> {/each} </div> </div> diff --git a/src/cards/NowPlayingCard.svelte b/src/cards/NowPlayingCard.svelte index d6e9b8614126a38c3c0b11eeeb7aafb390a7f17c..9db8180fec305b89913d231b6f21ec9278fef31f 100644 --- a/src/cards/NowPlayingCard.svelte +++ b/src/cards/NowPlayingCard.svelte @@ -1,4 +1,5 @@ <script lang="ts"> + import { getContext } from 'svelte' import Card, { Content } from '@smui/card' import Button, { Icon, Label } from '@smui/button' import { hasEpisodeTitle } from '../common/Common.svelte' @@ -7,8 +8,10 @@ export let episode: { [id: string]: string } = {} export let prefixOnAir: string - export let renderHtml: boolean // Attention: to avoid XSS attack vectors use with trusted API sources only export let callbackButton: Function + + const context: { [name: string]: any } = getContext('player') + const renderHtml: boolean = context.renderHtml </script> <style lang="scss"> diff --git a/src/cards/ShowCardBig.svelte b/src/cards/ShowCardBig.svelte index d07741efad765b0b451ccdf80d4c84e6188355cd..740bc7285bf35d68a049bb7153b50a37f33d1e3a 100644 --- a/src/cards/ShowCardBig.svelte +++ b/src/cards/ShowCardBig.svelte @@ -1,5 +1,5 @@ <script> - import { onMount } from 'svelte' + import { onMount, getContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import LayoutGrid, { Cell } from '@smui/layout-grid' import Card, { Content } from '@smui/card' @@ -11,7 +11,6 @@ import { createEventDispatcher } from 'svelte' const dispatch = createEventDispatcher() - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only export let show = undefined export let episodes = undefined export let urlHostDetail = undefined @@ -25,6 +24,9 @@ export let displayCatIcons = undefined export let displayLangIcons = undefined + const context = getContext('show') + const renderHtml = context.renderHtml + function eventShowMore() { dispatch('showMore') } @@ -178,7 +180,6 @@ <HostCardAvatar {host} {urlHostDetail} - {renderHtml} displayOverlay={true} /> {/each} </div> @@ -201,8 +202,7 @@ <span class={episode.isCurrent ? 'highlight' : ''}> <EpisodeCardSmall {episode} - urlEpisodeDetail={urlEpisodeDetail + episode.id} - {renderHtml} /> + urlEpisodeDetail={urlEpisodeDetail + episode.id} /> </span> {/each} {:else} diff --git a/src/cards/ShowCardMedium.svelte b/src/cards/ShowCardMedium.svelte index 6fdc219ef021d10e37dd16c002359ab6e8c39227..0e34920bb5712ab7a3c2b44b8200d9b5122e9b0e 100644 --- a/src/cards/ShowCardMedium.svelte +++ b/src/cards/ShowCardMedium.svelte @@ -1,12 +1,14 @@ <script> - import { onMount } from 'svelte' + import { onMount, getContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import Card, { Content, PrimaryAction, Media } from '@smui/card' import Display from '../common/Display.svelte' export let show = undefined export let urlShowDetail = undefined - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + + const context = getContext('show') + const renderHtml = context.renderHtml /* Initialize the component */ onMount(() => {}) diff --git a/src/cards/ShowCardSmall.svelte b/src/cards/ShowCardSmall.svelte index fd1bb238a509a2c0e5612201441456acebcdbe64..34c7a087e3f3901b2df7744d2aaeb5e933e28362 100644 --- a/src/cards/ShowCardSmall.svelte +++ b/src/cards/ShowCardSmall.svelte @@ -1,15 +1,16 @@ <script> - import { onMount } from 'svelte' + import { onMount, getContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import Ripple from '@smui/ripple' import Card, { Content, Media } from '@smui/card' import LayoutGrid, { Cell } from '@smui/layout-grid' - import Display from '../common/Display.svelte' export let show = undefined export let urlShowDetail = undefined - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + + const context = getContext('show') + const renderHtml = context.renderHtml /* Initialize the component */ onMount(() => {}) diff --git a/src/cards/TimeslotCard.svelte b/src/cards/TimeslotCard.svelte index affc775e18d62bb0e3f9574f35a956dd4e8e04ed..f94e5022633b449b30033c69b41203d365e57ca1 100644 --- a/src/cards/TimeslotCard.svelte +++ b/src/cards/TimeslotCard.svelte @@ -1,5 +1,5 @@ <script> - import { onMount } from 'svelte' + import { onMount, getContext } from 'svelte' import Ripple from '@smui/ripple' import Card from '@smui/card' import LayoutGrid, { Cell } from '@smui/layout-grid' @@ -19,7 +19,9 @@ export let displayCatTitle = undefined export let displayCatIcons = undefined export let displayLangIcons = undefined - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + + const context = getContext('programme') + const renderHtml = context.renderHtml let isActive = false diff --git a/src/components/CategoryList.svelte b/src/components/CategoryList.svelte index 8dd5b24466d0cca1c18b474721b5bde6bbde5abf..d6343e34df3208fc754a6e778f5d3d8e81cfb442 100644 --- a/src/components/CategoryList.svelte +++ b/src/components/CategoryList.svelte @@ -1,14 +1,18 @@ <script lang="ts"> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import { settings, fetchApi, shuffle } from '../common/Common.svelte' import CategoryCard from '../cards/CategoryCard.svelte' export let categoriesToDisplay: [] // Default: Display all categories export let shuffleCategories: boolean = false - /* Nested props */ export let urlShowList: string - export let renderHtml: boolean = false // Attention: to avoid XSS attack vectors use with trusted API sources only + export let renderHtml: boolean = false + + setContext('category', { + renderHtml: renderHtml, + urlShowList: urlShowList, + }) let categories: any[] @@ -54,7 +58,7 @@ <div class="card-container list"> {#if categories} {#each categories as category} - <CategoryCard {category} {urlShowList} {renderHtml} /> + <CategoryCard {category} /> {/each} {:else} <Spinner /> diff --git a/src/components/EpisodeDetail.svelte b/src/components/EpisodeDetail.svelte index 3b0c4c587fdba1e6e5d275da12162f03aefa3e94..4dc21ed92987bfabcebff6810abed89d7a690cd8 100644 --- a/src/components/EpisodeDetail.svelte +++ b/src/components/EpisodeDetail.svelte @@ -1,16 +1,20 @@ <script> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import { settings, fetchApi } from '../common/Common.svelte' import EpisodeCardBig from '../cards/EpisodeCardBig.svelte' export let episodeId = undefined - /* Nested Component Props */ + export let labelPlay = undefined export let labelLinkArchive = undefined export let urlShowDetail = undefined export let embedCbaPlayer = true - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + export let renderHtml = false + + setContext('episode', { + renderHtml: renderHtml, + }) let episode let show @@ -64,8 +68,7 @@ {urlShowDetail} {labelPlay} {labelLinkArchive} - {embedCbaPlayer} - {renderHtml} /> + {embedCbaPlayer} /> {:else} <Spinner /> {/if} diff --git a/src/components/HostDetail.svelte b/src/components/HostDetail.svelte index 62a3597774e2ba14ef9b4c1735ceacde000dfa03..caa2249b1a2c88829d0be8055c68a29253a761b1 100644 --- a/src/components/HostDetail.svelte +++ b/src/components/HostDetail.svelte @@ -1,15 +1,22 @@ <script> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import { settings, fetchApi } from '../common/Common.svelte' import HostCardBig from '../cards/HostCardBig.svelte' export let hostid = undefined - /* Nested Component Props */ - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + + export let renderHtml = false export let labelShows = undefined export let urlShowDetail = undefined + setContext('host', { + renderHtml: renderHtml, + }) + setContext('show', { + renderHtml: renderHtml, + }) + let host let shows @@ -46,7 +53,7 @@ <div class="card-container detail"> {#if host} - <HostCardBig {host} {shows} {urlShowDetail} {labelShows} {renderHtml} /> + <HostCardBig {host} {shows} {urlShowDetail} {labelShows} /> {:else} <Spinner /> {/if} diff --git a/src/components/HostList.svelte b/src/components/HostList.svelte index f04b2e3c7635ef167ba162b42a6e61f84dd6c468..bfa6993f92209c7a018749e2095ef00d7c4e9d30 100644 --- a/src/components/HostList.svelte +++ b/src/components/HostList.svelte @@ -1,13 +1,11 @@ <script> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import Button, { Label } from '@smui/button' import { settings, fetchApi } from '../common/Common.svelte' import HostCardAvatar from '../cards/HostCardAvatar.svelte' // import Pagination from '../Pagination.svelte' - // export let api = 'https://prog-info.o94.at/api.php' - // export let endpoint = 'hosts' export let urlHostDetail = undefined export let page = 0 export let limit = 300 @@ -21,6 +19,10 @@ // export let pageprev = "Previous page"; // export let pagenext = "Next page"; + setContext('host', { + renderHtml: renderHtml, + }) + let hosts = [] let count let active_hosts @@ -101,11 +103,7 @@ {#if hosts && hosts.length > 0} <div class="card-container list"> {#each hosts as host} - <HostCardAvatar - {urlHostDetail} - {host} - {renderHtml} - displayOverlay={true} /> + <HostCardAvatar {urlHostDetail} {host} displayOverlay={true} /> {/each} </div> {:else} diff --git a/src/components/MediaPlayer.svelte b/src/components/MediaPlayer.svelte index 9c0b42dcb59bcd99d2a3322570f6128c85f3bec3..a3027d1b79faf6b957112932311029ebc63d1383 100644 --- a/src/components/MediaPlayer.svelte +++ b/src/components/MediaPlayer.svelte @@ -1,5 +1,5 @@ <script lang="ts"> - import { onMount, onDestroy } from 'svelte' + import { onMount, onDestroy, setContext } from 'svelte' import { addTrackStore } from '../stores.js' import Spinner from '../common/Spinner.svelte' import MediaPlayerCenter from '../elements/MediaPlayerCenter.svelte' @@ -20,6 +20,10 @@ export var urlShowDetail: string = '/show-detail.html?slug=' export var urlShowList: string = '/show-list.html' + setContext('player', { + renderHtml: renderHtml, + }) + const TABS: Array<{ [id: string]: string }> = [ { id: 'now', icon: 'aura-icon-small icon-now', label: 'Now' }, { @@ -335,8 +339,7 @@ renderLinks={renderProgrammeLinks} {urlEpisodeDetail} {urlShowDetail} - {urlShowList} - {renderHtml} /> + {urlShowList} /> </div> {:else if activeTab && activeTab.id === 'playlist'} <div id="aura-media-player-tab-playlist" class="tab-content"> diff --git a/src/components/NowPlayingWidget.svelte b/src/components/NowPlayingWidget.svelte index 0092c9f13765f682a85212698a8908a9d16e300b..e616b56a805f2225c4cd14ca86416abd28993045 100644 --- a/src/components/NowPlayingWidget.svelte +++ b/src/components/NowPlayingWidget.svelte @@ -16,7 +16,7 @@ </script> <script lang="ts"> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import NowPlayingCard from '../cards/NowPlayingCard.svelte' import { settings, continuousFetch } from '../common/Common.svelte' @@ -26,7 +26,11 @@ 'location=no,height=632,width=344,scrollbars=no,status=no' export let refreshtime: number = 60 export let prefixOnAir: string = 'LIVE' - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + export let renderHtml = false + + setContext('player', { + renderHtml: renderHtml, + }) let episode: { [id: string]: string } = {} @@ -61,11 +65,7 @@ <template> {#if episode} - <NowPlayingCard - {episode} - {prefixOnAir} - {renderHtml} - callbackButton={() => popup()} /> + <NowPlayingCard {episode} {prefixOnAir} callbackButton={() => popup()} /> {:else} <Spinner /> {/if} diff --git a/src/components/Player.svelte b/src/components/Player.svelte index dad3b673f89db8fbc3d255495a7b2ef6ad9824c4..b39ca5fe94a565d5451be9408dce95b13134fd93 100644 --- a/src/components/Player.svelte +++ b/src/components/Player.svelte @@ -1,5 +1,5 @@ <script> - import { onMount, onDestroy } from 'svelte' + import { onMount, onDestroy, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import { customUrl } from '../stores.js' import Display from '../common/Display.svelte' @@ -13,7 +13,11 @@ export let playerwindowsettings = 'location=no,height=350,width=670,scrollbars=no,status=no' export let refreshtime = '60' - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + export let renderHtml = false + + setContext('player', { + renderHtml: renderHtml, + }) let currentShow @@ -155,10 +159,10 @@ aria-describedby="player-description"> <div class="info-wrapper"> <span class="episode-title"> - <Display value={currentShow.name} {renderHtml} /> + <Display value={currentShow.name} /> </span> <span class="episode-info"> - <Display value={currentShow.note_title} {renderHtml} /> + <Display value={currentShow.note_title} /> </span> <span class="track-service"> <span class="current-track">{displayTrack(currentShow)}</span> diff --git a/src/components/Programme.svelte b/src/components/Programme.svelte index d188e4714c8e7fa0e8db29895311876a8c405b83..71412492e934f27f37efd2506c2061e8c354f32c 100644 --- a/src/components/Programme.svelte +++ b/src/components/Programme.svelte @@ -1,5 +1,5 @@ <script> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import { settings, @@ -16,9 +16,9 @@ export let startActive = false export let refreshTime = '60' export let view = 'card' // 'card' or 'paper' - /* Nested Component Props */ + export let renderLinks = true - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + export let renderHtml = false export let displayCatTitle = false export let displayCatIcons = false export let displayLangIcons = false @@ -28,6 +28,10 @@ export let urlDefaultFallbackShow = 'https://o94.at/programm/Musiktracker_in-random-order' + setContext('programme', { + renderHtml: renderHtml, + }) + let programme /* Initialize the component */ @@ -121,8 +125,7 @@ {urlShowList} {displayCatTitle} {displayCatIcons} - {displayLangIcons} - {renderHtml} /> + {displayLangIcons} /> {/each} </div> {:else if view == 'paper'} @@ -131,8 +134,7 @@ {programme} {urlEpisodeDetail} {urlShowDetail} - {renderLinks} - {renderHtml} /> + {renderLinks} /> </div> {:else} <div class="error">Invalid programme view type.</div> diff --git a/src/components/ShowDetail.svelte b/src/components/ShowDetail.svelte index 4ba1f582c7f9d04bd51e90b2a5b8d25841887bd7..4812311ef2d5f26468867c584ee122098f94c38d 100644 --- a/src/components/ShowDetail.svelte +++ b/src/components/ShowDetail.svelte @@ -1,19 +1,16 @@ <script> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import { settings, fetchApi, formatApiDate } from '../common/Common.svelte' import ShowCardBig from '../cards/ShowCardBig.svelte' - // export let api = 'https://prog-info.o94.at/api.php' - // export let endpointShows = 'shows' - // export let endpointEpisodes = 'timeslots' export let showSlug = undefined export let episodeDaysFuture = 360 export let episodeDaysPast = 180 export let maxFutureEpisodes = 8 export let defaultPastEpisodes = 7 - /* Nested Component Props */ - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + + export let renderHtml = false export let displayCatTitle = false export let displayCatIcons = false export let displayLangIcons = false @@ -26,6 +23,16 @@ export let urlShowList = undefined export let radioEpoch = new Date('1998-08-17') + setContext('show', { + renderHtml: renderHtml, + }) + setContext('host', { + renderHtml: renderHtml, + }) + setContext('episode', { + renderHtml: renderHtml, + }) + let endpointShow = settings.api.endpoints.show let endpointEpisode = settings.api.endpoints.episode let tmp_show // FIXME Workaround for current API limitations: It's not possible to fetch everything in one request (see below) @@ -165,7 +172,6 @@ {labelEpisodes} {labelCurrentNone} {labelShowMore} - {renderHtml} {hasMoreEpisodes} {displayCatTitle} {displayCatIcons} diff --git a/src/components/ShowList.svelte b/src/components/ShowList.svelte index 523905fab3797a94c1a06c4ee3400efe47cf8f23..9c7da137c66d3a3e237d362fd179b33cae4a3a29 100644 --- a/src/components/ShowList.svelte +++ b/src/components/ShowList.svelte @@ -1,5 +1,5 @@ <script> - import { onMount } from 'svelte' + import { onMount, setContext } from 'svelte' import Spinner from '../common/Spinner.svelte' import Select, { Option } from '@smui/select' import { settings, fetchApi } from '../common/Common.svelte' @@ -13,8 +13,14 @@ export let language = undefined export let labelAllShows = 'All shows' export let enableCategoryDropdown = false - /* Nested Component Props */ - export let renderHtml = false // Attention: to avoid XSS attack vectors use with trusted API sources only + export let renderHtml = false + + setContext('show', { + renderHtml: renderHtml, + }) + setContext('category', { + renderHtml: renderHtml, + }) let query let shows @@ -134,11 +140,7 @@ <template> <div class="show-overview"> {#if selectedCat} - <CategoryHeading - category={selectedCat} - {language} - {renderHtml} - headingLevel={1} /> + <CategoryHeading category={selectedCat} {language} headingLevel={1} /> {/if} {#if allCategories && enableCategoryDropdown} @@ -156,7 +158,7 @@ <div class="card-container list"> {#if shows} {#each shows as show} - <ShowCardMedium {show} {urlShowDetail} {renderHtml} /> + <ShowCardMedium {show} {urlShowDetail} /> {/each} {:else} <Spinner /> diff --git a/src/elements/CategoryHeading.svelte b/src/elements/CategoryHeading.svelte index 536d0018f854977ec42c6161eb52dc23aa4be782..dcdb2cc9a47d3c14ddb51180c3376b2c762dec85 100644 --- a/src/elements/CategoryHeading.svelte +++ b/src/elements/CategoryHeading.svelte @@ -1,11 +1,14 @@ <script lang="ts"> + import { getContext } from 'svelte' import Display from '../common/Display.svelte' // import HeadingTag from './HeadingTag.svelte' export let category: { [name: string]: any } export let language: string = '' export let headingLevel: number = 1 - export let renderHtml: boolean + + const categoryContext: { [name: string]: any } = getContext('category') + const renderHtml: boolean = categoryContext.renderHtml </script> <style lang="scss">