your personal website on atproto - mirror
blento.app
1<script lang="ts">
2 import type { WebsiteData } from '$lib/types';
3 import type { Snippet } from 'svelte';
4 import { setAdditionalUserData, setCanEdit, setDidContext, setHandleContext } from './context';
5 import { dev } from '$app/environment';
6 import { user } from '$lib/atproto';
7 import type { Did, Handle } from '@atcute/lexicons';
8
9 let {
10 data,
11 children,
12 isEditing
13 }: {
14 data: WebsiteData;
15 children: Snippet<[]>;
16 isEditing?: boolean;
17 } = $props();
18
19 // svelte-ignore state_referenced_locally
20 setAdditionalUserData(data.additionalData);
21
22 setCanEdit(
23 () => dev || (user.isLoggedIn && user.profile?.did === data.did && isEditing === true)
24 );
25
26 // svelte-ignore state_referenced_locally
27 setDidContext(data.did as Did);
28 // svelte-ignore state_referenced_locally
29 setHandleContext(data.handle as Handle);
30</script>
31
32{@render children()}