~james/core

core/web/src/lib/components/moderation/ModerationNotice.svelte -rw-r--r-- 603 bytes
452f17b7 — james chore(import): snapshot james.dad.town/core at f70c71c7696a 15 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script lang="ts">
	import type { ComponentProps } from "svelte";
	import HiddenContent from "#lib/components/ui/HiddenContent.svelte";
	import {
		moderationMessage,
		type ModerationGate
	} from "#lib/components/moderation/gate.svelte.ts";

	type Props = Omit<ComponentProps<typeof HiddenContent>, "message" | "action"> & {
		gate: ModerationGate;
	};

	let { gate, ...rest }: Props = $props();
</script>

{#if gate.moderation}
	<HiddenContent
		{...rest}
		message={moderationMessage(gate.moderation)}
		action={gate.revealable ? { label: "Show anyway", onclick: gate.reveal } : undefined}
	/>
{/if}