All files / lib seo.svelte.js

0% Statements 0/5
0% Branches 0/6
0% Functions 0/3
0% Lines 0/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                                                 
import { uiState } from './state.svelte';
 
/**
 *
 * @param {object} options
 * @param {string} options.title
 */
export function seo({ title }) {
	effectIfNeeded(() => {
		const suffix = uiState.currentSession?.name ?? 'C.I.G.A.L.E.';
 
		document.title = title
			? /* @wc-include */ `${title} ยท ${suffix}`
			: /* @wc-include */ suffix;
	});
}
 
/**
 *
 * @param {() => unknown} fn
 * @returns
 */
function effectIfNeeded(fn) {
	if ($effect.tracking()) {
		fn();
		return;
	}
 
	$effect(() => {
		fn();
	});
}