2026-02-07 10:22:31 +01:00
|
|
|
|
<script lang="ts">
|
|
|
|
|
|
let {
|
2026-02-16 14:34:30 +01:00
|
|
|
|
ringName,
|
2026-02-07 10:22:31 +01:00
|
|
|
|
ringLink,
|
|
|
|
|
|
prevLink,
|
|
|
|
|
|
nextLink,
|
|
|
|
|
|
randLink,
|
|
|
|
|
|
listLink,
|
|
|
|
|
|
prevSymbol,
|
|
|
|
|
|
nextSymbol,
|
2026-02-21 14:29:48 +01:00
|
|
|
|
highlightEmojiLeft,
|
|
|
|
|
|
highlightEmojiRight,
|
2026-02-07 10:22:31 +01:00
|
|
|
|
}: {
|
2026-02-16 14:34:30 +01:00
|
|
|
|
ringName: string;
|
2026-02-07 10:22:31 +01:00
|
|
|
|
ringLink: string;
|
|
|
|
|
|
prevLink: string;
|
|
|
|
|
|
nextLink: string;
|
|
|
|
|
|
randLink?: string;
|
|
|
|
|
|
listLink?: string;
|
|
|
|
|
|
prevSymbol: string;
|
|
|
|
|
|
nextSymbol: string;
|
2026-02-21 14:29:48 +01:00
|
|
|
|
|
|
|
|
|
|
// Emoji to be used as highlight next to the title
|
|
|
|
|
|
highlightEmojiLeft: string;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Emoji to be used as highlight to the right of the title. If
|
|
|
|
|
|
* not set, will default to highlightEmojiLeft.
|
|
|
|
|
|
*/
|
|
|
|
|
|
highlightEmojiRight?: string;
|
2026-02-07 10:22:31 +01:00
|
|
|
|
} = $props();
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="webring-container">
|
|
|
|
|
|
<div class="webring-row">
|
|
|
|
|
|
<span>〔</span>
|
2026-02-21 14:29:48 +01:00
|
|
|
|
<a href="{ringLink}">{highlightEmojiLeft} {ringName} {highlightEmojiRight ?? highlightEmojiLeft}</a>
|
2026-02-07 10:22:31 +01:00
|
|
|
|
<span>〕</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="webring-row">
|
|
|
|
|
|
<span>〔</span>
|
2026-02-16 14:34:30 +01:00
|
|
|
|
<a href="{prevLink}">{prevSymbol} prev</a>
|
2026-02-07 10:22:31 +01:00
|
|
|
|
{#if randLink}
|
2026-02-16 14:34:30 +01:00
|
|
|
|
<a href="{randLink}">rand</a>
|
2026-02-07 10:22:31 +01:00
|
|
|
|
{/if}
|
|
|
|
|
|
{#if listLink}
|
2026-02-16 14:34:30 +01:00
|
|
|
|
<a href="{listLink}">list</a>
|
2026-02-07 10:22:31 +01:00
|
|
|
|
{/if}
|
2026-02-16 14:34:30 +01:00
|
|
|
|
<a href="{nextLink}">next {nextSymbol}</a>
|
2026-02-07 10:22:31 +01:00
|
|
|
|
<span>〕</span>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
|
.webring-container {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
width: fit-content;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
align-items: center;
|
2026-02-16 14:34:30 +01:00
|
|
|
|
margin: 0 4px;
|
2026-02-07 10:22:31 +01:00
|
|
|
|
}
|
|
|
|
|
|
a {
|
|
|
|
|
|
margin: 0 4px;
|
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
|
font-size: 1.0rem;
|
|
|
|
|
|
line-height: 1.4rem;
|
2026-02-16 14:34:30 +01:00
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
/* border: var(--border-width); */
|
2026-03-07 13:43:38 +01:00
|
|
|
|
transition: color var(--duration-animation) var(--anim-curve),
|
|
|
|
|
|
font-weight var(--duration-animation) var(--anim-curve);
|
|
|
|
|
|
/* border-color var(--duration-animation) var(--anim-curve); */
|
2026-02-07 10:22:31 +01:00
|
|
|
|
}
|
|
|
|
|
|
a:link, a:visited, span {
|
|
|
|
|
|
color: var(--color-highlight);
|
|
|
|
|
|
}
|
|
|
|
|
|
a:hover {
|
|
|
|
|
|
color: var(--color-highlight-alt);
|
2026-02-16 14:34:30 +01:00
|
|
|
|
text-decoration: inherit;
|
2026-02-07 10:22:31 +01:00
|
|
|
|
}
|
|
|
|
|
|
.webring-row {
|
|
|
|
|
|
font-family: var(--font-mono);
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
}
|
|
|
|
|
|
span {
|
|
|
|
|
|
margin: 0;
|
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
font-size: 1.0rem;
|
|
|
|
|
|
line-height: 1.4rem;
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|