2021-08-30 10:46:18 +00:00
|
|
|
<script context="module">
|
|
|
|
import { get_store_value } from 'svelte/internal';
|
|
|
|
|
|
|
|
import { themes } from '../../stores/themes.js';
|
|
|
|
|
2021-10-22 08:14:39 +00:00
|
|
|
export async function load({ page, fetch, session, stuff }) {
|
2021-08-30 10:46:18 +00:00
|
|
|
const thms = get_store_value(themes);
|
|
|
|
|
|
|
|
let theme = null;
|
|
|
|
for (let th in thms) {
|
2021-08-31 23:42:56 +00:00
|
|
|
if (thms[th] && thms[th].urlid === page.params.theme) {
|
2021-08-30 10:46:18 +00:00
|
|
|
theme = thms[th];
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
2021-10-22 08:14:39 +00:00
|
|
|
stuff: {
|
|
|
|
...stuff,
|
2021-08-30 10:46:18 +00:00
|
|
|
theme: theme,
|
|
|
|
}, props: {
|
|
|
|
theme: theme,
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import {
|
|
|
|
Container,
|
|
|
|
} from 'sveltestrap';
|
|
|
|
|
|
|
|
import { settings } from '../../stores/settings.js';
|
|
|
|
|
2021-08-31 23:42:56 +00:00
|
|
|
export let theme;
|
2021-08-30 10:46:18 +00:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<svelte:head>
|
2021-08-31 23:42:56 +00:00
|
|
|
<title>{theme?theme.name:""} - {$settings.title}</title>
|
2021-08-30 10:46:18 +00:00
|
|
|
</svelte:head>
|
|
|
|
|
|
|
|
{#if theme}
|
|
|
|
<div style="background-image: url({theme.image})" class="page-header">
|
|
|
|
<Container class="text-primary">
|
|
|
|
<h1 class="display-2">
|
2021-09-01 09:20:41 +00:00
|
|
|
<a href="{theme.urlid}">{theme.name}</a>
|
2021-08-30 10:46:18 +00:00
|
|
|
</h1>
|
|
|
|
<h2>{@html theme.authors}</h2>
|
|
|
|
</Container>
|
|
|
|
<div class="headerfade"></div>
|
|
|
|
</div>
|
|
|
|
{/if}
|
|
|
|
<Container>
|
|
|
|
<slot></slot>
|
|
|
|
</Container>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
.page-header {
|
|
|
|
background-size: cover;
|
|
|
|
background-position: center;
|
|
|
|
margin-bottom: -15rem;
|
|
|
|
}
|
|
|
|
.page-header h1 {
|
|
|
|
text-shadow: 0 0 15px rgba(255,255,255,0.95), 0 0 5px rgb(255,255,255)
|
|
|
|
}
|
|
|
|
.page-header h1, .page-header h1 a {
|
|
|
|
color: black;
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
.page-header h2 {
|
|
|
|
font-size: 100%;
|
|
|
|
text-shadow: 1px 1px 1px rgba(0,0,0,0.9)
|
|
|
|
}
|
|
|
|
.page-header h2, .page-header h2 a {
|
|
|
|
color: #4eaee6;
|
|
|
|
}
|
|
|
|
.page-header h2 a:hover {
|
|
|
|
text-decoration: underline;
|
|
|
|
}
|
|
|
|
.page-header h1 {
|
|
|
|
padding-top: 4rem;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
.page-header h2 {
|
|
|
|
padding-bottom: 14rem;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.page-header .headerfade {
|
|
|
|
background: linear-gradient(transparent 0%, rgb(233,236,239) 100%);
|
|
|
|
height: 3rem;
|
|
|
|
}
|
|
|
|
</style>
|